
    -Ph                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZddl	m
Z
 ddlmZ ddlmZmZ dgZd	ZddZdddZdS )    )annotationsN   )mlog   )MesonException)
is_windowswindows_detect_native_archsetup_vsenvz"@ECHO OFF

call "{}"

ECHO {}
SET
forceboolreturnc                   t                      sdS t          j                            d          dk    rdS dt          j        vr&dt          j        v rdS t	          j        d          rdS | sXt	          j        d          rdS t	          j        d          rdS t	          j        d	          rdS t	          j        d
          rdS t          j                            d          pt          j                            d          }t          j        |d          }|                                st          d|           t          j        t          |          ddddddddddddg          }t          j        |          }|st          d          t          j        |d         d                   }t                      dk    r|dz  }|                                s|dz  }n|d z  }|                                s|d!z  }|                                st          d|           t!          j        d"|d         d#         d$                    d%}t$                              ||          }t)          j        d&d'd(d)          }	|	                    |           |	                                 |	                                 t          j        |	j        d*t5          j        d          +          }
t          j        |	j                   |
                    d,          }d}|D ]J}||k    rd*}|s|s	 |                    d-d.          \  }}|t          j        |<   ;# t<          $ r Y Gw xY wd*S )/NFOSTYPEcygwinMESON_FORCE_VSENV_FOR_UNITTESTVSINSTALLDIRzcl.execcgccclangzclang-clzProgramFiles(x86)ProgramFilesz-Microsoft Visual Studio/Installer/vswhere.exezCould not find z-latestz-prereleasez-requiresAnyz	-requiresz1Microsoft.VisualStudio.Component.VC.Tools.x86.x64z)Microsoft.VisualStudio.Workload.WDExpressz	-products*z-utf8z-formatjsonz"Could not parse vswhere.exe outputr   installationPatharm64z"VC/Auxiliary/Build/vcvarsarm64.batz&VC/Auxiliary/Build/vcvarsx86_arm64.batzVC/Auxiliary/Build/vcvars64.batz&VC/Auxiliary/Build/vcvarsx86_amd64.batzActivating VScatalogproductDisplayVersionz---SPLIT---wz.batzutf-8)suffixencodingdeleteT)universal_newlinesr   
=r   )r   osenvirongetshutilwhichpathlibPathexistsr   
subprocesscheck_outputstrr   loadsr	   r   logbat_templateformattempfileNamedTemporaryFilewriteflushclosenamelocalegetpreferredencodingunlinksplit
ValueError)r   rootbat_locator_binbat_jsonbat_infobat_rootbat_pathbat_separatorbat_contentsbat_file
bat_output	bat_linesbat_separator_seenbat_linekvs                   V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/utils/vsenv.py_setup_vsenvrN       s   << u	z~~h8++u'rz99 RZ''5<!! 	5 < 	5< 	5<   	5<
## 	5:>>-..P"*..2P2PDl4)XYYO!!## B@@@AAA&  LD	
 H z(##H CABBB|HQK(:;<<H!##w..BB   	K"JJH??   	K"JJH?? ;9x99:::H_hqk)45LMNNN!M&&x??L*3vX]^^^HNN<   NNNN(4282Me2T2TV V VJIhm  &&I  }$$!%! 	 		>>#q))DAq
 BJqMM	  	 	 	D	
 4s   0M
M&%M&Fc                    	 t          |           S # t          $ r0}| r t          j        dt	          |                     Y d }~dS d }~ww xY w)Nz"Failed to activate VS environment:F)rN   r   r   warningr.   )r   es     rM   r
   r
   w   se    E"""    	93q66BBBuuuuu	s    
A%AA)r   r   r   r   )F)
__future__r   r$   r,   r   r)   r'   r3   r9    r   corer   	universalr   r	   __all__r1   rN   r
        rM   <module>rY      s    " " " " " " 				                            = = = = = = = = 
U U U Un      rX   