|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/cppython/lib/python3.8/site-packages/setuptools/__pycache__/ |
U
E��g�� � @ s� d Z ddlZddlmZ ddlmZmZ ddlmZm Z m
Z
mZ ddlZddl
Z
ddlZddlZddlZddlZddlmZ ddlmZ e�� d kr�ddlZdd
lmZ nG dd� d�Ze� ZeejjfZzdd
lm Z W n ek
r� Y nX dd� Z!d.dd�Z"dd� Z#dd� Z$ddddd�Z%dd� Z&dd� Z'dd � Z(d!d"� Z)d/d$d%�Z*G d&d'� d'�Z+G d(d)� d)�Z,G d*d+� d+�Z-G d,d-� d-�Z.dS )0a�
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.X:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2019 (x86, x64, arm, arm64)
This may also support compilers shipped with compatible Visual Studio versions.
� N)�open)�listdir�pathsep)�join�isfile�isdir�dirname)�
LegacyVersion� )�
get_unpatched�Windows)�environc @ s e Zd ZdZdZdZdZdS )�winregN)�__name__�
__module__�__qualname__�
HKEY_USERS�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINE�HKEY_CLASSES_ROOT� r r �</opt/cppython/lib/python3.8/site-packages/setuptools/msvc.pyr * s r )�Regc C s� d}|d| f }zt �|d�}W nJ tk
rj z|d| f }t �|d�}W n tk
rd d}Y nX Y nX |r�t|d�}t|�r�|S tt�| �S )a�
Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone
compiler build for Python
(VCForPython / Microsoft Visual C++ Compiler for Python 2.7).
Fall back to original behavior when the standalone compiler is not
available.
Redirect the path of "vcvarsall.bat".
Parameters
----------
version: float
Required Microsoft Visual C++ version.
Return
------
str
vcvarsall.bat path
z-Software\%sMicrosoft\DevDiv\VCForPython\%0.1f� �
installdirzWow6432Node\N�
vcvarsall.bat)r � get_value�KeyErrorr r r �msvc9_find_vcvarsall)�versionZvc_base�key�
productdir� vcvarsallr r r r A s
r �x86c
O s� zt t�}|| |f|�|�W S tjjk
r4 Y n tk
rF Y nX zt|| ��� W S tjjk
r� } zt|| |� � W 5 d}~X Y nX dS )ao
Patched "distutils.msvc9compiler.query_vcvarsall" for support extra
Microsoft Visual C++ 9.0 and 10.0 compilers.
Set environment without use of "vcvarsall.bat".
Parameters
----------
ver: float
Required Microsoft Visual C++ version.
arch: str
Target architecture.
Return
------
dict
environment
N) r �msvc9_query_vcvarsall� distutils�errors�DistutilsPlatformError�
ValueError�EnvironmentInfo�
return_env�_augment_exception)�ver�arch�args�kwargs�orig�excr r r r$ k s r$ c C s� zt �t jddt jt jB �} W n tk
r4 Y dS X d}d}| �� t�� D ]�}zt �| |�\}}}W n tk
r� Y q�Y nX |rL|t j krLt
|�rLztt|��}W n t
tfk
r� Y qLY nX |dkrL||krL|| }}qLW 5 Q R X ||fS )�0Python 3.8 "distutils/_msvccompiler.py" backportz'Software\Microsoft\VisualStudio\SxS\VC7r �NNN� )r �OpenKeyr �KEY_READZKEY_WOW64_32KEY�OSError� itertools�count� EnumValue�REG_SZr �int�floatr( � TypeError)r �best_version�best_dir�i�vZvc_dir�vtr r r r �_msvc14_find_vc2015� s2
�
rD c C s� t �d�pt �d�} | sdS z8t�t| ddd�ddd d
ddd
dg �jddd��� }W n tjtt fk
rr Y dS X t|ddd�}t
|�r�d|fS dS )a� Python 3.8 "distutils/_msvccompiler.py" backport
Returns "15, path" based on the result of invoking vswhere.exe
If no install is found, returns "None, None"
The version is returned to avoid unnecessarily changing the function
result. It may be ignored when the path is not None.
If vswhere.exe is not available, by definition, VS 2017 is not
installed.
�ProgramFiles(x86)�ProgramFilesr3 zMicrosoft Visual StudioZ Installerzvswhere.exez-latestz-prereleasez -requiresz1Microsoft.VisualStudio.Component.VC.Tools.x86.x64z -property�installationPathz -products�*�mbcs�strict)�encodingr&