Your IP : 52.14.7.53


Current Path : /opt/alt/python310/lib64/python3.10/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/distutils/__pycache__/cygwinccompiler.cpython-310.opt-2.pyc

o

6��f�?�@s�	ddlZddlZddlZddlmZmZmZddlZddlm	Z	ddl
mZddlm
Z
mZmZmZddlmZddlmZdd	�ZGd
d�de	�ZGdd
�d
e�ZdZdZdZdd�Ze�d�Zdd�Zdd�Zdd�Z dS)�N)�Popen�PIPE�check_output)�
UnixCCompiler)�
write_file)�DistutilsExecError�CCompilerError�CompileError�UnknownFileError)�LooseVersion)�find_executablecCs�	tj�d�}|dkr?tj|d|d�}|dkrdgS|dkr$dgS|d	kr+d
gS|dkr2dgS|d
kr9dgStd|��dS)NzMSC v.�����
Z1300Zmsvcr70Z1310Zmsvcr71Z1400Zmsvcr80Z1500Zmsvcr90Z1600Zmsvcr100zUnknown MS Compiler version %s )�sys�version�find�
ValueError)Zmsc_posZmsc_ver�r�@/opt/alt/python310/lib64/python3.10/distutils/cygwinccompiler.py�	get_msvcr=s �rc@sXeZdZ	dZdZdZdZdZdZdZ	dd	d
�Z
dd�Z	
	
	
	
ddd�Zddd�Z
d
S)�CygwinCCompiler�cygwinz.o�.az.dllzlib%s%sz%s%sz.exercCs�t�||||�t�\}}|�d||f�|tur!|�d|�t�\|_|_|_	|�|j
d|j|j|j	f�|jdkrCd|_nd|_|jdkrNd}nd	}|jd
ddd
d|j|fd�|jdkrodg|_
|�d�dSt�|_
dS)Nz%Python's GCC status: %s (details: %s)z�Python's pyconfig.h doesn't seem to support your compiler. Reason: %s. Compiling may fail because of undefined preprocessor macros.z: gcc %s, ld %s, dllwrap %s
z2.10.90�gcc�dllwrap�2.13�-shared�
-mdll -staticzgcc -mcygwin -O -Wallzgcc -mcygwin -mdll -O -Wallzg++ -mcygwin -O -Wallzgcc -mcygwinz%s -mcygwin %s�Zcompiler�compiler_soZcompiler_cxxZ
linker_exeZ	linker_so�2.91.57Zmsvcrtz,Consider upgrading to a newer version of gcc)r�__init__�check_config_hZdebug_print�CONFIG_H_OK�warn�get_versions�gcc_version�
ld_versionZdllwrap_version�
compiler_type�
linker_dll�set_executables�
dll_librariesr)�self�verbose�dry_run�forceZstatusZdetails�
shared_optionrrrr"bsN
����
��


��
�zCygwinCCompiler.__init__c
Cs�	|dks	|dkr'z
|�dd|d|g�WdSty&}zt|��d}~wwz|�|j||d|g|�WdStyI}zt|��d}~ww)N�.rc�.resZwindresz-iz-o)Zspawnrr	r )r-�obj�src�extZcc_args�extra_postargsZpp_opts�msgrrr�_compile�s �����zCygwinCCompiler._compileNcCsJ	t�|
pg�}
t�|p
g�}t�|pg�}|�|j�|dur�||jks*|jdkr�tj�|d�}tj�tj�	|��\}}tj�
||d�}tj�
|d|d�}dtj�	|�dg}|D]}|�|�q^|�t
||fd|�|jd	kr�|
�d
|g�|
�d|g�n|�|�|	s�|
�d�t�||||||||d|	|
|||
�dS)
Nrrz.def�librz
LIBRARY %sZEXPORTSz
writing %srz--output-libz--defz-s)�copy�extendr,Z
EXECUTABLEr*�os�path�dirname�splitext�basename�join�appendZexecuterr�link)r-Ztarget_descZobjectsZoutput_filename�
output_dirZ	librariesZlibrary_dirsZruntime_library_dirsZexport_symbols�debugZ
extra_preargsr7Z
build_tempZtarget_langZtemp_dirZdll_nameZ
dll_extensionZdef_fileZlib_file�contentsZsymrrrrD�sD	
���


�zCygwinCCompiler.link�cCs�	|durd}g}|D]H}tj�tj�|��\}}||jddgvr*td||f��|r2tj�|�}|dvrF|�tj�||||j	��q|�tj�|||j	��q|S)NrHr2r3z"unknown file type '%s' (from '%s'))r3r2)
r=r>r@�normcaseZsrc_extensionsr
rArCrB�
obj_extension)r-Zsource_filenamesZ	strip_dirrEZ	obj_namesZsrc_name�baser6rrr�object_filenames�s(���z CygwinCCompiler.object_filenames�rrr)
NNNNNrNNNN)rrH)�__name__�
__module__�__qualname__r)rJZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionr"r9rDrLrrrrrWs"
;
�Nrc@seZdZ	dZddd�ZdS)�Mingw32CCompilerZmingw32rc	Csxt�||||�|jdkrd}nd}|jdkrd}nd}t�r#td��|jdd	d
dd|j||fd
�g|_t	�|_dS)Nrrrr!z--entry _DllMain@12rHz1Cygwin gcc cannot be used with --compiler=mingw32zgcc -O -Wallzgcc -mdll -O -Wallzg++ -O -Wallrz%s %s %sr)
rr"r(r'�is_cygwingccrr+r*r,r)r-r.r/r0r1Zentry_pointrrrr"s.

����zMingw32CCompiler.__init__NrM)rNrOrPr)r"rrrrrQsrQ�okznot okZ	uncertainc
Cs�	ddlm}dtjvrtdfS|��}z(t|�}zd|��vr,td|fW|��WSt	d|fW|��WS|��wt
yW}ztd||jffWYd}~Sd}~ww)	Nr)�	sysconfigZGCCzsys.version mentions 'GCC'Z__GNUC__z'%s' mentions '__GNUC__'z '%s' does not mention '__GNUC__'zcouldn't read '%s': %s)
Z	distutilsrTrrr$Zget_config_h_filename�open�read�close�CONFIG_H_NOTOK�OSError�CONFIG_H_UNCERTAIN�strerror)rT�fnZconfig_h�excrrrr#Fs&
����r#s(\d+\.\d+(\.\d+)*)cCsv	|��d}t|�durdSt|dtd�j}z
|��}W|��n|��wt�|�}|dur2dSt	|�
d����S)NrT)�shell�stdout�)�splitrrrr_rVrW�
RE_VERSION�searchr�group�decode)�cmd�
executable�out�
out_string�resultrrr�_find_exe_versionss

rkcCs	gd�}tdd�|D��S)N)zgcc -dumpversionzld -vzdllwrap --versioncSsg|]}t|��qSr)rk)�.0rfrrr�
<listcomp>�sz get_versions.<locals>.<listcomp>)�tuple)Zcommandsrrrr&�sr&cCs	tddg�}|���d�S)Nrz-dumpmachinescygwin)r�strip�endswith)rirrrrR�srR)!r=rr;�
subprocessrrr�reZdistutils.unixccompilerrZdistutils.file_utilrZdistutils.errorsrrr	r
Zdistutils.versionrZdistutils.spawnrrrrQr$rXrZr#�compilerbrkr&rRrrrr�<module>s./;1
+

?>