Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
msvc.cpython-313.pyc792 linesDownload Raw Back to __pycache__
1�

2`j�����%SrSSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSK	J3r4JrJr SSK
Jr SSKJr SSKJr SSKr\5(aSS	KJrJr \6(d \R0"5S7:XaSSKrSSKJr O"SS
5r\"5rS\S'"SS5r"SS5r"SS5r"SS\5r "SS5r!g)zo8Environment info about Microsoft Compilers.9 10>>> getfixture('windows_only')11>>> ei = EnvironmentInfo('amd64')12�)�annotationsN)�
TYPE_CHECKING�	TypedDict�overload)�unique_everseen�)�StrPath)�py310)�
LiteralString�NotRequired�Windows)�environc�$�\rSrSrSrSrSrSrSrg)�winreg�#N�)	�__name__�13__module__�__qualname__�__firstlineno__�14HKEY_USERS�HKEY_CURRENT_USER�HKEY_LOCAL_MACHINE�HKEY_CLASSES_ROOT�__static_attributes__r��AD:\code\apps\devtools\python\Lib\site-packages\setuptools/msvc.pyrr#s���15� ��!�� �rrzdict[str, str]rc��\rSrSrSr\R"SS5R5rSSjr	\16SSj5rSSjrSSjr
SSS	jjrSSS17jjrSSSjjrSrg
)�PlatformInfo�,zi18Current and Target Architectures information.19 20Parameters21----------22arch: str23    Target architecture.24�processor_architecture�c�N�UR5RSS5Ulg)N�x64�amd64)�lower�replace�arch)�selfr(s  r�__init__�PlatformInfo.__init__8s���J�J�L�(�(���8��	rc�X�URURRS5S-S$)zC25Return Target CPU architecture.26 27Return28------29str30    Target CPU31�_rN)r(�find�r)s r�32target_cpu�PlatformInfo.target_cpu;s(���y�y�������,�q�0�2�3�3rc� �URS:H$)zW33Return True if target CPU is x86 32 bits..34 35Return36------37bool38    CPU is x86 32 bits39�x86�r0r/s r�
target_is_x86�PlatformInfo.target_is_x86Gs�����%�'�'rc� �URS:H$)zX40Return True if current CPU is x86 32 bits..41 42Return43------44bool45    CPU is x86 32 bits46r3��current_cpur/s r�current_is_x86�PlatformInfo.current_is_x86Rs�����5�(�(rc��URS:Xa	U(aS$URS:Xa	U(aS$SUR3$)u47Current platform specific subfolder.48 49Parameters50----------51hidex86: bool52    return '' and not '†' if architecture is x86.53x64: bool54    return 'd' and not 'md64' if architecture is amd64.55 56Return57------58str59    subfolder: '        arget', or '' (see hidex86 parameter)60r3r"r%�\x64�\r8�r)�hidex86r$s   r�current_dir�PlatformInfo.current_dir]sR��$� � �E�)�g�
�	61�� � �G�+���	62�63�d�&�&�'�(�	64rc��URS:Xa	U(aS$URS:Xa	U(aS$SUR3$)a65Target platform specific subfolder.66 67Parameters68----------69hidex86: bool70    return '' and not '\x86' if architecture is x86.71x64: bool72    return '\x64' and not '\amd64' if architecture is amd64.73 74Return75------76str77    subfolder: '\current', or '' (see hidex86 parameter)78r3r"r%r=r>r4r?s   r�79target_dir�PlatformInfo.target_dirusL��$���5�(�W�
�	80����7�*�s��	81�82�d�o�o�&�'�	83rc��U(aSOURnURU:XaS$UR5RSSUS35$)a84Cross platform specific subfolder.85 86Parameters87----------88forcex86: bool89    Use 'x86' as current architecture even if current architecture is90    not x86.91 92Return93------94str95    subfolder: '' if target architecture is current architecture,96    '\current_target' if not.97r3r"r>r-)r9r0rDr')r)�forcex86�currents   r�	cross_dir�PlatformInfo.cross_dir�sQ�� $�%��)9�)9�����'�)�
�	98����"�*�*�4�2�g�Y�a��A�	99r)r(N)r(�str�return�None�rLrK)rL�bool)FF�F)rrrr�__doc__r�getr&r9r*�propertyr0r5r:rArDrIrrrrrr,sZ����+�+�6��;�A�A�C�K�9��	4��	4�	(�	)�100�0101�0102�103rrc�z�\rSrSrSr\R\R\R\R4r104SSjr\SSj5r
\SSj5r\SSj5r\SSj5r\SSj5r\SS	j5r\SS105j5r\SSj5r\SSj5r\SSS
jj5r\SSSjj5rSSSjjrSSjrSrg)�RegistryInfo�z�106Microsoft Visual Studio related registry information.107 108Parameters109----------110platform_info: PlatformInfo111    "PlatformInfo" instance.112c��Xlg�N��pi)r)�
platform_infos  rr*�RegistryInfo.__init__�s���rc��g)zP113Microsoft Visual Studio root registry key.114 115Return116------117str118    Registry key119�VisualStudiorr/s r�visualstudio�RegistryInfo.visualstudio�s��rc�V�[RRURS5$)zO120Microsoft Visual Studio SxS registry key.121 122Return123------124str125    Registry key126�SxS)�os�path�joinr_r/s r�sxs�RegistryInfo.sxs�s���w�w�|�|�D�-�-�u�5�5rc�V�[RRURS5$)zL127Microsoft Visual C++ VC7 registry key.128 129Return130------131str132    Registry key133�VC7�rcrdrerfr/s r�vc�RegistryInfo.vc�����w�w�|�|�D�H�H�e�,�,rc�V�[RRURS5$)zO134Microsoft Visual Studio VS7 registry key.135 136Return137------138str139    Registry key140�VS7rjr/s r�vs�RegistryInfo.vs�rmrc��g)zS141Microsoft Visual C++ for Python registry key.142 143Return144------145str146    Registry key147zDevDiv\VCForPythonrr/s r�
vc_for_python�RegistryInfo.vc_for_python�s��%rc��g)zA148Microsoft SDK registry key.149 150Return151------152str153    Registry key154zMicrosoft SDKsrr/s r�
microsoft_sdk�RegistryInfo.microsoft_sdk�s�� rc�V�[RRURS5$)zR155Microsoft Windows/Platform SDK registry key.156 157Return158------159str160    Registry key161r
�rcrdrervr/s r�windows_sdk�RegistryInfo.windows_sdks���w�w�|�|�D�.�.�	�:�:rc�V�[RRURS5$)zP162Microsoft .NET Framework SDK registry key.163 164Return165------166str167    Registry key168�NETFXSDKryr/s r�	netfx_sdk�RegistryInfo.netfx_sdk
s���w�w�|�|�D�.�.�169�;�;rc��g)zP170Microsoft Windows Kits Roots registry key.171 172Return173------174str175    Registry key176zWindows Kits\Installed Rootsrr/s r�windows_kits_roots�RegistryInfo.windows_kits_rootss��/rc��grXr�r)�keyr3s   r�	microsoft�RegistryInfo.microsoft%s��QTrc��grXrr�s   rr�r�'s��=@rc��URR5(dU(aSOSn[RR	SUSU5$)z�177Return key in Microsoft software registry.178 179Parameters180----------181key: str182    Registry key path where look.183x86: bool184    Force x86 software registry.185 186Return187------188str189    Registry key190r"�Wow6432Node�Software�	Microsoft)rZr:rcrdre)r)r�r3�node64s    rr�r�)s8�� �w�w�-�-�/�/�3��M���w�w�|�|�J���S�A�Arc	�>�[Rn[Rn[RnURnUR191HBnSnU"Xv"U5SU5n[R"X�5SU(aU"U5 s $s $ g![aI URR5(d&U"Xv"US5SU5nNn![a M�f=fM�f=f![a Of=fU(a192U"U5 M�M�!U(a	U"U5 ff=f)z�193Look for values in registry in Microsoft software registry.194 195Parameters196----------197key: str198    Registry key path where look.199name: str200    Value name to find.201 202Return203------204str | None205    value206NrT)207r�KEY_READ�OpenKey�CloseKeyr��HKEYS�OSErrorrZr:�QueryValueEx)	r)r��name�key_read�openkey�closekey�ms�hkey�bkeys	         r�lookup�RegistryInfo.lookup<s
�� �?�?���.�.���?�?��
�^�^���J�J�D��D�	
��t�R��W�a��:��
#��*�*�4�6�q�9���T�N��#�&���
��w�w�-�-�/�/�!�&�t�R��T�]�A�x�H���"�!� �!���
���
��
�����T�N���4��T�N��sT�B� C&�)C#�:C
�
208C�C#�C�C#�"C#�&209C3�0D210�2C3�3D211�212DrYN)r[rrLrM)rLrrP)r�rr3rOrLr)r�rKr3rOrLrK)r�rKr�rKrL�213str | None)rrrrrQrrrrrr�r*rSr_rfrkrprsrvrzr~r�rr�r�rrrrrUrU�s���	���� � ��!�!�� � �	
�E� ��	��	��	6��	6��	-��	-��	-��	-��	%��	%��	 ��	 ��	;��	;��	<��	<��	/��	/��T��T�
�@��@�B�&'rrUc�(�\rSrSrSr\R"SS5r\R"SS5r\R"S\5r	S!S"Sjjr214S	rS#S215jrS$Sjr
\S5r\S%S
j5r\S%Sj5rSrSr\S&Sj5r\S%Sj5r\S%Sj5r\S'Sj5r\S%Sj5r\S'Sj5r\S%Sj5r\S&Sj5r\S'Sj5r\S%Sj5r\S%Sj5r\S(Sj5r \S(Sj5r!S(Sjr"\S)S*Sjj5r#S r$g)+�216SystemInfoifz�217Microsoft Windows and Visual Studio related system information.218 219Parameters220----------221registry_info: RegistryInfo222    "RegistryInfo" instance.223vc_ver: float224    Required Microsoft Visual C++ version.225�WinDirr"�ProgramFileszProgramFiles(x86)Nc��XlURRUlUR5UlU=(d UR	5=UlUlgrX)�rirZ�find_programdata_vs_vers�known_vs_paths�_find_latest_available_vs_ver�vs_ver�vc_ver)r)�
registry_infor�s   rr*�SystemInfo.__init__xsG�� ���'�'�*�*���"�;�;�=���%+�$R�d�.P�.P�.R�R���d�krc���UR5nU(d0UR(d[RR	S5e[U5nUR
UR5 [U5$)z=226Find the latest VC version227 228Return229------230float231    version232z%No Microsoft Visual C++ version found)�find_reg_vs_versr��	distutils�errors�DistutilsPlatformError�set�update�max)r)�reg_vc_vers�vc_verss   rr��(SystemInfo._find_latest_available_vs_ver�sa���+�+�-���t�2�2��"�"�9�9�7��
��k�"�����t�*�*�+��7�|�rc233��URRnURRURRURR4n/n[234R"URRU5GH.upE[R"XA"U5S[R5nU [R"U5upxn	[U5H^n235[R"[ 5 [#[R$"Xj5S5nX�;aUR'U5 SSS5 M` [U5H[n236[R"[ 5 [#[R("Xj55nX�;aUR'U5 SSS5 M] SSS5 GM1 [+U5$![a GMLf=f!,(df   GM=f!,(df   M�=f!,(df   GM�=f)zh237Find Microsoft Visual Studio versions available in registry.238 239Return240------241list of float242    Versions243rN)r�r�rkrsrp�	itertools�productr�rr�r�r��QueryInfoKey�range�244contextlib�suppress�245ValueError�float�	EnumValue�append�EnumKey�sorted)r)r��vckeys�vs_versr�r�r��subkeys�valuesr-�i�vers            rr��SystemInfo.find_reg_vs_vers�sw���W�W�
�
���'�'�*�*�d�g�g�3�3�T�W�W�Z�Z�@����"�*�*�4�7�7�=�=�&�A�I�D�
��~�~�d�B�s�G�Q����H���%+�%8�%8��%>�"����v��A�#�,�,�Z�8�#�F�$4�$4�T�$=�a�$@�A���-�#�N�N�3�/�9�8�'�246�w��A�#�,�,�Z�8�#�F�N�N�4�$;�<���-�#�N�N�3�/�9�8�(���B�"�g�����
��
��2479�8��2489�8����sO�,G�:AG:�<9G	�54G:�)6G(	�G:�249G�G�250G%
�	G:�(251G7
�2G:�:252H253	c���0nSn[R"U5nUH�n[RR	X$S5n[USSS9n[R"U5nSSS5 WSn[R"[RR	US55 UXRUS	5'M� U$![a Us$f=f!,(df   Nu=f![[4a M�f=f)254z�255Find Visual studio 2017+ versions from information in256"C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances".257 258Return259------260dict261    float version as key, path as value.262z9C:\ProgramData\Microsoft\VisualStudio\Packages\_Instancesz263state.json�rtzutf-8)�encodingN�installationPath�
VC\Tools\MSVC�installationVersion)264rc�listdirr�rdre�open�json�load�_as_float_version�KeyError)	r)�vs_versions�
instances_dir�hashed_namesr��265state_path�266state_file�state�vs_paths	         rr��#SystemInfo.find_programdata_vs_vers�s���)+��T�
�	��:�:�m�4�L�!�D�
��W�W�\�\�-�|�L�267��*�d�W�=�� �I�I�j�1�E�>�� 2�3���268�269�2�7�7�<�<��1A�B�C���2�2�5�9N�3O�P�Q�!�(���1�	���	��>�=���X�&�
��
�s;�C�+C$�
C�$AC$�C�C�270C!	�C$�$C8�7C8c�Z�[SRURS5SS55$)z�271Return a string version as a simplified float version (major.minor)272 273Parameters274----------275version: str276    Version.277 278Return279------280float281    version282�.N�)r�re�split)�versions rr��SystemInfo._as_float_version�s(���S�X�X�g�m�m�C�0��!�4�5�6�6rc���[RRURSURS35nUR283R
UR284RURS5=(d U$)z@285Microsoft Visual Studio directory.286 287Return288------289str290    path291�Microsoft Visual Studio �0.1f)rcrdre�ProgramFilesx86r�r�r�rp)r)�defaults  r�VSInstallDir�SystemInfo.VSInstallDir�s]���'�'�,�,�� � �$<�T�[�[��<N�"O�292��293�w�w�~�~�d�g�g�j�j�T�[�[��,>�@�K�G�Krc���UR5=(d UR5n[RR	U5(d!Sn[294RRU5eU$)z=295Microsoft Visual C++ directory.296 297Return298------299str300    path301z(Microsoft Visual C++ directory not found)�	_guess_vc�_guess_vc_legacyrcrd�isdirr�r�r�)r)rd�msgs   r�VCInstallDir�SystemInfo.VCInstallDirsR���~�~��:�4�#8�#8�#:���w�w�}�}�T�"�"�<�C��"�"�9�9�#�>�>��rc��URS::agURURn[R302R
US5n[R"U5SnURU5Ul	[R303R
X#5$![a URnN�f=f![[4a gf=f)z<304Locate Visual C++ for VS2017+.305 306Return307------308str309    path310�,@r"r������)r�r�r�r�rcrdrer�r�r�r��311IndexError)r)�vs_dir�guess_vcr�s    rr��SystemInfo._guess_vcs����;�;�$���	'��(�(����5�F�312�7�7�<�<��(8�9��	��Z�Z��)�"�-�F��0�0��8�D�K��7�7�<�<��1�1���	'��&�&�F�	'����$�	��	�s$�B�
A
B7�B4�3B4�7C313�	C314c��[RRURSURSS35n[RRUR315RURS5nUR316RUS5nU(a [RRUS5OUnUR317RUR318RURS5=(d U$)zK319Locate Visual C++ for versions prior to 2017.320 321Return322------323str324    path325r�r�z\VC�326installdir�VC)	rcrdrer�r�r�rsr�rk)r)r��reg_path�	python_vc�327default_vcs     rr��SystemInfo._guess_vc_legacy3s����'�'�,�,�� � �'����D�'9��=�328���7�7�<�<���� 5� 5�$�+�+�d�9K�M���G�G�N�N�8�\�:�	�6?�R�W�W�\�\�)�T�2�W�329��w�w�~�~�d�g�g�j�j�T�[�[��,>�@�N�J�Nrc��URS::agURS:XagURS:XagURS:XagURS	:�ag330g)zg331Microsoft Windows SDK versions for specified MSVC++ version.332 333Return334------335tuple of str336    versions337�"@)z7.0z6.1z6.0a�$@)z7.1z7.0a�&@)z8.0z8.0a�(@)�8.1z8.1ar�)z10.0rr�r�r/s r�WindowsSdkVersion�SystemInfo.WindowsSdkVersionIsR���;�;�#��'�
�[�[�D�
 � �
�[�[�D�
 � �
�[�[�D�
 � �
�[�[�D�
 � �rc�t�UR[RRURS55$)zD338Microsoft Windows SDK last version.339 340Return341------342str343    version344�lib)�_use_last_dir_namercrdre�
WindowsSdkDirr/s r�WindowsSdkLastVersion� SystemInfo.WindowsSdkLastVersion_s*���&�&�r�w�w�|�|�D�4F�4F��'N�O�Orc�"�SnURH_n[RRURR345SU35nURR
US5nU(dM_ O U(a$[RRU5(d�[RRURRURS5nURR
US5nU(a [RRUS5nU(a$[RRU5(d~URHnnUSURS5nS	U3n[RRURU5n[RRU5(dMlUnMp U(a$[RRU5(djURHZnS346U3n[RRURU5n[RRU5(dMXUnM\ U(d*[RRURS5nU$)z>347Microsoft Windows SDK directory.348 349Return350------351str352    path353r"�v�installationfolderr�r��WinSDKNr�zMicrosoft SDKs\Windows Kits\zMicrosoft SDKs\Windows\v�PlatformSDK)
rrcrdrer�rzr�r�rsr��rfindr�r�)r)�sdkdirr��locrd�install_base�intver�ds        rr
�SystemInfo.WindowsSdkDirks��� ���)�)�C��'�'�,�,�t�w�w�2�2�a��u�I�>�C��W�W�^�^�C�)=�>�F��v��*��R�W�W�]�]�6�2�2��7�7�<�<���� 5� 5�$�+�+�d�9K�M�D��7�7�>�>�$��=�L�������l�H�=���R�W�W�]�]�6�2�2��-�-���-�s�y�y��~�.��6�v�h�?���G�G�L�L��!2�!2�D�9���7�7�=�=��#�#��F�.��R�W�W�]�]�6�2�2��-�-��2�3�%�8���G�G�L�L��!2�!2�D�9���7�7�=�=��#�#��F�	.�354��W�W�\�\�$�"3�"3�]�C�F��
rc�x�URS::aSnSnO@SnURS::aSOSnURRSUS9RS	S3555nSUSU3n/nURS
:�aKURH;nU[356RRURRXd5/-
nM= URH@nU[357RRURRSUS3U5/-
nMB UH*nURRUS5nU(dM(Us $ g)zP358Microsoft Windows SDK executable directory.359 360Return361------362str | None363    path364rrr"�(rTF)r$r@r>�-zWinSDK-NetFx�Toolsr�r�ArN)
r�rZrAr'�NetFxSdkVersionrcrdrer�r~rrzr�)	r)�netfxverr(r@�fx�regpathsr�rd�execpaths	         r�WindowsSDKExecutablePath�#SystemInfo.WindowsSDKExecutablePath�s%���;�;�$���H��D��H�"�k�k�T�1�d�u�G��7�7�&�&�4��&�A�I�I�$�PS�T�D��H�:�U�4�&�
1�����;�;�$���+�+���R�W�W�\�\�$�'�'�*;�*;�S�E�F�F��,��)�)�C�������d�g�g�&9�&9�Q�s�e�1�:�r�J�K�K�H�*��D��w�w�~�~�d�,@�A�H��x����365rc���[RRURRUR366SS35nURR
US5=(d S$)z<367Microsoft Visual F# directory.368 369Return370------371str372    path373r�z	\Setup\F#�374productdirr")rcrdrer�r_r�r�)r)rds  r�FSharpInstallDir�SystemInfo.FSharpInstallDir�sJ���w�w�|�|�D�G�G�0�0�d�k�k�$�5G�y�2Q�R���w�w�~�~�d�L�1�7�R�7rc��URS:�aSOSnUHAnURRURRSU35nU(dM?Us $ g)zK375Microsoft Universal CRT SDK directory.376 377Return378------379str | None380    path381r�)�10�81r�kitsrootN)r�r�r�r�)r)�versr�rs    r�UniversalCRTSdkDir�SystemInfo.UniversalCRTSdkDir�sV�� $�{�{�d�2�|����C��W�W�^�^�D�G�G�$>�$>�(�3�%�@P�Q�F��v��
��382rc���UR[RRURS55$![383an[R"US5 eSnAff=f)zP384Microsoft Universal C Runtime SDK last version.385 386Return387------388str389    version390r�Cannot find UniversalCRTSdkDirN)rrcrdrer1�	TypeErrorr391�add_note)r)�exs  r�UniversalCRTSdkLastVersion�%SystemInfo.UniversalCRTSdkLastVersion�sP��	��*�*�2�7�7�<�<��8O�8O�QV�+W�X�X���	��N�N�2�?�@���	�s�8;�392A"�A�A"c�*�URS:�aS$S$)zQ393Microsoft .NET Framework SDK versions.394 395Return396------397tuple of str398    versions399r�)	z4.7.2z4.7.1z4.7z4.6.2z4.6.1z4.6z4.5.2z4.5.1z4.5rrr/s rr!�SystemInfo.NetFxSdkVersion�s%���{�{�d�"�
X�	400��	401rc���SnURH]n[RRURR402U5nURR
US5nU(dM\ U$ U$)zL403Microsoft .NET Framework SDK directory.404 405Return406------407str | None408    path409r"�kitsinstallationfolder)r!rcrdrer�r~r�)r)rr�rs    r�NetFxSdkDir�SystemInfo.NetFxSdkDir�s`�� ���'�'�C��'�'�,�,�t�w�w�0�0�#�6�C��W�W�^�^�C�)A�B�F��v���
�(�410�
rc���[RRURS5nURRURRS5=(d U$)zG411Microsoft .NET Framework 32bit directory.412 413Return414------415str416    path417zMicrosoft.NET\Framework�frameworkdir32�rcrdrer�r�r�rk�r)�guess_fws  r�FrameworkDir32�SystemInfo.FrameworkDir32sB���7�7�<�<����-G�H���w�w�~�~�d�g�g�j�j�*:�;�G�x�Grc���[RRURS5nURRURRS5=(d U$)zG418Microsoft .NET Framework 64bit directory.419 420Return421------422str423    path424zMicrosoft.NET\Framework64�frameworkdir64rBrCs  r�FrameworkDir64�SystemInfo.FrameworkDir64 sB���7�7�<�<����-I�J���w�w�~�~�d�g�g�j�j�*:�;�G�x�Grc�$�URS5$)zS425Microsoft .NET Framework 32bit versions.426 427Return428------429tuple of str430    versions431� ��_find_dot_net_versionsr/s r�FrameworkVersion32�SystemInfo.FrameworkVersion320����*�*�2�.�.rc�$�URS5$)zS432Microsoft .NET Framework 64bit versions.433 434Return435------436tuple of str437    versions438�@rMr/s r�FrameworkVersion64�SystemInfo.FrameworkVersion64<rQrc��URRURRSU35n[USU35nU=(d UR	US5=(d SnUR439S:�aUS4$UR440S:�aUR
5SS	S441:waSS4$US4$UR442S
:XagUR443S:Xagg)z�444Find Microsoft .NET Framework versions.445 446Parameters447----------448bits: int449    Platform number of bits: 32 or 64.450 451Return452------453tuple of str454    versions455�frameworkver�FrameworkDirrr"rzv4.0rNr��v4z456v4.0.30319�v3.5r)rZ�457v2.0.50727g @)zv3.0r[r)r�r�rk�getattrrr�r&)r)�bits�reg_ver�dot_net_dirr�s     rrN�!SystemInfo._find_dot_net_versionsHs����'�'�.�.������|�D�6�-B�C���d�l�4�&�$9�:���H��0�0��c�B�H�b���;�;�$����;��
�[�[�D�
 �#&�9�9�;�r��?�d�#:�<�V�K�K��V�K�K�
�[�[�C�
�'�
�[�[�C�
�'�rc�r^^�UU4Sj[[R"T555n[US5$)z�458Return name of the last dir in path or '' if no dir found.459 460Parameters461----------462path: StrPath463    Use dirs in this path464prefix: str465    Use only dirs starting by this prefix466 467Return468------469str470    name471c3��># �UHcn[RR[RRTU55(dMGUR	T5(dM_Uv� Me g7frX)rcrdr�re�472startswith)�.0�dir_namerd�prefixs  ��r�	<genexpr>�0SystemInfo._use_last_dir_name.<locals>.<genexpr>wsN����473�6���w�w�}�}�R�W�W�\�\�$��9�:�
��#�#�F�+�
�H�6�s�AA.�
A.�%	A.r")�reversedrcr��next)rdrf�
matching_dirss`` rr�SystemInfo._use_last_dir_namefs/���"474�$�R�Z�Z��%5�6�475�
��M�2�&�&r)r�rZr�r�r�rX)r�rUr�zfloat | NonerLrM)rLzlist[float])rLzdict[float, str]rN)rLztuple[LiteralString, ...]�rLr�)rLztuple[str, ...])r")rdr	rfrKrLrK)%rrrrrQrrRr�r�r�r*r�r�r��staticmethodr�rSr�r�r�r�rrr
r&r*r1r8r!r>rErIrOrTrNrrrrrr�r�fs���	��[�[��2�
&�F��;�;�~�r�2�L��k�k�"5�|�D�O�CG�	S�)�	S�3?�	S�	
�	S��(�>(�T�7��7� �L��L�"����"�<O�,����*�	P��	P��(��(�T�"��"�H�4768��4778�����(�
��
��478��479� ����"�
H��
H��
H��
H��	/��	/��	/��	/��<�'��'rr�c�H�\rSrSr%S\S'S\S'S\S'S\S'S\S'S	rg480)�_EnvironmentDicti�rK�includer�libpathrdzNotRequired[str | None]�py_vcruntime_redistrN)rrrr�__annotations__rrrrrprp�s��
�L�	�H�
�L�481
�I�0�0rrpc���\rSrSrSrS!S"Sjjr\S5r\S5r\S5r	\S5r482\S	5r\S4835r\S5r
\S5r\S
5r\S5r\S5rSr\S#Sj5r\S5r\S5r\S5r\S5r\S5r\S5r\S5r\S$Sj5r\S$Sj5r\S#Sj5r\S5r\S%Sj5rS&S'Sjjr Sr!S r"g)(�EnvironmentInfoi�a484Return environment variables for specified Microsoft Visual C++ version485and platform : Lib, Include, Path and libpath.486 487This function is compatible with Microsoft Visual C++ 9.0 to 14.X.488 489Script created by analysing Microsoft environment configuration files like490"vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ...491 492Parameters493----------494arch: str495    Target architecture.496vc_ver: float497    Required Microsoft Visual C++ version. If not set, autodetect the last498    version.499vc_min_ver: float500    Minimum Microsoft Visual C++ version.501Nc���[U5Ul[UR5Ul[	URU5UlURU:a!Sn[RRU5eg)Nz.No suitable Microsoft Visual C++ version found)502rrZrUr�r��sir�r�r�r�)r)r(r��503vc_min_ver�errs     rr*�EnvironmentInfo.__init__�s]���t�$����t�w�w�'����T�W�W�f�-����;�;��#�B�C��"�"�9�9�#�>�>�$rc�.�URR$)z;504Microsoft Visual Studio.505 506Return507------508float509    version510)rxr�r/s rr��EnvironmentInfo.vs_ver�����w�w�~�~�rc�.�URR$)z@511Microsoft Visual C++ version.512 513Return514------515float516    version517)rxr�r/s rr��EnvironmentInfo.vc_ver�r~rc��SS/nURS:�a/URRSSS9nUS/-
nUS/-
nUSU3/-
nUVs/sH7n[RRURRU5PM9 sn$s snf)zE518Microsoft Visual Studio Tools.519 520Return521------522list of str523    paths524zCommon7\IDEz
Common7\Toolsr�T�r@r$z1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance Tools)r�rZrArcrdrerxr�)r)�paths�arch_subdirrds    r�VSTools�EnvironmentInfo.VSTools�s��� �!1�2���;�;�$���'�'�-�-�d��-�E�K��J�K�K�E��5�6�6�E��5�k�]�C�D�D�E�EJ�K�U�T������T�W�W�1�1�4�8�U�K�K��Ks�>B	c���[RRURRS5[RRURRS5/$)zb525Microsoft Visual C++ & Microsoft Foundation Class Includes.526 527Return528------529list of str530    paths531�IncludezATLMFC\Include)rcrdrerxr�r/s r�532VCIncludes�EnvironmentInfo.VCIncludes�sG��
�G�G�L�L����-�-�y�9��G�G�L�L����-�-�/@�A�533�	534rc�b�URS:�aURRSS9nOURRSS9nSU3SU3/nURS:�a	USU3/-
nUVs/sH7n[RRURRU5PM9 sn$s snf)	zc535Microsoft Visual C++ & Microsoft Foundation Class Libraries.536 537Return538------539list of str540    paths541�.@T�r$�r@�Libz542ATLMFC\Libr�z	Lib\store)r�rZrDrcrdrerxr�)r)r�r�rds    r�VCLibraries�EnvironmentInfo.VCLibraries�s����;�;�$���'�'�,�,��,�6�K��'�'�,�,�T�,�:�K��{�m�$��K�=�&A�B���;�;�$����;�-�0�1�1�E�EJ�K�U�T������T�W�W�1�1�4�8�U�K�K��Ks�+>B,c��URS:a/$[RRURR543S5/$)zW544Microsoft Visual C++ store references Libraries.545 546Return547------548list of str549    paths550r�zLib\store\references)r�rcrdrerxr�r/s r�VCStoreRefs�EnvironmentInfo.VCStoreRefs�s8���;�;����I������T�W�W�1�1�3J�K�L�Lrc	��URn[RRURS5/nUR551S::aSOSnURRU5nU(a1U[RRURSU35/-
nUR552S:XaLSURRSS93nU[RRURU5/-
nU$UR553S:�GaURRRS	S5545R5n[RRSSUS
35nU[RRURXpRRSS9-5/-
nURRURR:waGU[RRURXpRRSS9-5/-
nU$U[RRURS5/-
nU$)ak555Microsoft Visual C++ Tools.556 557Return558------559list of str560    paths561 562When host CPU is ARM, the tools should be found for ARM.563 564>>> getfixture('windows_only')565>>> mp = getfixture('monkeypatch')566>>> mp.setattr(PlatformInfo, 'current_cpu', 'arm64')567>>> ei = EnvironmentInfo(arch='irrelevant')568>>> paths = ei.VCTools569>>> any('HostARM64' in path for path in paths)570True571�572VCPackagesrTF�Binr�r�r�r%r$�bin�Hostz%sr�)rxrcrdrer�r�rZrIrAr9r'�upperrDr0)r)rx�toolsrGr�rd�host_id�host_dirs        r�VCTools�EnvironmentInfo.VCToolss���(�W�W�������b�o�o�|�<�=���;�;�$�.�4�E���g�g�'�'��1����b�g�g�l�l�2�?�?�c�+��4G�H�I�I�E��;�;�$������,�,�T�,�:�;�<�D��b�g�g�l�l�2�?�?�D�9�:�:�E�&��#�[�[�D�
 ��g�g�)�)�1�1�'�5�A�G�G�I�G��w�w�|�|�E�T�'��"�+=�>�H�������R�_�_�h���9K�9K�PT�9K�9U�.U�V��
�E��w�w�"�"�d�g�g�&8�&8�8���G�G�L�L�����G�G�4G�4G�D�4G�4Q�)Q�������
�b�g�g�l�l�2�?�?�E�:�;�;�E��rc���URS::aRURRSSS9n[RRURRSU35/$URRSS9n[RRURRS5nURn[RRX#SU35/$)zG573Microsoft Windows SDK Libraries.574 575Return576------577list of str578    paths579rTr�r�r�r�um)	r�rZrDrcrdrerxr
�_sdk_subdir)r)r�r�libvers    r�OSLibraries�EnvironmentInfo.OSLibraries:s����;�;�$���'�'�,�,�T�t�,�D�K��G�G�L�L����!6�!6�#�k�]�8K�L�M�M��'�'�,�,��,�6�K��'�'�,�,�t�w�w�4�4�e�<�C��%�%�F��G�G�L�L����;�-�&@�A�B�Brc���[RRURRS5nUR580S::a"U[RRUS5/$UR581S:�a
URnOSn[RRXS35[RRXS35[RRXS35/$)	zE582Microsoft Windows SDK Include.583 584Return585------586list of str587    paths588rqr�glr�r"�sharedr��winrt)rcrdrerxr
r�r�)r)rq�sdkvers   r�589OSIncludes�EnvironmentInfo.OSIncludesNs����'�'�,�,�t�w�w�4�4�i�@���;�;�$���R�W�W�\�\�'�4�8�9�9��{�{�d�"��)�)���������W���&7�8������W���m�4������W���&6�7��
rc���[RRURRS5n/nUR590S::aX R-
nUR591S:�a$U[RRUS5/-
nUR592S:�a�UU[RRURRS5[RRUSS5[RRUS	S5[RRUS593S5[RRURRSSUR594S
SSS5/-
nU$)zM595Microsoft Windows SDK Libraries Paths.596 597Return598------599list of str600    paths601�602ReferencesrrzCommonConfiguration\Neutralr��
UnionMetadataz'Windows.Foundation.UniversalApiContractz1.0.0.0z%Windows.Foundation.FoundationContractz,Windows.Networking.Connectivity.WwanContract�
ExtensionSDKszMicrosoft.VCLibsr��CommonConfiguration�neutral)rcrdrerxr
r�r�)r)�refrrs   r�	OSLibpath�EnvironmentInfo.OSLibpathhs'���g�g�l�l�4�7�7�0�0�,�?�����;�;�#���'�'�'�G��;�;�$��������S�*H�I�J�J�G��;�;�$���������T�W�W�2�2�O�D������S�"K�Y�W������S�"I�9�U�������G���������G�G�)�)�#�&��{�{�4�(� �)����
�G�$�rc�4�[UR55$)zC603Microsoft Windows SDK Tools.604 605Return606------607list of str608    paths609)�list�610_sdk_toolsr/s r�SdkTools�EnvironmentInfo.SdkTools�s���D�O�O�%�&�&rc#�N# �URS:aJURS::aSOSn[RRURR611U5v� URR5(dTURRSS9nSU3n[RRURR612U5v� URS;axURR5(aSnOURRSSS	9nS613U3n[RRURR614U5v� O�URS:�a�[RRURR615S5nURRSS9nURRn[RRX4U35v� URR(aURRv� gg7f)zX616Microsoft Windows SDK Tools paths generator.617 618Return619------620generator of str621    paths622r�rr�zBin\x86Tr�)rrr"r�zBin\NETFX 4.0 ToolsN)r�rcrdrerxr
rZr:rAr5rr&)r)�bin_dirr�rdr�s     rr��EnvironmentInfo._sdk_tools�s�����;�;���#�{�{�d�2�e�623�G��'�'�,�,�t�w�w�4�4�g�>�>��w�w�%�%�'�'��'�'�-�-�$�-�7�K���
�&�D��'�'�,�,�t�w�w�4�4�d�;�;��;�;�,�&��w�w�$�$�&�&� ��"�g�g�1�1�$�D�1�I��)�+��7�D��'�'�,�,�t�w�w�4�4�d�;�;�
�[�[�D�
 ��7�7�<�<���� 5� 5�u�=�D��'�'�-�-�$�-�7�K��W�W�2�2�F��'�'�,�,�t�x��}�%=�>�>��7�7�+�+��'�'�2�2�2�,�s�H#H%c�J�URRnU(aUS3$S$)zE624Microsoft Windows SDK version subdir.625 626Return627------628str629    subdir630r>r")rxr�r)�ucrtvers  rr��EnvironmentInfo._sdk_subdir�s&���'�'�/�/��#*�7�)�2��2��2rc��URS:�a/$[RRURR631S5/$)zC632Microsoft Windows SDK Setup.633 634Return635------636list of str637    paths638r�Setup)r�rcrdrerxr
r/s r�SdkSetup�EnvironmentInfo.SdkSetup�s7���;�;����I������T�W�W�2�2�G�<�=�=rc��URnURnURS::a4SnUR5(+=(a UR	5(+nOLUR5=(d UR	5nUR639S:H=(d URS:Hn/nU(aHUURVs/sH-n[RRURU5PM/ sn-
nU(aHUURVs/sH-n[RRURU5PM/ sn-
nU$s snfs snf)zF640Microsoft .NET Framework Tools.641 642Return643------644list of str645    paths646rTr%)rZrxr�r5r:r9r0rOrcrdrerErTrI)r)rZrx�	include32�	include64r�r�s       r�FxTools�EnvironmentInfo.FxTools�s���W�W��
�W�W���;�;�$���I��,�,�.�.�J�r�7H�7H�7J�3J�I��(�(�*�A�b�.?�.?�.A�I����'�1�M�R�]�]�g�5M�I�����@B�@U�@U��@U�������R�.�.��4�@U��
�E���@B�@U�@U��@U�������R�.�.��4�@U��
�E������s�4E�4Ec���URS:dURR(d/$URR	SS9n[647RRURRSU35/$)zN648Microsoft .Net Framework SDK Libraries.649 650Return651------652list of str653    paths654r�Tr�zlib\um)r�rxr>rZrDrcrdre)r)r�s  r�NetFxSDKLibraries�!EnvironmentInfo.NetFxSDKLibraries�sa���;�;���T�W�W�%8�%8��I��g�g�(�(�T�(�2�������T�W�W�0�0�V�K�=�2I�J�K�Krc���URS:dURR(d/$[RRURRS5/$)zM655Microsoft .Net Framework SDK Includes.656 657Return658------659list of str660    paths661r�z662include\um)r�rxr>rcrdrer/s r�NetFxSDKIncludes� EnvironmentInfo.NetFxSDKIncludes663sC���;�;���T�W�W�%8�%8��I������T�W�W�0�0�-�@�A�Arc�l�[RRURRS5/$)zT664Microsoft Visual Studio Team System Database.665 666Return667------668list of str669    paths670z
VSTSDB\Deploy)rcrdrerxr�r/s r�VsTDb�EnvironmentInfo.VsTDbs'�������T�W�W�1�1�3C�D�E�Erc��URS:a/$URS:a0URRnURR	SS9nOURR671nSnSURSSU3n[RRX5/nURS:�a$U[RRXS	5/-
nU$)672z>673Microsoft Build Engine.674 675Return676------677list of str678    paths679rr�Tr�r"zMSBuild\r�z\bin�Roslyn)	r�rxr�rZrAr�rcrdre)r)�	base_pathr�rd�builds     r�MSBuild�EnvironmentInfo.MSBuild%s����;�;����I�
�[�[�4�
����/�/�I��'�'�-�-�d�-�;�K����,�,�I��K��4�;�;�t�,�D��
�>�������i�.�/���;�;�$���b�g�g�l�l�9�H�=�>�>�E��rc��URS:a/$[RRURR680S5/$)zD681Microsoft HTML Help Workshop.682 683Return684------685list of str686    paths687rzHTML Help Workshop)r�rcrdrerxr�r/s r�HTMLHelpWorkshop� EnvironmentInfo.HTMLHelpWorkshopAs8���;�;����I������T�W�W�4�4�6J�K�L�Lrc�x�URS:a/$URRSS9n[RRURRS5nURn[RRX$SU35/$![an[R"US5 eSnAff=f)zS688Microsoft Universal C Runtime SDK Libraries.689 690Return691------692list of str693    paths694r�Tr�rr4N�ucrt)r�rZrDrcrdrerxr1r5r695r6�_ucrt_subdir)r)r�rr7r�s     r�
UCRTLibraries�EnvironmentInfo.UCRTLibrariesPs����;�;����I��g�g�(�(�T�(�2��	��'�'�,�,�t�w�w�9�9�5�A�C��#�#�������S�I�T�+��"?�@�A�A��	�	��N�N�2�?�@���	�s�4B�696B9�B4�4B9c�>�URS:a/$[RRURR697S5n[RRXRS35/$![an[R"US5 eSnAff=f)zQ698Microsoft Universal C Runtime SDK Include.699 700Return701------702list of str703    paths704r�rqr4Nr�)705r�rcrdrerxr1r5r706r6r�)r)rqr7s   r�UCRTIncludes�EnvironmentInfo.UCRTIncludesfs����;�;����I�	��g�g�l�l�4�7�7�#=�#=�y�I�G������W�):�):�(;�4�&@�A�B�B���	��N�N�2�?�@���	�s�4A5�5707B�?B�Bc�J�URRnU(aUS3$S$)zQ708Microsoft Universal C Runtime SDK version subdir.709 710Return711------712str713    subdir714r>r")rxr8r�s  rr��EnvironmentInfo._ucrt_subdirzs&���'�'�4�4��#*�7�)�2��2��2rc�f�SURs=:�aS:�a/$ URR/$)z;715Microsoft Visual F#.716 717Return718------719list of str720    paths721rr)r�rxr*r/s r�FSharp�EnvironmentInfo.FSharp�s4���$�+�+�$��$��I�%����(�(�)�)rc�F^^�SURS3mURRSS9RS5m/nURR722n[RRURSS55n[RRU5(a[[RRU[R"U5S5nX[RRUS	5/-
nU[RRUS7235/-
nSURS-S
3S[UR5S-S
34nUU4Sj[R "X55n[#[%[RR&U5S5$)zc724Microsoft Visual C++ runtime redistributable dll.725 726Returns the first suitable path found or None.727�	vcruntimez0.dllTr�r>z\Toolsz\Redistr��onecore�redistzMicrosoft.VC�728z.CRTc3�l># �UH)up[RRUTUT5v� M+ g7frX)rcrdre)rdrf�crt_dirr�r�s   ��rrg�2EnvironmentInfo.VCRuntimeRedist.<locals>.<genexpr>�s1����729�%J�!��
�G�G�L�L���g�y�A�A�%J�s�14N)r�rZrD�striprxr�rcrd�dirnamer'r�rer��intr�r�r�rj�filter�isfile)r)�prefixes�730tools_path�redist_path�crt_dirs�candidate_pathsr�r�s      @@r�VCRuntimeRedist�EnvironmentInfo.VCRuntimeRedist�sM��� ����}�E�2�	��g�g�(�(�T�(�2�8�8��>�����W�W�)�)�731��g�g�o�o�j�&8�&8��J�&O�P��
�7�7�=�=��%�%��'�'�,�,�{�B�J�J�{�4K�B�4O�P�K��b�g�g�l�l�;�	�&J�K�K�H��R�W�W�\�\�*�h�7�8�8���4�;�;��+�,�D�1��3�t�{�{�+�b�0�1��6�732��733�%.�%6�%6�x�%J�734���F�2�7�7�>�>�?�;�T�B�Brc���[URSURURURUR735/U5URSURURURURUR/U5URSURURURUR/U5URSURURURUR UR"URUR$UR&UR(/	U5S9nUR*S:�a UR,(aUR,US'U$)z�736Return environment dict.737 738Parameters739----------740exists: bool741    It True, only return existing paths.742 743Return744------745dict746    environment747rqrrrrd)rqrrrrd�rs)rp�_build_pathsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r)�exists�envs   r�748return_env�EnvironmentInfo.return_env�sR����%�%���O�O��O�O��%�%��)�)�	��	��!�!���$�$��$�$��L�L��&�&��*�*���749��%�%���!�!�4�<�<��1A�1A�4�>�>�R���750�"�"���L�L��L�L��J�J��M�M��M�M��L�L��L�L��)�)��K�K�751���7*752��V�;�;�"���!5�!5�)-�)=�)=�C�%�&��753rc��[RRU5n[R"US5R[R5n[R"XE5nU(a-[[[RRU55OUnU(d2UR5S3n[RRU5e[!U5n	[RR#U	5$)a�754Given an environment variable name and specified paths,755return a pathsep-separated string of paths containing756unique, extant, directories from those paths and from757the environment variable. Raise an error if no paths758are resolved.759 760Parameters761----------762name: str763    Environment variable name764spec_path_lists: list of str765    Paths766exists: bool767    It True, only return existing paths.768 769Return770------771str772    Pathsep-separated paths773r"z environment variable is empty)r��chain�
from_iterablerrRr�rc�pathsepr�r�rdr�r�r�r�r�rre)774r)r��spec_path_listsr�775spec_paths�	env_pathsr��extant_pathsr��unique_pathss776          rr�EnvironmentInfo._build_paths�s���.�_�_�2�2�?�C�777��K�K��b�)�/�/��778�779�;�	����780�6��=C�t�F�2�7�7�=�=�%�8�9�����Z�Z�\�N�"@�A�C��"�"�9�9�#�>�>�&�|�4���z�z���|�,�,r)rZr�rx)Nr)rLrMrN)rLz	list[str]rm)T)rrOrLrp)#rrrrrQr*rSr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrvrv�s���.?��	��	��	��	��L��L�&�781��782��L��L�(�M��M��0��0�d�C��C�&����2�%��%�N�	'��	'�!3�F�7833��7843��>��>�����<�
L��
L��B��B��	F��	F�����6�M��M��B��B�*�C��C�&�7853��7863��*��*�� C�� C�D;�z-rrv)"rQ�787__future__rr�r�r�rc�os.path�platform�typingrrr�more_itertoolsr�_pathr	�compatr788�distutils.errorsr��typing_extensionsrr�systemrr�dictrtrrUr�rprvrrr�<module>rs����#����	���5�5�*�����<�����*�i�7���!�!�#�f�G�^�$�v789�v790�r~�~�BW'�W'�t1�y�1�M791-�M792-r
codekingpro/portable-devtools · Team Ai