
    "h                     n    d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZe j                  d        Z	d Z
y)    Nc               #   2  K   t         j                  t         j                  }} t        j                         t        j                         ct         _        t         _        	 d  | |ct         _        t         _        y # | |ct         _        t         _        w xY wwN)sysstdoutstderrioStringIO)
old_stdout
old_stderrs     Q/var/www/html/sandstorm/venv/lib/python3.12/site-packages/triton/runtime/build.pyquietr      s[      ZZ
J[[]BKKMCJ
8!+Z
CJZ
CJs   ABA; #B;BBc           
      v   t        j                  d      }t        j                  j	                  |dj                  | |            }t        j                  j                  d      }|=t        j                  d      }	t        j                  d      }
|
|
n|	}|t        d      t        t         d      rt        j                         }nt        j                         }|d	k(  rd
}t        j                  |      d   }t        d dD              }|||g|z   }||ddddd|g}||D cg c]  }d| 	 c}z  }||D cg c]  }d| 	 c}z  }||D cg c]
  }|d|  c}z  }t!        j"                  |      }|dk(  r|S g }g }t%        j&                  | d|g||dgz   |||      }dg}|j)                  d|z          |j)                  d|z          |j)                  d       t+        | |g|      }t-               5  t%        j.                  di | d d d        |S c c}w c c}w c c}w # 1 sw Y   |S xY w) N
EXT_SUFFIXz{name}{suffix})namesuffixCCclanggcczFFailed to find C compiler. Please specify via CC environment variable.get_default_schemeposix_localposix_prefix)schemeincludec              3   F   K   | ]  }t        j                  |        y wr   )osgetenv).0vars     r   	<genexpr>z_build.<locals>.<genexpr>+   s     fbiinfs   !)TRITON_CUDACRT_PATHTRITON_CUDART_PATHz-O3z-sharedz-fPICz
-Wno-psabiz-oz-lz-Lz-Ir   c)r   languagesourcesinclude_dirsextra_compile_argsextra_link_argslibrary_dirs	libraries	build_extz--build-temp=z--build-lib=z-q)r   ext_modulesscript_args )	sysconfigget_config_varr   pathjoinformatenvirongetshutilwhichRuntimeErrorhasattrr   _get_default_scheme	get_pathsset
subprocess
check_call
setuptools	Extensionappenddictr   setup)r   srcsrcdirr(   r%   r)   r   soccr   r   r   py_include_dircustom_backend_dirscc_cmdlibdirretr&   r'   extargss                         r   _buildrO      sE   %%l3F	f.5545O	PB		B	zW%ll5!OS:ghhy./--/..0 ((7	BNf8eff6>"P<O"PPL#ui,bIF
Y/cC5z//F
\2cC5z22F
\EcS_C5zEEF



'C
ax	O


!-7'!	C =DKK&()KK'(KKED
 
 ! 4 !IC 02E:!Is$   (H>H$H)H)?H..H8)
contextlibr   r   r.   r   r5   r<   r>   contextmanagerr   rO   r-       r   <module>rS      s<     
 	  	    8 8;rR   