o
    ۗi                     @   sZ   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d Z	dd Z
dS )    Nc               	   c   sR    t jt j} }t t t _t _zd V  W | |t _t _d S | |t _t _w N)sysstdoutstderrioStringIO)
old_stdout
old_stderr r
   R/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/triton/runtime/build.pyquiet   s   "r   c              
   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|}|dkr|S g }g }tj| d|g||dg |||d}dg}|d|  |d|  |d t| |g|d }t  tjd!i | W d    |S 1 sw   Y  |S )"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                 s   s    | ]}t |V  qd S r   )osgetenv).0varr
   r
   r   	<genexpr>+   s    z_build.<locals>.<genexpr>)TRITON_CUDACRT_PATH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!   0   r"   c                 S   s   g | ]}|d urd| qS )Nz-Ir
   r#   r
   r
   r   r!   1   s    r   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_argsr
   )	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retr)   r*   extargsr
   r
   r   _build   sf   







rO   )
contextlibr   r   r0   r   r7   r>   r@   contextmanagerr   rO   r
   r
   r
   r   <module>   s    
	