Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/distutils/command/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/distutils/command/__pycache__/config.cpython-37.opt-2.pyc

B

YI~d3�@shddlZddlZddlmZddlmZddlmZddlm	Z	ddd�Z
Gd	d
�d
e�Zd
dd�ZdS)�N)�Command)�DistutilsExecError)�customize_compiler)�logz.cz.cxx)�czc++c	@s�eZdZdZdddddddd	d
g	Zdd�Zd
d�Zdd�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
d0dd �Zd1d!d"�Zd2d#d$�Zd3d%d&�Zd4d'd(�Zd5d*d+�Zdddgfd,d-�Zd6d.d/�ZdS)7�configzprepare to build)z	compiler=Nzspecify the compiler type)zcc=Nzspecify the compiler executable)z
include-dirs=�Iz.list of directories to search for header files)zdefine=�DzC preprocessor macros to define)zundef=�Uz!C preprocessor macros to undefine)z
libraries=�lz!external C libraries to link with)z
library-dirs=�Lz.directories to search for external C libraries)�noisyNz1show every action (compile, link, run, ...) taken)zdump-sourceNz=dump generated source files before attempting to compile themcCs4d|_d|_d|_d|_d|_d|_d|_g|_dS)N�)�compilerZcc�include_dirs�	libraries�library_dirsr
�dump_source�
temp_files)�self�r�=/opt/alt/python37/lib64/python3.7/distutils/command/config.py�initialize_options3szconfig.initialize_optionscCs�|jdkr|jjpg|_nt|jt�r6|j�tj�|_|jdkrHg|_nt|jt�r^|jg|_|jdkrpg|_nt|jt�r�|j�tj�|_dS)N)	rZdistribution�
isinstance�str�split�os�pathseprr)rrrr�finalize_optionsBs



zconfig.finalize_optionscCsdS)Nr)rrrr�runRsz
config.runcCszddlm}m}t|j|�sv||j|jdd�|_t|j�|jrN|j�|j�|j	rb|j�
|j	�|jrv|j�|j�dS)Nr)�	CCompiler�new_compilerr)r�dry_run�force)
�distutils.ccompilerr r!rrr"rrZset_include_dirsrZ
set_librariesrZset_library_dirs)rr r!rrr�_check_compilerYs
zconfig._check_compilercCsldt|}t|d�}|r@x|D]}|�d|�q W|�d�|�|�|ddkr`|�d�|��|S)NZ_configtest�wz#include <%s>
�
���)�LANG_EXT�open�write�close)r�body�headers�lang�filename�file�headerrrr�_gen_temp_sourcefileks




zconfig._gen_temp_sourcefilecCs<|�|||�}d}|j�||g�|jj|||d�||fS)Nz
_configtest.i)r)r3r�extendrZ
preprocess)rr-r.rr/�src�outrrr�_preprocessxs
zconfig._preprocesscCs\|�|||�}|jr"t|d|�|j�|g�\}|j�||g�|jj|g|d�||fS)Nzcompiling '%s':)r)r3r�	dump_filerZobject_filenamesrr4�compile)rr-r.rr/r5�objrrr�_compileszconfig._compilec
Csr|�||||�\}}tj�tj�|��d}	|jj|g|	|||d�|jjdk	r\|	|jj}	|j�	|	�|||	fS)Nr)rrZtarget_lang)
r;r�path�splitext�basenamerZlink_executableZ
exe_extensionr�append)
rr-r.rrrr/r5r:�progrrr�_link�szconfig._linkc	GsX|s|j}g|_t�dd�|��x0|D](}yt�|�Wq(tk
rNYq(Xq(WdS)Nzremoving: %s� )rr�info�joinr�remove�OSError)r�	filenamesr0rrr�_clean�s
z
config._cleanNrcCsRddlm}|��d}y|�||||�Wn|k
rDd}YnX|��|S)Nr)�CompileErrorTF)r$rIr%r7rH)rr-r.rr/rI�okrrr�try_cpp�s
zconfig.try_cppcCsx|��|�||||�\}}t|t�r0t�|�}t|�}d}	x&|��}
|
dkrPP|�|
�r>d}	Pq>W|�	�|�
�|	S)NF�T)r%r7rr�rer9r*�readline�searchr,rH)r�patternr-r.rr/r5r6r1�match�linerrr�
search_cpp�s 	


zconfig.search_cppcCsdddlm}|��y|�||||�d}Wn|k
rDd}YnXt�|rRdpTd�|��|S)Nr)rITFzsuccess!zfailure.)r$rIr%r;rrCrH)rr-r.rr/rIrJrrr�try_compile�s
zconfig.try_compilec
	Cspddlm}m}|��y|�||||||�d}	Wn||fk
rPd}	YnXt�|	r^dp`d�|��|	S)Nr)rI�	LinkErrorTFzsuccess!zfailure.)r$rIrUr%rArrCrH)
rr-r.rrrr/rIrUrJrrr�try_link�s


zconfig.try_linkc

Cs�ddlm}m}|��y.|�||||||�\}	}
}|�|g�d}Wn||tfk
rdd}YnXt�|rrdptd�|�	�|S)Nr)rIrUTFzsuccess!zfailure.)
r$rIrUr%rAZspawnrrrCrH)
rr-r.rrrr/rIrUr5r:ZexerJrrr�try_run�s

zconfig.try_runrc	Cst|��g}|r|�d|�|�d�|r<|�d|�n|�d|�|�d�d�|�d}|�|||||�S)Nz
int %s ();z
int main () {z  %s();z  %s;�}r')r%r?rDrV)	r�funcr.rrrZdeclZcallr-rrr�
check_funcs


zconfig.check_funccCs |��|�d|||g||�S)Nzint main (void) { })r%rV)rZlibraryrr.rZother_librariesrrr�	check_lib6s

zconfig.check_libcCs|jd|g|d�S)Nz
/* No body */)r-r.r)rK)rr2rrr/rrr�check_headerDs
zconfig.check_header)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)�__name__�
__module__�__qualname__�descriptionZuser_optionsrrrr%r3r7r;rArHrKrSrTrVrWrZr[r\rrrrrsB
	






rcCsJ|dkrt�d|�n
t�|�t|�}zt�|���Wd|��XdS)Nz%s)rrCr*�readr,)r0�headr1rrrr8Ns
r8)N)
rrMZdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ	distutilsrr)rr8rrrr�<module>s
;

Hacked By AnonymousFox1.0, Coded By AnonymousFox