AlkantarClanX12

Your IP : 18.227.48.131


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

B

YI~d\�@s�ddlZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZddlm
Z
dZy,ddlZdZeZejZejZejZejZWnhek
r�y4ddlZddlZdZeZejZejZejZejZWnek
r�e
�d�YnXYnXer�ejejejej fZ!dd	�Z"d
d�Z#dd
�Z$Gdd�d�Z%dd�Z&dd�Z'dd�Z(Gdd�de	�Z)e&�dk�r~e
�*d�e)Z+ddl,m)Z)ddl,m%Z%dS)�N)�DistutilsExecError�DistutilsPlatformError�CompileError�LibError�	LinkError)�	CCompiler�gen_preprocess_options�gen_lib_options)�logFTz�Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules winreg, win32api or win32con are installed.cCsnyt||�}Wntk
r"dSXg}d}x<yt||�}Wntk
rRPYnX|�|�|d7}q.W|S)Nr�)�RegOpenKeyEx�RegError�
RegEnumKey�append)�base�key�handle�L�i�k�r�;/opt/alt/python37/lib64/python3.7/distutils/msvccompiler.py�	read_keys7s
rcCs�yt||�}Wntk
r"dSXi}d}xPyt||�\}}}Wntk
rXPYnX|��}t|�|t|�<|d7}q.W|S)Nrr)rr
�RegEnumValue�lower�convert_mbcs)rrr�dr�name�value�typerrr�read_valuesHsr cCs:t|dd�}|dk	r6y|d�}Wntk
r4YnX|S)N�decode�mbcs)�getattr�UnicodeError)�sZdecrrrr]src@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
MacroExpandercCsi|_|�|�dS)N)�macros�load_macros)�self�versionrrr�__init__gszMacroExpander.__init__cCs4x.tD]&}t||�}|r|||jd|<PqWdS)Nz$(%s))�HKEYSr r')r)Zmacro�pathrrrrrr�	set_macroks


zMacroExpander.set_macroc

Cs�d|}|�d|dd�|�d|dd�d}|�d|d	�y*|d
krX|�d|d�n|�d|d
�Wn*tk
r�}ztd��Wdd}~XYnXd}x\tD]T}yt||�}Wntk
r�w�YnXt|d�}t|d||f�}	|	d|jd<q�WdS)Nz%Software\Microsoft\VisualStudio\%0.1fZVCInstallDirz	\Setup\VCZ
productdirZVSInstallDirz	\Setup\VSz Software\Microsoft\.NETFrameworkZFrameworkDirZinstallrootg@ZFrameworkSDKDirzsdkinstallrootv1.1ZsdkinstallrootaPython was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.z.Software\Microsoft\NET Framework Setup\Productrz%s\%sr*z$(FrameworkVersion))	r.�KeyErrorrr,rr
rr r')
r)r*ZvsbaseZnet�exc�pr�hrrrrrr(rs*

zMacroExpander.load_macroscCs(x"|j��D]\}}|�||�}qW|S)N)r'�items�replace)r)r%r�vrrr�sub�szMacroExpander.subN)�__name__�
__module__�__qualname__r+r.r(r6rrrrr&fsr&cCs�d}tj�|�}|dkrdS|t|�}tj|d��dd�\}}t|dd��d}|dkrf|d7}t|dd	��d
}|dkr�d}|dkr�||SdS)NzMSC v.����� r����
��g$@r)�sysr*�find�len�split�int)�prefixrr%�restZmajorVersionZminorVersionrrr�get_build_version�srHcCs@d}tj�|�}|dkrdStj�d|�}tj|t|�|�S)Nz bit (r:�Intel�))rAr*rBrC)rFr�jrrr�get_build_architecture�srLcCs4g}x*|D]"}tj�|�}||kr
|�|�q
W|S)N)�osr-�normpathr)�pathsZ
reduced_pathsr1Znprrr�normalize_and_reduce_paths�s
rPc
@s�eZdZdZiZdgZdddgZdgZdgZeeeeZ	dZ
d	Zd
ZdZ
dZZd
Zd,dd�Zdd�Zd-dd�Zd.dd�Zd/dd�Zd0dd�Zdd�Zdd �Zd!d"�Zd1d#d$�Zd%d&�Zd2d(d)�Zd*d+�ZdS)3�MSVCCompilerZmsvcz.cz.ccz.cppz.cxxz.rcz.mcz.resz.objz.libz.dllz%s%sz.exercCsvt�||||�t�|_t�|_|jdkr\|jdkrHd|_t|j�|_nd|_d|j|_	nd|jd|_	d|_
dS)	NrI�zSoftware\Microsoft\VisualStudiozSoftware\Microsoft\DevstudiozVisual Studio version %szMicrosoft SDK compiler %sr;F)rr+rH�_MSVCCompiler__versionrL�_MSVCCompiler__arch�_MSVCCompiler__rootr&�_MSVCCompiler__macros�_MSVCCompiler__product�initialized)r)�verboseZdry_run�forcerrrr+�s

zMSVCCompiler.__init__cCs�g|_dtjkrDdtjkrD|�d�rDd|_d|_d|_d|_d|_nx|�	d�|_t
|j�d	krltd
|j��|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_|�
d�|�
d�y*x$tjd�d
�D]}|j�|�q�WWntk
r�YnXt|j�|_d
�|j�tjd<d|_|jdk�rTddddddg|_dddddddg|_n&ddddddg|_dddddddg|_dddg|_|jdk�r�ddddg|_ndddddg|_dg|_d |_dS)!NZDISTUTILS_USE_SDKZMSSdkzcl.exezlink.exezlib.exezrc.exezmc.exer-rzxPython was built with %s, and extensions need to be built with the same version of the compiler, but it isn't installed.�libZinclude�;rIz/nologoz/Oxz/MDz/W3z/GXz/DNDEBUGz/Odz/MDdz/Z7z/D_DEBUGz/GS-z/DLLz/INCREMENTAL:NOrRz/INCREMENTAL:noz/DEBUGz	/pdb:NoneT)�_MSVCCompiler__pathsrM�environ�find_exe�cc�linkerr[�rc�mc�get_msvc_pathsrCrrW�set_path_env_varrDrr/rP�joinZpreprocess_optionsrT�compile_options�compile_options_debug�ldflags_sharedrS�ldflags_shared_debugZldflags_staticrX)r)r1rrr�
initialize�sR







zMSVCCompiler.initialize�cCs�|dkrd}g}x�|D]�}tj�|�\}}tj�|�d}|tj�|�d�}||jkrdtd|��|rttj�|�}||jkr�|�	tj�
|||j��q||jkr�|�	tj�
|||j��q|�	tj�
|||j
��qW|S)NrlrzDon't know how to compile %s)rMr-�splitext�
splitdrive�isabs�src_extensionsr�basename�_rc_extensionsrrf�
res_extension�_mc_extensions�
obj_extension)r)Zsource_filenamesZ	strip_dir�
output_dirZ	obj_namesZsrc_namer�extrrr�object_filenames8s(



zMSVCCompiler.object_filenamesNc	Cst|js|��|�||||||�}	|	\}}
}}}|p6g}
|
�d�|rT|
�|j�n|
�|j��x|
D�]}y||\}}Wntk
r�whYnX|r�tj	�
|�}||jkr�d|}�nT||jkr�d|}�n>||j
k�r>|}d|}y"|�|jg||g|g�Wqhtk
�r8}zt|��Wdd}~XYqhXqhn�||jk�rtj	�|�}tj	�|�}yl|�|jgd|d|g|g�tj	�tj	�|��\}}tj	�||d�}|�|jgd|g|g�Wqhtk
�r�}zt|��Wdd}~XYqhXqhntd||f��d	|}y&|�|jg|
|||g|�Wqhtk
�rj}zt|��Wdd}~XYqhXqhW|
S)
Nz/cz/Tcz/Tpz/foz-hz-rz.rcz"Don't know how to compile %s to %sz/Fo)rXrkZ_setup_compiler�extendrhrgr/rMr-�abspath�
_c_extensions�_cpp_extensionsrr�spawnrbrrrt�dirnamercrmrqrfr`)r)Zsourcesrvr'Zinclude_dirs�debug�
extra_preargs�extra_postargsZdependsZcompile_info�objectsZpp_optsZbuildZcompile_opts�obj�srcrwZ	input_optZ
output_opt�msgZh_dirZrc_dirr�_Zrc_filerrr�compileWsj




zMSVCCompiler.compilec	
Cs�|js|��|�||�\}}|j||d�}|�||�r�|d|g}|rJy|�|jg|�Wq�tk
r�}zt|��Wdd}~XYq�Xnt	�
d|�dS)N)rvz/OUT:zskipping %s (up-to-date))rXrk�_fix_object_args�library_filename�
_need_linkr}r[rrr
r)	r)r�Zoutput_libnamervr�target_lang�output_filenameZlib_argsr�rrr�create_static_lib�szMSVCCompiler.create_static_libc
Cs�|js|��|�||�\}}|�|||�}|\}}}|rL|�dt|��t||||�}|dk	rptj�	||�}|�
||��r�|tjkr�|	r�|j
dd�}q�|jdd�}n|	r�|j
}n|j}g}x|p�gD]}|�d|�q�W||||d|g}|dk	�rLtj�tj�|��\}}tj�	tj�|d�|�|��}|�d|�|
�r^|
|dd�<|�rn|�|�|�tj�|��y|�|jg|�Wn,tk
�r�}zt|��Wdd}~XYnXnt�d|�dS)Nz5I don't know what to do with 'runtime_library_dirs': rz/EXPORT:z/OUT:rz/IMPLIB:zskipping %s (up-to-date))rXrkr�Z
_fix_lib_args�warn�strr	rMr-rfr�rZ
EXECUTABLErjrirrmrqr~r�ryZmkpathr}rarrr
r)r)Ztarget_descr�r�rvZ	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsrr�r�Z
build_tempr�Z
fixed_argsZlib_optsZldflagsZexport_optsZsymZld_argsZdll_nameZdll_extZimplib_filer�rrr�link�sV



zMSVCCompiler.linkcCsd|S)Nz	/LIBPATH:r)r)�dirrrr�library_dir_optionszMSVCCompiler.library_dir_optioncCstd��dS)Nz<don't know how to set runtime library search path for MSVC++)r)r)r�rrr�runtime_library_dir_optionsz'MSVCCompiler.runtime_library_dir_optioncCs
|�|�S)N)r�)r)r[rrr�library_optionszMSVCCompiler.library_optioncCs`|r|d|g}n|g}xB|D]6}x0|D](}tj�||�|��}tj�|�r(|Sq(WqWdSdS)NZ_d)rMr-rfr��exists)r)�dirsr[rZ	try_namesr�rZlibfilerrr�find_library_file#s

zMSVCCompiler.find_library_filecCszx4|jD]*}tj�tj�|�|�}tj�|�r|SqWx>tjd�d�D]*}tj�tj�|�|�}tj�|�rH|SqHW|S)NZPathr\)r]rMr-rfrz�isfiler^rD)r)Zexer1�fnrrrr_5s	zMSVCCompiler.find_exe�x86cCs�tsgS|d}|jdkr,d|j|jf}nd|j|f}xHtD]@}t||�}|r@|jdkrr|j�||��d�S||�d�Sq@W|jdkr�x,tD]$}t|d|j�dk	r�|�d�Pq�WgS)	Nz dirsrRz6%s\%0.1f\VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directoriesz?%s\6.0\Build System\Components\Platforms\Win32 (%s)\Directoriesr\r;z%s\6.0z�It seems you have Visual Studio 6 installed, but the expected registry settings are not present.
You must at least run the Visual Studio GUI once so that these entries are created.)	�
_can_read_regrSrUr,r rVr6rDr�)r)r-�platformrrrrrrrdKs(






zMSVCCompiler.get_msvc_pathscCs6|dkr|�d�}n
|�|�}|r2d�|�tj|<dS)Nr[Zlibraryr\)rdrfrMr^)r)rr1rrrreos

zMSVCCompiler.set_path_env_var)rrr)rrl)NNNrNNN)NrN)
NNNNNrNNNN)r)r�)r7r8r9Z
compiler_typeZexecutablesr{r|rrrtrprsruZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionr+rkrxr�r�r�r�r�r�r�r_rdrerrrrrQ�sN

B

V

F

$rQg @z3Importing new compiler from distutils.msvc9compiler)rQ)r&)-rArMZdistutils.errorsrrrrrZdistutils.ccompilerrrr	Z	distutilsr
r��winregZhkey_modZ	OpenKeyExrZEnumKeyrZ	EnumValuer�errorr
�ImportErrorZwin32apiZwin32con�infoZ
HKEY_USERS�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINEZHKEY_CLASSES_ROOTr,rr rr&rHrLrPrQrZOldMSVCCompilerZdistutils.msvc9compilerrrrr�<module>s\


	-
9