MINI MINI MANI MO

Path : /lib64/python3.6/distutils/__pycache__/
File Upload :
Current File : //lib64/python3.6/distutils/__pycache__/msvc9compiler.cpython-36.opt-2.pyc

3


 \w@sPddlZddlZddlZddlZddlmZmZmZmZm	Z	ddl
mZmZm
Z
ddlmZddlmZddlZejZejZejZejZejejejejfZej dkoej!d%kZ"e"rd	Z#d
Z$dZ%ndZ#d
Z$dZ%ddddZ&GdddZ'GdddZ(ddZ)ddZ*ddZ+ddZ,d&dd Z-e)Z.e.d!kr<ed"e.Gd#d$d$eZ/dS)'N)DistutilsExecErrorDistutilsPlatformErrorCompileErrorLibError	LinkError)	CCompilergen_preprocess_optionsgen_lib_options)log)get_platformwin32 z1Software\Wow6432Node\Microsoft\VisualStudio\%0.1fz5Software\Wow6432Node\Microsoft\Microsoft SDKs\Windowsz,Software\Wow6432Node\Microsoft\.NETFrameworkz%Software\Microsoft\VisualStudio\%0.1fz)Software\Microsoft\Microsoft SDKs\Windowsz Software\Microsoft\.NETFrameworkx86amd64Zia64)rz	win-amd64zwin-ia64c@sLeZdZddZeeZddZeeZddZeeZddZeeZd	S)
RegcCs:x,tD]$}|j||}|r||kr||SqWt|dS)N)HKEYSread_valuesKeyError)clspathkeybasedr//usr/lib64/python3.6/distutils/msvc9compiler.py	get_valueAs

z
Reg.get_valuecCsnyt||}Wntk
r"dSXg}d}x<yt||}Wntk
rRPYnX|j||d7}q.W|S)Nr)RegOpenKeyExRegError
RegEnumKeyappend)rrrhandleLikrrr	read_keysIs
z
Reg.read_keysc	Csyt||}Wntk
r"dSXi}d}xTyt||\}}}Wntk
rXPYnX|j}|j|||j|<|d7}q.W|S)Nrr)rrRegEnumValuelowerconvert_mbcs)	rrrr"rr$namevaluetyperrrr[szReg.read_valuescCs:t|dd}|dk	r6y|d}Wntk
r4YnX|S)Ndecodembcs)getattrUnicodeError)sZdecrrrr)qszReg.convert_mbcsN)	__name__
__module____qualname__rclassmethodr&rr)staticmethodrrrrr=src@s,eZdZddZddZddZddZd	S)

MacroExpandercCsi|_t||_|j|dS)N)macrosVS_BASEvsbaseload_macros)selfversionrrr__init__}s
zMacroExpander.__init__cCstj|||jd|<dS)Nz$(%s))rrr8)r<Zmacrorrrrr	set_macroszMacroExpander.set_macrocCs|jd|jdd|jd|jdd|jdtdy$|dkrP|jd	td
ntd
Wntk
rvtdYnX|dkr|jd
|jd|jdtdndd}x^tD]V}yt||}Wntk
rwYnXt	|d}t
j|d||f}|d|jd<qWdS)NZVCInstallDirz	\Setup\VC
productdirZVSInstallDirz	\Setup\VSZFrameworkDirZinstallrootg @ZFrameworkSDKDirzsdkinstallrootv2.0aPython was built with Visual Studio 2008;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2008 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.g"@ZFrameworkVersionzclr versionZ
WindowsSdkDirZcurrentinstallfolderz.Software\Microsoft\NET Framework Setup\Productrz%s\%sr=z$(FrameworkVersion))
r?r:NET_BASErrWINSDK_BASErrrr rrr8)r<r=prhrrrrrr;s.

zMacroExpander.load_macroscCs(x"|jjD]\}}|j||}qW|S)N)r8itemsreplace)r<r1r%vrrrsubszMacroExpander.subN)r2r3r4r>r?r;rHrrrrr7{sr7cCsd}tjj|}|d
krdS|t|}tj|djdd\}}t|ddd}|dkrf|d7}t|ddd}|dkrd	}|dkr||SdS)NzMSC v.r r

g$@r)sysr=findlensplitint)prefixr$r1restZmajorVersionZminorVersionrrrget_build_versionsrVcCs4g}x*|D]"}tjj|}||kr
|j|q
W|S)N)osrnormpathr!)pathsZ
reduced_pathsrCZnprrrnormalize_and_reduce_pathss
rZcCs@|jtj}g}x|D]}||kr|j|qWtjj|}|S)N)rRrWpathsepr!join)ZvariableZoldListZnewListr$ZnewVariablerrrremoveDuplicatess
r]c
Cst|}ytjd|d}Wn"tk
r>tjdd}YnX|sTtjj|rd|}tj	j
|d}|rtjj|rtjj|tjtjd}tjj
|}tjj|stjd|dSntjd||stjddStjj|d	}tjj|r|Stjd
dS)Nz%s\Setup\VCr@z%Unable to find productdir in registryzVS%0.f0COMNTOOLSZVCz%s is not a valid directoryz Env var %s is not set or invalidzNo productdir foundz
vcvarsall.batzUnable to find vcvarsall.bat)r9rrrr
debugrWrisdirenvirongetr\pardirabspathisfile)r=r:r@ZtoolskeyZtoolsdir	vcvarsallrrrfind_vcvarsalls2





rfcCs8t|}td}i}|dkr$tdtjd||tjd||ftjtjd}z|j\}}|j	d	krvt|j
d
|j
d
}xr|jdD]d}tj
|}d|krq|j}|jdd
\}	}
|	j}	|	|kr|
jtjr|
dd}
t|
||	<qWWd|jj|jjXt|t|kr4ttt|j|S)NincludeliblibpathrzUnable to find vcvarsall.batz'Calling 'vcvarsall.bat %s' (version=%s)z
"%s" %s & set)stdoutstderrrr.
=r)rgrhrirrM)rfsetrr
r^
subprocessPopenPIPEZcommunicatewaitr-rRrr)stripr(endswithrWr[r]rjcloserkrQ
ValueErrorstrlistkeys)r=ZarchreZinterestingresultpopenrjrklinerr+rrrquery_vcvarsalls<



r}g @z(VC %0.1f is not supported by this modulec
@seZdZdZiZdgZdddgZdgZdgZeeeeZ	dZ
d	Zd
ZdZ
dZZd
Zd-ddZd.ddZd/ddZd0ddZd1ddZd2ddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd3d)d*Zd+d,ZdS)4MSVCCompilerZmsvcz.cz.ccz.cppz.cxxz.rcz.mcz.resz.objz.libz.dllz%s%sz.exercCs8tj||||t|_d|_g|_d|_d|_d|_dS)NzSoftware\Microsoft\VisualStudioF)	rr>VERSION_MSVCCompiler__versionZ_MSVCCompiler__root_MSVCCompiler__paths	plat_name_MSVCCompiler__archinitialized)r<verboseZdry_runZforcerrrr>JszMSVCCompiler.__init__NcCs|dkrt}d$}||kr(td|fdtjkrfdtjkrf|jdrfd|_d|_d	|_d
|_d|_	n|tksx|dkrt
|}nt
tdt
|}tt|}|d
j
tj|_|dtjd<|dtjd<t|jdkrtd|j|jd|_|jd|_|jd	|_|jd
|_|jd|_	y,x&tjd
j
dD]}|jj|q<WWntk
rjYnXt|j|_dj|jtjd
<d|_|jdkrdddddg|_ddddddg|_n&ddddddg|_dddddddg|_dddg|_|jd krddd!d"g|_dg|_d#|_dS)%Nr	win-amd64win-ia64z--plat-name must be one of %sZDISTUTILS_USE_SDKZMSSdkzcl.exezlink.exezlib.exezrc.exezmc.exe_rrhrgrzxPython was built with %s, and extensions need to be built with the same version of the compiler, but it isn't installed.;rz/nologoz/Oxz/MDz/W3z/DNDEBUGz/Odz/MDdz/Z7z/D_DEBUGz/GS-z/DLLz/INCREMENTAL:NOz/INCREMENTAL:noz/DEBUGT)rrr)rrrWr`find_execclinkerrhrcmcPLAT_TO_VCVARSr}rrRr[rrQZ_MSVCCompiler__productr!rrZr\Zpreprocess_optionsrcompile_optionscompile_options_debugldflags_sharedrldflags_shared_debugZldflags_staticr)r<rZok_platsZ	plat_specZvc_envrCrrr
initializeUsd







zMSVCCompiler.initializecCs|dkrd}g}x|D]}tjj|\}}tjj|d}|tjj|d}||jkrdtd||rttjj|}||jkr|j	tjj
|||jq||jkr|j	tjj
|||jq|j	tjj
|||j
qW|S)NrrzDon't know how to compile %s)rWrsplitext
splitdriveisabssrc_extensionsrbasename_rc_extensionsr!r\
res_extension_mc_extensions
obj_extension)r<Zsource_filenamesZ	strip_dir
output_dirZ	obj_namesZsrc_namerextrrrobject_filenamess(



zMSVCCompiler.object_filenamesc	Cst|js|j|j||||||}	|	\}}
}}}|p6g}
|
jd|rT|
j|jn|
j|jx|
D]}y||\}}Wntk
rwhYnX|rtj	j
|}||jkrd|}nT||jkrd|}n>||j
kr>|}d|}y"|j|jg||g|gWqhtk
r8}zt|WYdd}~XqhXqhn||jkrtj	j|}tj	j|}yl|j|jgd|d|g|gtj	jtj	j|\}}tj	j||d}|j|jgd|g|gWqhtk
r}zt|WYdd}~XqhXqhntd||fd	|}y&|j|jg|
|||g|Wqhtk
rj}zt|WYdd}~XqhXqhW|
S)
Nz/cz/Tcz/Tpz/foz-hz-rz.rcz"Don't know how to compile %s to %sz/Fo)rrZ_setup_compiler!extendrrrrWrrc
_c_extensions_cpp_extensionsrspawnrrrrdirnamerrrr\r)r<Zsourcesrr8Zinclude_dirsr^
extra_preargsextra_postargsZdependsZcompile_infoobjectsZpp_optsZbuildZcompile_optsobjsrcrZ	input_optZ
output_optmsgZh_dirZrc_dirrrZrc_filerrrcompilesj




zMSVCCompiler.compilec	Cs|js|j|j||\}}|j||d}|j||r|d|g}|rJy|j|jg|Wqtk
r}zt|WYdd}~XqXnt	j
d|dS)N)rz/OUT:zskipping %s (up-to-date))rr_fix_object_argslibrary_filename
_need_linkrrhrrr
r^)	r<rZoutput_libnamerr^target_langoutput_filenameZlib_argsrrrrcreate_static_libszMSVCCompiler.create_static_libcCsX|js|j|j||\}}|j|||}|\}}}|rL|jdt|t||||}|dk	rptjj	||}|j
||rH|tjkr|	r|j
dd}q|jdd}n|	r|j
}n|j}g}x|pgD]}|jd|qW||||d|g}tjj|d}|dk	rPtjjtjj|\}}tjj	||j|}|jd||j||||
rp|
|dd<|r|j||jtjj|y|j|jg|Wn,tk
r}zt|WYdd}~XnX|j||}|dk	rT|\}}d||f}y|jdd	d
||gWn,tk
rD}zt|WYdd}~XnXntjd|dS)Nz5I don't know what to do with 'runtime_library_dirs': rz/EXPORT:z/OUT:rz/IMPLIB:z-outputresource:%s;%szmt.exez-nologoz	-manifestzskipping %s (up-to-date))rrrZ
_fix_lib_argswarnrwr	rWrr\rr
EXECUTABLErrr!rrrrmanifest_setup_ldargsrZmkpathrrrrmanifest_get_embed_infor
r^)r<target_descrrrZ	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsr^rr
build_temprZ
fixed_argsZlib_optsZldflagsZexport_optsZsymld_argsZdll_nameZdll_extZimplib_filerZmfinfoZ
mffilenamemfidZout_argrrrlink8sl





zMSVCCompiler.linkcCs,tjj|tjj|d}|jd|dS)Nz	.manifestz/MANIFESTFILE:)rWrr\rr!)r<rrr
temp_manifestrrrrsz"MSVCCompiler.manifest_setup_ldargscCs`x,|D] }|jdr|jddd}PqWdS|tjkr>d}nd}|j|}|dkrXdS||fS)Nz/MANIFESTFILE::rr
)
startswithrRrr_remove_visual_c_ref)r<rrargrrrrrrs



z$MSVCCompiler.manifest_get_embed_infocCsyt|}z|j}Wd|jXtjdtj}tj|d|}d}tj|d|}tjdtj}tj||dkrrdSt|d}z|j||S|jXWnt	k
rYnXdS)NzU<assemblyIdentity.*?name=("|')Microsoft\.VC\d{2}\.CRT("|').*?(/>|</assemblyIdentity>)rz*<dependentAssembly>\s*</dependentAssembly>zI<assemblyIdentity.*?name=(?:"|')(.+?)(?:"|').*?(?:/>|</assemblyIdentity>)w)
openreadrurerDOTALLrHsearchwriteOSError)r<Z
manifest_fileZ
manifest_fZmanifest_bufpatternrrrrs.	


z!MSVCCompiler._remove_visual_c_refcCsd|S)Nz	/LIBPATH:r)r<dirrrrlibrary_dir_optionszMSVCCompiler.library_dir_optioncCstddS)Nz<don't know how to set runtime library search path for MSVC++)r)r<rrrrruntime_library_dir_optionsz'MSVCCompiler.runtime_library_dir_optioncCs
|j|S)N)r)r<rhrrrlibrary_optionszMSVCCompiler.library_optioncCs`|r|d|g}n|g}xB|D]6}x0|D](}tjj||j|}tjj|r(|Sq(WqWdSdS)NZ_d)rWrr\rexists)r<dirsrhr^Z	try_namesrr*Zlibfilerrrfind_library_files

zMSVCCompiler.find_library_filecCszx4|jD]*}tjjtjj||}tjj|r|SqWx>tjdjdD]*}tjjtjj||}tjj|rH|SqHW|S)NZPathr)rrWrr\rcrdr`rR)r<ZexerCfnrrrrs	zMSVCCompiler.find_exe)rrr)N)rr)NNNrNNN)NrN)
NNNNNrNNNN)r)r2r3r4Z
compiler_typeZexecutablesrrrrrrrZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionr>rrrrrrrrrrrrrrrrrr~,sP


X

V

R+
r~l)r)0rWrorOrZdistutils.errorsrrrrrZdistutils.ccompilerrrr	Z	distutilsr
Zdistutils.utilrwinregZ	OpenKeyExrZEnumKeyr Z	EnumValuer'errorrZ
HKEY_USERSHKEY_CURRENT_USERHKEY_LOCAL_MACHINEZHKEY_CLASSES_ROOTrplatformmaxsizeZNATIVE_WIN64r9rBrArrr7rVrZr]rfr}rr~rrrr<module>sL>.#
)


OHA YOOOO