1 ; ˆl–äY>””†Ù”â�nãa¸&TÅ£Á „ ­8ÿÀa–ß=¿JJj"Tâ‚Á;q‘)‹FÿÄ?÷ a ´iõvã@sNdZddlZddlZddlZddlZddlmZmZmZm Z m Z ddl m Z m Z ddlmZddlmZddlZejZejZejZejZejejejejfZej dko®ej!dkZ"e"rÂd Z#d Z$d Z%n d Z#d Z$dZ%dddœZ&Gdd„dƒZ'Gdd„dƒZ(dd„Z)dd„Z*dd„Z+dd„Z,d$dd„Z-e)ƒZ.e.d k�r:ed!e.ƒ‚Gd"d#„d#e ƒZ/dS)%a distutils.msvc9compiler Contains MSVCCompiler, an implementation of the abstract CCompiler class for the Microsoft Visual Studio 2008. The module is compatible with VS 2005 and VS 2008. You can find legacy support for older versions of VS in distutils.msvccompiler. éN)ÚDistutilsExecErrorÚDistutilsPlatformErrorÚ CompileErrorÚLibErrorÚ LinkError)Ú CCompilerÚgen_lib_options)Úlog)Ú get_platformÚwin32lz1Software\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\.NETFrameworkÚx86Zamd64©r z win-amd64c@sPeZdZdZdd„ZeeƒZdd„ZeeƒZdd„ZeeƒZdd „Ze eƒZd S) ÚRegz2Helper class to read values from the registry cCs:tD](}| ||¡}|r||vr||Sqt|ƒ‚dS©N)ÚHKEYSÚ read_valuesÚKeyError)ÚclsÚpathÚkeyÚbaseÚd©rú//usr/lib64/python3.9/distutils/msvc9compiler.pyÚ get_value?s   z Reg.get_valuecCsjzt||ƒ}Wnty"YdS0g}d}zt||ƒ}WntyPYqfYn0| |¡|d7}q,|S)zReturn list of registry keys.Nré)Ú RegOpenKeyExÚRegErrorÚ RegEnumKeyÚappend)rrrÚhandleÚLÚiÚkrrrÚ read_keysGs     z Reg.read_keysc Cs‚zt||ƒ}Wnty"YdS0i}d}zt||ƒ\}}}WntyVYq~Yn0| ¡}| |¡|| |¡<|d7}q,|S)z`Return dict of registry keys and values. All names are converted to lowercase. Nrr)rrÚ RegEnumValueÚlowerÚ convert_mbcs) rrrr rr"ÚnameÚvalueÚtyperrrrYs    zReg.read_valuescCs8t|ddƒ}|dur4z |dƒ}Wnty2Yn0|S)NÚdecodeÚmbcs)ÚgetattrÚ UnicodeError)ÚsZdecrrrr'os   zReg.convert_mbcsN) Ú__name__Ú __module__Ú __qualname__Ú__doc__rÚ classmethodr$rr'Ú staticmethodrrrrr;src@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú MacroExpandercCsi|_t||_| |¡dSr)ÚmacrosÚVS_BASEÚvsbaseÚ load_macros)ÚselfÚversionrrrÚ__init__{s zMacroExpander.__init__cCst ||¡|jd|<dS)Nz$(%s))rrr7)r;ZmacrorrrrrÚ set_macro€szMacroExpander.set_macroc Cs| d|jdd¡| d|jdd¡| dtd¡z$|dkrP| d td ¡ntd ƒ‚Wntyttd ƒ‚Yn0|d krž| d |jd¡| dtd¡n`d}tD]V}zt||ƒ}WntyÎYq¦Yn0t |dƒ}t   |d||f¡}|d|j d<q¦dS)NZ VCInstallDirz \Setup\VCÚ productdirZ VSInstallDirz \Setup\VSZ FrameworkDirZ installrootç @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"@ZFrameworkVersionz clr versionZ WindowsSdkDirZcurrentinstallfolderz.Software\Microsoft\NET Framework Setup\Productrz%s\%sr<z$(FrameworkVersion)) r>r9ÚNET_BASErrÚ WINSDK_BA