
    h                        S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJr  SSKJr  SSKJr      SS jr\R&                  SS	 j5       rSS
 jr  S     SS jjrg)    )annotationsN)
ModuleType   )get_cache_manager   )knobsc                   [         R                  R                  =n(       a
  U" XX#XE5      $ [        R                  " S5      n[
        R                  R                  USR                  XS95      n[
        R                  R                  S5      n	U	cA  [        R                  " S5      n
[        R                  " S5      nUb  UOU
n	U	c  [        S5      e[        [        S5      (       a  [        R                  " 5       nO[        R                   " 5       nUS	:X  a  S
n[        R"                  " US9S   n[         R                  R$                  nXBU/UQ-   nXSSSSSU/nX Vs/ s H  nSU 3PM
     sn-  nX Vs/ s H  nSU 3PM
     sn-  nX Vs/ s H  nUc  M  SU 3PM     sn-  n[&        R(                  " U[&        R*                  S9  U$ s  snf s  snf s  snf )N
EXT_SUFFIXz{name}{suffix})namesuffixCCclanggcczeFailed to find C compiler. Please specify via CC environment variable or set triton.knobs.build.impl.get_default_schemeposix_localposix_prefix)schemeincludez-O3z-sharedz-fPICz
-Wno-psabiz-oz-lz-Lz-I)stdout)r   buildimpl	sysconfigget_config_varospathjoinformatenvirongetshutilwhichRuntimeErrorhasattrr   _get_default_scheme	get_pathsbackend_dirs
subprocess
check_callDEVNULL)r   srcsrcdirlibrary_dirsinclude_dirs	librariesr   r   soccr   r   r   py_include_dircustom_backend_dirscc_cmdlibdirs                     N/var/www/fran/franai/venv/lib/python3.13/site-packages/triton/runtime/build.py_buildr7      s   {{tDv\MM%%l3F	f.5545O	PB		B	zW%ll5!OS:wy y y.//--/..0 ((7	BN++22>"P<O"PPLui,bIF
Y/YcC5zY//F
\2\cC5z\22F
\E\cSzC5z\EEF&););<I	 02Es    G8GG	Gc                 ^    SSK Jn JnJn  SR	                  U " 5       U" 5       /U" 5       Q5      $ )Nr   machinesystemarchitecture,)platformr:   r;   r<   r   r9   s      r6   platform_keyr?   7   s'    6688WY:<>:;;    c                
   [         R                  R                  X5      nU(       a  UR                  (       d  [	        SU  SU 35      e[         R                  R                  U5      nUR                  R                  U5        U$ )NzFailed to load newly compiled z from )	importlibutilspec_from_file_locationloaderr"   module_from_specexec_module)r   r   specmods       r6   _load_module_from_pathrJ   =   sc    >>11$=Dt{{;D6vNOO
..
)
)$
/CKKC Jr@   c           
        [         R                  " U [        5       -   R                  S5      5      R	                  5       n[        U5      n[        R                  " S5      nUR                  U U 35      nUb   [        X5      $ [         R"                  " 5        n
[$        R&                  R)                  XS-   5      n[+        US5       nUR-                  U 5        S S S 5        [/        XX=(       d    / U=(       d    / U=(       d    / 5      n[+        US5       nUR1                  UR3                  5       U U 3SS	9nS S S 5        S S S 5        [        X5      $ ! [        [        4 a3    [        R                  " [        5      n	U	R                  SU S35         GNf = f! , (       d  f       N= f! , (       d  f       Nx= f! , (       d  f       N= f)
Nzutf-8r
   z$Triton cache error: compiled module z.so could not be loadedz.cwrbT)binary)hashlibsha256r?   encode	hexdigestr   r   r   get_filerJ   r"   ImportErrorlogging	getLogger__name__warningtempfileTemporaryDirectoryr   r   r   openwriter7   putread)r*   r   r,   r-   r.   keycacher   
cache_pathlogtmpdirsrc_pathfr/   s                 r6   compile_module_from_srcrf   F   su   
..#.66w?
@
J
J
LCc"E%%l3F4& 12J	^)$;;
 
	$	$	&&77<<t4(C AGGCL !DF,>B@RPRT]Tcacd"d^q1668vfX->tLJ  
' "$33 k* 	^##H-CKK>tfD[\]	^ !  ^ 
'	&sN   9
E /F>F=F>$F-;F>?FF
F*	&F>-
F;	7F>>
G)r   strr*   rg   r+   rg   r,   	list[str]r-   rh   r.   rh   returnrg   )ri   rg   )r   rg   r   rg   ri   r   )NNN)r*   rg   r   rg   r,   list[str] | Noner-   rj   r.   rj   ri   r   )
__future__r   	functoolsrO   importlib.utilrB   rU   r   r    r'   r   rY   typesr   r`   r    r   r7   	lru_cacher?   rJ   rf    r@   r6   <module>rr      s    "     	      $ !!$'!H < <
 SWae4*:4N^4jt4r@   