Your IP : 18.188.245.152
3
9��f�� � @ s d Z ddlZddlZddlZddlZddlZddlmZ ddl m
Z
ddlmZ ej
� dkrpddl mZ ejZnG d d
� d
�Ze� ZeejjfZyddlmZ W n ek
r� Y nX dd
� Zd dd�Zdd� Zdd� Zd!dd�ZG dd� d�ZG dd� d�ZG dd� d�ZG dd� d�Z dS )"a@
Improved support for Microsoft Visual C++ compilers.
Known supported compilers:
--------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Microsoft Windows SDK 6.1 (x86, x64, ia64)
Microsoft Windows SDK 7.0 (x86, x64, ia64)
Microsoft Visual C++ 10.0:
Microsoft Windows SDK 7.1 (x86, x64, ia64)
Microsoft Visual C++ 14.0:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
� N)�
LegacyVersion)�filterfalse� )�
get_unpatched�Windows)�winregc @ s e Zd ZdZdZdZdZdS )r N)�__name__�
__module__�__qualname__�
HKEY_USERS�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINE�HKEY_CLASSES_ROOT� r r �/usr/lib/python3.6/msvc.pyr ( s r )�Regc C s� d}|d| f }yt j|d�}W nJ tk
rj y|d| f }t j|d�}W n tk
rd d}Y nX Y nX |r�tjjjj|d�}tjj|�r�|S tt�| �S )a+
Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone
compiler build for Python (VCForPython). Fall back to original behavior
when the standalone compiler is not available.
Redirect the path of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Parameters
----------
version: float
Required Microsoft Visual C++ version.
Return
------
vcvarsall.bat path: str
z-Software\%sMicrosoft\DevDiv\VCForPython\%0.1f� �
installdirzWow6432Node\Nz
vcvarsall.bat) r Z get_value�KeyError�os�path�join�isfiler �msvc9_find_vcvarsall)�versionZVC_BASE�key�
productdir� vcvarsallr r r r ? s r �x86c O s� yt t�}|| |f|�|�S tjjk
r2 Y n tk
rD Y nX yt|| �j� S tjjk
r� } zt|| |� � W Y dd}~X nX dS )a�
Patched "distutils.msvc9compiler.query_vcvarsall" for support extra
compilers.
Set environment without use of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Microsoft Windows SDK 6.1 (x86, x64, ia64)
Microsoft Windows SDK 7.0 (x86, x64, ia64)
Microsoft Visual C++ 10.0:
Microsoft Windows SDK 7.1 (x86, x64, ia64)
Parameters
----------
ver: float
Required Microsoft Visual C++ version.
arch: str
Target architecture.
Return
------
environment: dict
N) r �msvc9_query_vcvarsall� distutils�errors�DistutilsPlatformError�
ValueError�EnvironmentInfo�
return_env�_augment_exception)�ver�arch�args�kwargsZorig�excr r r r j s r c C sn yt t�| �S tjjk
r$ Y nX yt| dd�j� S tjjk
rh } zt|d� � W Y dd}~X nX dS )a'
Patched "distutils._msvccompiler._get_vc_env" for support extra
compilers.
Set environment without use of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 14.0:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
Parameters
----------
plat_spec: str
Target architecture.
Return
------
environment: dict
g ,@)�
vc_min_verN)r �msvc14_get_vc_envr r! r"