o
    cZŽhñ  ã                   @   s,   d dl Z d dlZd dlZd dlZdd„ ZdS )é    Nc                 C   s"  t  d¡}tj |dj| |d¡}tj d¡}|d u r5t 	d¡}	t 	d¡}
|
d ur+|
n|	}|d u r5t
dƒ‚tt dƒr?t  ¡ }nt  ¡ }|d	krId
}t j|dd }tdd„ dD ƒƒ}|||g|¢ }||ddddd|g}|dd„ |D ƒ7 }|dd„ |D ƒ7 }|dd„ |D ƒ7 }tj|tjd |S )NÚ
EXT_SUFFIXz{name}{suffix})ÚnameÚsuffixÚCCÚclangÚgcczFFailed to find C compiler. Please specify via CC environment variable.Úget_default_schemeZposix_localÚposix_prefix)ÚschemeÚincludec                 s   s    | ]}t  |¡V  qd S )N)ÚosÚgetenv)Ú.0Úvar© r   úC/var/www/auris/lib/python3.10/site-packages/triton/runtime/build.pyÚ	<genexpr>   s   € z_build.<locals>.<genexpr>)ZTRITON_CUDACRT_PATHZTRITON_CUDART_PATHz-O3z-sharedz-fPICz
-Wno-psabiz-oc                 S   ó   g | ]}d |› ‘qS )z-lr   )r   Úlibr   r   r   Ú
<listcomp>!   ó    z_build.<locals>.<listcomp>c                 S   r   )z-Lr   ©r   Údirr   r   r   r   "   r   c                 S   s   g | ]}|d urd|› ‘qS )Nz-Ir   r   r   r   r   r   #   s    )Ústdout)Ú	sysconfigÚget_config_varr   ÚpathÚjoinÚformatÚenvironÚgetÚshutilÚwhichÚRuntimeErrorÚhasattrr   Z_get_default_schemeÚ	get_pathsÚsetÚ
subprocessÚ
check_callÚDEVNULL)r   ÚsrcÚsrcdirZlibrary_dirsZinclude_dirsZ	librariesr   ÚsoÚccr   r   r
   Zpy_include_dirZcustom_backend_dirsZcc_cmdr   r   r   Ú_build   s.   




r.   )r   r   r!   r'   r.   r   r   r   r   Ú<module>   s
    