+
    UBi                      ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHu H	t
 ^ RIt^ RIt^ RIHtHtHt ^ RIt^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHtHtHtHtHtH t  ^RI!H"t" ^RI#H$t$H%t% ^RIH&t& ]PN                  '       d   ^RI(H)t) ]PT                  ]+]]+] 3,          t,R R lt-R R lt.R R lt/R R lt0R R lt1R R lt2R R lt3 ! R R]Ph                  4      t5R# )    )annotationsN)PathPurePathPureWindowsPath)Counter)backends)build)mlog)	compilers)mesonlib)FileMesonBugExceptionMesonExceptionreplace_if_differentversion_compareMachineChoice)	OptionKey)Environmentbuild_filename)coredata)CompilerArgsc                    V ^8  d   QhRRRR/# )   r	   T.Optional[build.Build]returnzbackends.Backend )formats   "E/usr/lib/python3.14/site-packages/mesonbuild/backend/vs2010backend.py__annotate__r   "   s      $h $h!8 $h=M $h    c                   \         P                  ! R R4      p\         P                  ! RR4      pV'       g   \        R4      hVR8X  g   RV9   d   ^ RIHp V! V 4      # VR8X  g   RV9   d   ^ R	IHp V! V 4      # VR
8X  g   RV9   d   ^ RIHp V! V 4      # VR8X  g   RV9   g   RV9   d   ^ RI	H
p V! V 4      # VR8X  g   RV9   g   RV9   d   ^ RIHp V! V 4      # VR8X  g   RV9   g   RV9   d   ^ RIHp V! V 4      # VR8X  g   RV9   g   RV9   d   ^ RIHp	 V	! V 4      # RV9   d   \#        V 4      # \        RP%                  W4      4      h)VisualStudioVersionNVSINSTALLDIRzCould not detect Visual Studio: Environment variable VSINSTALLDIR is not set!
Are you running meson from the Visual Studio Developer Command Prompt?z11.0zVisual Studio 11)Vs2012Backendz12.0zVisual Studio 12)Vs2013Backendz14.0zVisual Studio 14)Vs2015Backend15.0zVisual Studio 17zVisual Studio\2017)Vs2017Backendz16.0zVisual Studio 19zVisual Studio\2019)Vs2019Backendz17.0zVisual Studio 22zVisual Studio\2022)Vs2022Backendz18.0zVisual Studio 26zVisual Studio\2026)Vs2026BackendzVisual Studio 10.0z~Could not detect Visual Studio using VisualStudioVersion: {!r} or VSINSTALLDIR: {!r}!
Please specify the exact backend to use.)osgetenvr    mesonbuild.backend.vs2012backendr$    mesonbuild.backend.vs2013backendr%    mesonbuild.backend.vs2015backendr&    mesonbuild.backend.vs2017backendr(    mesonbuild.backend.vs2019backendr)    mesonbuild.backend.vs2022backendr*    mesonbuild.backend.vs2026backendr+   Vs2010Backendr   )
r	   
vs_versionvs_install_dirr$   r%   r&   r(   r)   r*   r+   s
   &         r   autodetect_vs_versionr8   "   sa   0$7JYY~t4N f g 	g V1^CBU##V1^CBU##V1^CBU##V1^C.BU##V1^C.BU##V1^C.BU##V1^C.BU##~-U##
 DDJF:Dfh hr    c                    V ^8  d   QhRRRR/# )r   argsT.List[str]r   r   )r   s   "r   r   r   I   s      [ [ r    c                    . pV  Fg  pVP                  R4      '       g   K  \        VR,          4      pRV9   d   VP                  V4       KH  Y Uu. uF  pRV,           NK  	  up,          pKi  	  V# u upi )z
Splits any /O args and returns them. Does not take care of flags overriding
previous ones. Skips non-O flag arguments.

['/Ox', '/Ob1'] returns ['/Ox', '/Ob1']
['/Oxj', '/MP'] returns ['/Ox', '/Oj']
z/Or   NNb)
startswithlistappend)r:   o_flagsargflagsfs   &    r   split_o_flags_argsrF   I   sr     G~~d##SW %<NN3%0%Qq%00G  N 1s   A2c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   r   ^   s     b b br    c           	         \        \        P                  ! \        P                  R V,           R,           \        V 4      ,           4      4      P	                  4       # )z	meson-vs-:)rH   uuiduuid5NAMESPACE_URLupper)path	path_types   &&r   generate_guid_from_pathrQ   ^   s;    tzz$,,kI.E.KcRVi.WXY__aar    c                    V ^8  d   QhRRRR/# )r   platformrH   r   boolr   )r   s   "r   r   r   a   s     c c3 c4 cr    c                N    \         P                  ! R V \         P                  4      # )z1Gaming\.(Desktop|Xbox.XboxOne|Xbox.Scarlett)\.x64)rematch
IGNORECASE)rS   s   &r   detect_microsoft_gdkrY   a   s    88H(TVTaTabbr    c                   V ^8  d   QhRR/# )r   sourcesr;   r   )r   s   "r   r   r   d   s     : :+ :r    c              #     "   V  Fe  pVP                  R 4      R,          p\        P                  P                  V4      '       g   KB  \        P                  P                  V,          x  Kg  	  R# 5i).N)splitr   is_source_suffixSUFFIX_TO_LANG)r[   srcexts   &  r   filtered_src_langs_generatorrd   d   sO     iinR //44%%44S99 s   A A0)A0c               $    V ^8  d   QhRRRRRR/# )r   target_sourceszT.List[File]custom_sourcesr;   r   T.Optional[str]r   )r   s   "r   r   r   p   s'     J JL J+ JZi Jr    c                   \        V  Uu. uF_  p\        P                  P                  VP                  4      '       g   K4  \        P                  P                  VP                  ,          NKa  	  up4      pV\        \        V4      4      ,          pVP                  ^4      pV'       d   V^ ,          ^ ,          # R# u upi )   N)r   r   r`   suffixra   rd   most_common)rf   rg   rb   lang_countsmost_common_lang_lists   &&   r   get_primary_source_langro   p   s    Uc  YUccgpgzgz  hL  hL  MP  MW  MW  hXI9..==cjjIIUc  Y  ZK77GHHK'33A6 +@ #A&ITI Ys   1B< /B<c               (    V ^8  d   QhRRRRRRRR/# )r   
vslite_ctxdict	target_idrH   primary_src_langr   z0T.Dict[str, T.Dict[str, T.Tuple[str, str, str]]]r   )r   s   "r   r   r   |   s+     2 2 28;2?B2Gw2r    c                *   / p\         P                  ! 4        Fq  pW,          V,          pVP                  4        UUu. uF  w  rgWb8w  g   K  Wg3NK  	  pppV F-  w  rW9  d   / W9&   \        P	                  V
4      W9,          V&   K/  	  Ks  	  V# u uppi N)r    get_genvs_default_buildtype_listitemsr5   _extract_nmake_fields)rq   rs   rt   &defs_paths_opts_per_lang_and_buildtype	buildtypecaptured_build_argslang
build_args#non_primary_build_args_per_src_langsrc_lang	args_lists   &&&        r   (get_non_primary_lang_intellisense_fieldsr   |   s     .0*>>@	(3I>ZmZsZsZu  /SZuFVdy}  zR/A/AZu+  /S#FHECE6@JWJmJmnwJx2<YG $G A 21 /Ss   
BBc            
        a  ] tR t^tRtRkR V 3R llltR R ltR tR R ltR	 t	RlR R llt
]R R l4       t]R R l4       tR tR tRkR R lltR R ltR R ltRmR R lltR tR tR tRkR R lltR  R! ltR"R#R$R
R%R
R&R'R(R
/R) R* lltR+ R, ltR- R. ltR/ R0 lt]R1 4       tR2 R3 ltR4 R5 lt R6 R7 lt!R8 R9 lt"R: t#R; t$R< R= lt%R> t&R? t']R@ RA l4       t(]RB RC l4       t)]RD 4       t*RE RF lt+RG RH lt,RI t-RJ RK lt.]RL RM l4       t/]RN RO l4       t0RP RQ lt1RR RS lt2RT RU lt3RmRV RW llt4RX t5RY t6RZ t7R[ t8RnR\ R] llt9]R^ R_ l4       t:R` Ra lt;Rb Rc lt<Rd Re lt=Rf Rg lt>Rh Ri lt?Rjt@V ;tA# )or5   vs2010c                    V ^8  d   QhRRRR/# )r   r	   r   gen_literT   r   )r   s   "r   r   Vs2010Backend.__annotate__   s     
! 
!5 
! 
!r    c                	   < \         SV `  V4       R V n        RV n        RV n        RV n        RV n        RV n        / V n        / V n	        W n
        R# )z10.0.30319.1z11.002010N)super__init__project_file_versionsln_file_versionsln_version_commentplatform_toolsetr6   windows_target_platform_versionsubdirshandled_target_depsr   )selfr	   r   	__class__s   &&&r   r   Vs2010Backend.__init__   sS    $2! '#)  $ /3,#%  r    c                   V ^8  d   QhRR/# )r   r   Noner   )r   s   "r   r   r      s       r    c                	    R # rv   r   )r   s   &r   detect_toolsetVs2010Backend.detect_toolset       r    c                	|    \         P                  P                  V P                  V4      VP	                  4       4      # rv   )r,   rO   joinget_target_dirget_id)r   targets   &&r   get_target_private_dir$Vs2010Backend.get_target_private_dir   s(    ww||D//7IIr    c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r   genlistzbuild.GeneratedTypesr   build.BuildTargetparent_node
ET.Elementgenerator_output_filesr;   custom_target_include_dirscustom_target_output_filesr   r   r   )r   s   "r   r   r      s]     =M =M3G =MQb =Mq{ =M  Va =M  J =M  hs =M  x| =Mr    c           
     	   \        V\        P                  4      '       d)   VP                   F  pV P	                  WrV. . . 4       K  	  V P                  V P                  V4      V P                  V4      4      pV P                  V4      p	\        V\        P                  \        P                  34      '       d   VP                  4        FC  p
\        P                  P                  WP                  V4      V
4      pVP                  V4       KE  	  V P                  V P                  V4      V P                  V4      4      pW9  d   VP                  V4       R# R# VP!                  4       pVP#                  4       pVP%                  4       pVP                  4       p\        P                  P                  WP&                  VP(                  4      p\*        P,                  ! VR 4      p\/        V4      \/        V4      8H  p\1        V4       EF  w  p
pV'       d)   \        P                  P                  VVV
,          4      pMRp\        P                  P                  V	VP3                  V P&                  V4      4      pV P5                  VR4      pVP7                  V4      pVP9                  V4      pV Uu. uF#  p\        P                  P                  VV4      NK%  	  ppVV,          pV Uu. uF%  pVP;                  RV4      P;                  RV4      NK'  	  ppV P=                  VVV4      pV Uu. uF=  pVP;                  RV P>                  PA                  4       4      P;                  RV4      NK?  	  ppV Uu. uF  qwP;                  RV4      NK  	  ppV Uu. uFU  pVP;                  RV P>                  PA                  4       4      P;                  R	V P>                  PC                  4       4      NKW  	  ppV Uu. uF  qwP;                  R
R4      NK  	  pp\        P                  P                  V P>                  PC                  4       V P                  V4      4      pT PE                  TV PG                  VV4      TVPH                  '       d
   V^ ,          MRRVPJ                  R7      w  ppVRR V,           p\        P                  P                  V P>                  PC                  4       V P                  V4      4      p \        PL                  ! V RR7       \*        P,                  ! VRVR7      p!RP                  V PO                  V4      4      \*        P,                  ! V!R4      n(        RP                  V4      \*        P,                  ! V!R4      n(        RP                  V4      \*        P,                  ! V!R4      n(        EK  	  R# u upi u upi u upi u upi u upi u upi )	ItemGroup Tz@INPUT@z@OUTPUT@z@SOURCE_DIR@z@BUILD_DIR@z@CURRENT_SOURCE_DIR@z@SOURCE_ROOT@z@BUILD_ROOT@\/N)workdircaptureforce_serializeenv)exist_okCustomBuildInclude Command;OutputsAdditionalInputsr^   ))
isinstancer	   GeneratedListdependsgenerate_genlist_for_targetrelpathr   r   target_to_build_rootCustomTargetCustomTargetIndexget_outputsr,   rO   r   rA   get_generatorget_exe
get_inputsbuild_to_srcsubdirET
SubElementlen	enumeraterel_to_builddirget_target_depend_filesget_arglistget_outputs_forreplacereplace_outputsenvironmentget_source_dirget_build_diras_meson_exe_cmdlinereplace_extra_argsr   r   makedirsquote_argumentstext)"r   r   r   r   r   r   r   xtarget_private_dirdowniipathidir	generatorexe
infilelistoutfilelist
source_diridgroupsamelencurfilesole_output
infilenamedeps	base_argsoutfiles_relofoutfilesr:   tdir_abscmd_abs_pdircbss"   &&&&&&&                           r   r   )Vs2010Backend.generate_genlist_for_target   s   gu2233__00KRQST %!\\$*E*Ef*MtObObciOjk((0g 2 2E4K4KLMM((*T+>+>w+GK*11%8 + << 3 3G <d>Q>QRX>YZD5*11$7 6  --/I##%C ++-J!--/Kd,=,=w~~NJmmK=G*o[)99G'
3
7"$'',,/A;q>"RK"$KWW\\$0G0GHYHY[m0no
33GTB%11*=	&66w?KWX<RBGGLL);R@<X&(2&!*,!*A 		)Z8@@[Y!*  ,++D2DlS "&'!%A 		.$2B2B2Q2Q2ST 0BCD!%  ' PTTt!		"8*EtT "&'!%A 		/43C3C3R3R3TU 1A1A1O1O1QRS!%  ' 7;;d		$,d; 77<<(8(8(F(F(H$J]J]^dJef22++D':$+4+<+<+<HQK$$( 3 Q 23x$77<<(8(8(F(F(H$J]J]^dJefHt4mmG]JO58XXd>R>RSV>W5Xc9-258XXh5Gc9-2>Ahhtnc#56;O 4 Y,' U' <s&   4)W,+W0AW9WAW:W c           	     	j    . p. p. pVP                  4        F  pV P                  WaW#WE4       K  	  W5V3# rv   )get_generated_sourcesr   )r   r   r   r   r   r   r   s   &&&    r   "generate_custom_generator_commands0Vs2010Backend.generate_custom_generator_commands   sI    !#%'"%'"335G,,Wkc}  [ 6%C]]]r    Nc               $    V ^8  d   QhRRRRRR/# )r   r   rT   rq   zT.Optional[T.Dict]r   r   )r   s   "r   r   r      s)     =N =N=N/=N;M=Nr    c                	   V'       d   \        R 4      hV P                  4        V P                  P                  P                  P
                  pVR9   dK   V P                  P                  P                  P                  p\        V4      '       d   W@n        MRV n        MVR8X  d	   RV n        MwVR9   dB   V P                  P                  P                  P                  pVR8X  d	   RV n        M7RV n        M/RVP                  4       9   d	   RV n        M\        RV,           4      hV P                  P                  P                  P
                  pVR9   d	   RV n        MVR8X  d	   RV n        MwVR9   dB   V P                  P                  P                  P                  pVR8X  d	   RV n        M7RV n        M/RVP                  4       9   d	   RV n        M\        RV,           4      hV P                  P                  P                  P!                  \#        R	4      4      V n        V P                  P                  P                  P!                  \#        R
4      4      V n        V P                  P                  P                  P!                  \#        R4      4      V n         V P                  P                  P                  P!                  \#        R4      4      V n        \.        P0                  P3                  V P                  P5                  4       V P                  P6                  R,           4      pV P9                  V4      pV P;                  4        V P=                  4        V P?                  4        V PA                  Wx4       V PC                  4        \D        PG                  V P                  P5                  4       4       R#   \,         d    . T n         Li ; i)zAWe do not expect any vs backend to generate with 'capture = True'x64x86Win32arm64arm64ecarmARMz$Unsupported Visual Studio platform: r{   optimizationdebug
b_sanitizez.slnN>   64x86_64>   r  aarch64)$r   r   r   machineshost
cpu_familysystemrY   rS   cpulowerr   r	   build_platformr   optstoreget_value_forr   r{   r  r  sanitizeKeyErrorr,   rO   r   r   project_namegenerate_projectsgen_testprojgen_installprojgen_regenprojgenerate_solutiongenerate_regen_infor5   touch_regen_timestamp)	r   r   rq   host_machinetarget_system
target_cpubuild_machinesln_filenameprojlists	   &&&      r   generateVs2010Backend.generate   s    #$ijj''0055@@++ ,,55::AAM#M22 - %U"#DM11))2277;;JY& ) 'l((**!DM !G,!VWW((1177BB,,"'De#")D22))2288<<JY&&/#&-#m))++"'D !G-!WXX))22;;II)T_J`a ,,55>>LLYWeMfg%%..77EEiPWFXY
	 ,,55>>LLYWcMdeDM ww||D$4$4$B$B$DdjjF]F]`fFfg))*5|6  "++D,<,<,J,J,LM  	DM	s   =N= =OOc                    V ^8  d   QhRRRR/# r   	build_dirrH   r   r   r   )r   s   "r   r   r   &  s     ] ]s ]t ]r    c                	    \         P                  P                  \         P                  P                  V \        P                  4      R 4      # )zregen.stamp)r,   rO   r   r   private_dirr(  s   &r   get_regen_stampfile!Vs2010Backend.get_regen_stampfile%  s,    ww||BGGLLK4K4KLm\\r    c                    V ^8  d   QhRRRR/# r'  r   )r   s   "r   r   r   *  s        r    c                	    \        \        P                  V 4      R RR7      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)wutf-8encodingN)openr5   r,  r+  s   &r   r  #Vs2010Backend.touch_regen_timestamp)  s/    -33I>gVV WVVVs	   6A	c                	   R \         P                  9   ;'       d    R\         P                  9   pR\         P                  9   Ed   R\         P                  9   d   \         P                  R,          MRpVe
   VR8  d   RMRp\         P                  R,          V,           R,           p\         P                  P                  V4      '       dz   V'       d0   \         P                  R ,          p\         P                  R,          pM"\         P                  P	                  R	R
4      pTpWe8w  d   VR,           V,           MTpRV RV 2# R\         P                  9   d   V'       d|   \         P                  R,          R,           p\         P                  P                  V4      '       d9   RV: R\         P                  R ,          : R\         P                  R,          : 2# R# )VSCMD_ARG_TGT_ARCHVSCMD_ARG_HOST_ARCHVCINSTALLDIRr"   Nr'   zAuxiliary\Build\r   zvcvarsall.batPlatformr   r   "z" VS150COMNTOOLSzVsDevCmd.batz" -arch=z -host_arch=)r,   environrO   existsget)r   has_arch_valuesr6   relative_pathscript_pathtarget_arch	host_archarchs   &       r   get_vcvars_command Vs2010Backend.get_vcvars_command.  s^   ."**<ddAVZ\ZdZdAd RZZ'(BJJ6 $9:<@ 4>4Jz]cOc0ikM**^4}DVKww~~k**""$**-A"BK "

+@ AI"$**..U"CK +I8A8Py34Va;-r$00 rzz)o**%56GKww~~k** "**-A"B"BBJJOdDeg gr    c                	    / pV FK  p\        V\        P                  4      '       g   K%  VP                  W#P                  P	                  4       &   KM  	  VP                  4       # rv   )r   r	   ExtractedObjectsr   r   rx   )r   obj_listresultos   &&  r   get_obj_target_deps!Vs2010Backend.get_obj_target_depsI  sI    A!U3344,-HHxx()  ||~r    c                   V ^8  d   QhRR/# )r   tz"T.Dict[T.Any, build.AnyTargetType]r   )r   s   "r   r   r   P  s     ? ?!C ?r    c                	   / pVP                  4        EF  p\        V\        P                  4      '       d   VP                  p\        V\        P
                  4      '       dN   VP                  4        F7  p\        V\        P                  4      '       g   K%  WSVP                  4       &   K9  	  EM\        V\        P                  4      '       d,   VP                  4        F  pWSVP                  4       &   K  	  EM\        V\        P                  4      '       Edk   VP                   FS  p\        V\        P                  4      '       d   VP                  W6P                  4       &   KA  WcVP                  4       &   KU  	  VP                   FS  p\        V\        P                  4      '       d   VP                  W6P                  4       &   KA  WcVP                  4       &   KU  	  VP                   Fk  p\        V\        P                  4      '       d   VP                  W6P                  4       &   KA  \        V\        4      '       d   KY  WcVP                  4       &   Km  	  V P!                  VP"                  4       F	  w  rxWV&   K  	  M\%        R V 24      hVP'                  4        EFv  p	\        V	\        P
                  4      '       d   WV	P                  4       &   K8  \        V	\        P                  4      '       d)   V	P                  W9P                  P                  4       &   K  V	P)                  4       p
V
P+                  4       p\        V\        P,                  4      '       d   WVP                  4       &   \.        P0                  ! V
P2                  V	P2                  4       Fu  p\        V\        P                  4      '       d   VP                  W5P                  4       &   KA  \        V\        P                  4      '       g   Kc  WSVP                  4       &   Kw  	  EKy  	  EK  	  V'       d	   V'       g   V# V P5                  W24      pVP7                  V4       V# )zUnknown target type for target )valuesr   r	   r   r   r   get_target_dependenciesTargetr   	RunTargetget_dependenciesBuildTargetlink_targetslink_whole_targetslink_dependsr   rM  objectsr   r   r   r   
Executable	itertoolschainr   get_target_depsupdate)r   rP  	recursiveall_depsr   dldepobj_idobjdepgendepr   gen_exerets   &&&          r   r_  Vs2010Backend.get_target_depsP  s
   .0hhjF&%"9"9::&%"4"455779A "!U\\22/0,	 :
 FEOO44002A+,QXXZ( 3FE$5$566"//D!$(?(?@@26++/26/	 0
 #55D!$(?(?@@26++/26/	 6 #//D!$(?(?@@26++/#D$//26/ 0 '+&>&>v~~&NNF'-V$ 'O %'Fvh%OPP 668fe&8&89906V]]_-(?(?@@7=}}H]]1134 & 4 4 6I'//1G!'5+;+;<<5<!12&__Y->->O%a)@)@AA3488HXXZ0'5<<8834QXXZ0	 P 9O !r 	O""87

8
r    c               $    V ^8  d   QhRRRRRR/# )r   ofilerH   parentszT.Sequence[Path]r   r   r   )r   s   "r   r   r     s"     , ,C ,:J ,t ,r    c                	   R p\        V4      p\        V4       V F  pWPP                  9  g   K  VP                  p\	        VR4      pVP
                  pV\        R4      8w  d   V P                  V,          ^ ,          MRp	Wy3V P                  V&   VV P                  P                  P                  R,          WfV P                  V,          ^ ,          3,          p
VP                  V
4       VP                  R4       K  	  R# )%Project("{%s}") = "%s", "%s", "{%s}"
r   r]   N	directoryEndProject
)reversednextr   namerQ   parentr   r   r   
lang_guidswrite)r   rl  rm  	prj_templ	iterpathsrO   basename
identifier
parent_dirparent_identifierprj_lines   &&&        r   generate_solution_dirs$Vs2010Backend.generate_solution_dirs  s    <	W%	YD<<'994T8D
![[
!Xc]2 %)LL$<Q$?8< "&0%DT"$$$--88ET(:1(=(? ? H%N+ r    c               $    V ^8  d   QhRRRRRR/# )r   r"  rH   r#  T.List[Project]r   r   r   )r   s   "r   r   r     s'     y= y=c y=_ y=QU y=r    c                	<   V P                  4       pV P                  4        F  pWCVP                  4       &   K  	  VR ,           p\        VRRR7      ;_uu_ 4       pVP	                  RV P
                  ,          4       VP	                  RV P                  ,          4       RpV EF  pV P                  P                  P                  P                  \        R4      4      R8X  d#   V P                  Wh^,          P                  4       V P                  P                  V^ ,          ,          p	R	p
\!        V	R
4      '       d6   V	P"                  '       d$   V	P"                  P%                  4        F  pTp
 M	  VV P                  P                  P&                  V
,          V^ ,          V^,          V^,          3,          pVP	                  V4       V	P                  4       V	/pV P)                  VRR7      pVP	                  R4       VP+                  4        F  w  rV^ ,          V9   g   K  WV&   K  	  EK  	  WpP                  P                  P&                  R	,          RRV P                  P                  P,                  3,          pVP	                  V4       VP	                  R4       V P.                  '       d   RpRpMRpRpWpP                  P                  P&                  R	,          VVV P                  P                  P0                  3,          pVP	                  V4       VP	                  R4       WpP                  P                  P&                  R	,          RRV P                  P                  P2                  3,          pVP	                  V4       VP	                  R4       VP	                  R4       VP	                  R4       V P.                  '       d   \        P4                  ! 4       MV P6                  .pV F9  pVP	                  RV: RV P8                  : RV: RV P8                  : R2	4       K;  	  VP	                  R4       VP	                  R4       V F  pVP	                  RV P                  P                  P0                  : RV: RV P8                  : R V: RV P8                  : R24       V P.                  '       d   Ko  VP	                  RV P                  P                  P0                  : RV: RV P8                  : R!V: RV P8                  : R24       K  	  \;        V4       EF!  w  ppV^,          \<        P>                  J d   V P@                  pMV P8                  pV F  pVP	                  RV^,          : RV: RV P8                  : R V: RV: R24       V P.                  '       d
   V^ 8X  g   KU  V^ ,          V9   g   Ke  \C        V P                  P                  V^ ,          ,          \        PD                  4      '       d   K  VP	                  RV^,          : RV: RV P8                  : R!V: RV: R24       K  	  EK$  	  V F  pVP	                  RV P                  P                  P,                  : RV: RV P8                  : R V: RV P8                  : R24       VP	                  RV P                  P                  P2                  : RV: RV P8                  : R V: RV P8                  : R24       K  	  VP	                  R4       VP	                  R"4       VP	                  R#4       VP	                  R4       V PF                  '       Ed   VP	                  R$4       V Fw  pV^,          PH                  \K        R%4      8w  g   K&  VP	                  R&PM                  V^,          V PF                  V^,          PH                  ,          ^ ,          4      4       Ky  	  V PF                  PO                  4        FC  pV^,          '       g   K  VP	                  R&PM                  V^ ,          V^,          4      4       KE  	  VP	                  R4       VP	                  R'4       R(R(R(4       \Q        W4       R(#   + '       g   i     L; i))~r0  z	utf-8-sigr2  z:
Microsoft Visual Studio Solution File, Format Version %s
z# Visual Studio %s
ro  layoutmirrordefaultr   T)ra  rq  	RUN_TESTSzRUN_TESTS.vcxprojRECONFIGURERECONFIGURE.vcxprojREGENREGEN.vcxprojRUN_INSTALLzRUN_INSTALL.vcxprojzGlobal
z=	GlobalSection(SolutionConfigurationPlatforms) = preSolution
z		|z = 
z	EndGlobalSection
z=	GlobalSection(ProjectConfigurationPlatforms) = postSolution
z		{z}.z.ActiveCfg = z.Build.0 = z1	GlobalSection(SolutionProperties) = preSolution
z		HideSolutionNode = FALSE
z-	GlobalSection(NestedProjects) = preSolution
r]   z		{{{}}} = {{{}}}
z
EndGlobal
N))get_build_by_default_targetsget_testlike_targetsr   r4  rw  r   r   r   r   r  r  r   r  rm  r	   targetshasattrr   keysrv  r_  rx   	test_guidr   
regen_guidinstall_guidrw   r{   rS   r   r   BUILDr  r   rU  r   ru  r   r   rR  r   )r   r"  r#  default_projlistrP  sln_filename_tmprl  rx  prjr   r}   lang_outr~  target_dictrecursive_depsdep	test_lineregen_proj_nameregen_proj_fname
regen_lineinstall_linemulti_config_buildtype_listr{   project_indexpconfig_platformr   s   &&&                        r   r  Vs2010Backend.generate_solution  s   <<>**,A+,QXXZ( -'#- "C+>>%KKVY]YnYnnoKK.1I1IIJ@I##,,55CCIhDWX\dd//1v~~F++CF3 6;//F4D4D4D$*$4$4$9$9$;' %< %$$--88>FCFCF(, , H%%}}7!%!5!54 "6 "1N+#1#7#7#9KC1v!1106- $:%  , "%5%5%>%>%I%I)%T%02E%)%5%5%>%>%H%H%J JI KK	"KK'}}}"/#8 ")#2 "&6&6&?&?&J&J9&U&57G&*&6&6&?&?&J&J&L LJ KK
#KK'$(8(8(A(A(L(LY(W(57L(,(8(8(A(A(N(N(P PL KK%KK'KK
#KK ( )Y]YfYfYf(*S*S*Umqm{m{l|'8	&y!]], - 9 KK./KK ) * 9	!--66AA9 $y$--I J }}}KK!%!1!1!:!:!E!Ey$(MM9dmm!M N 9 %.h$7 qQ4=...&*&9&9O&*mmO!<IKK!"1y$--!*O!= > !MMM]a-?t//%djj&8&81&>PP%&qTT9dmm%.%A B "= %80 9	!--66@@)!]]It}}F G !--66CCY!]]It}}F G	 9 KK./KKMNKK89KK./||| , -!At{{hsm3$;$B$B1Q4VWXYVZVaVaIbcdIe$fg " #ll113Fayy$;$B$B6!9fUVi$XY 4 23KK&c ?d 	\<e ?>sI   C5bCb%JbC4bb?bEb%4bA>b!Abb	c                    V ^8  d   QhRRRR/# )r   rq   rr   r   r  r   )r   s   "r   r   r      s      D O r    c                	6   V P                   P                  P                  P                  R 4      p. p^ p\	        V P
                  P                  P                  4       4       EF
  w  pw  rgV'       d   W'P                  4       8X  d   Tp\        V P                   P                  4       V P                  V4      4      pVP                  RRR7       VR,           p	\        V P                  V4      4      p
W,          pW,          pV P                   P                  P                  V,          pV P                  V\!        V4      W4      pV'       g   K  VP#                  WkWP$                  34       EK  	  V'       d"   VP'                  ^ VP)                  V4      4       V# )backend_startup_projectT)r   rm  .vcxproj)r   r   r  r  r   r	   r  rx   get_basenamer   r   r   mkdirr   target_guidsgen_vcxprojrH   rA   for_machineinsertpop)r   rq   startup_projectr#  startup_idxr   rt  r   outdirfname
target_dirrelnameprojfile_path	proj_uuid	generateds   &&             r   r  Vs2010Backend.generate_projects   sK   **33<<JJKde$&#,TZZ-?-?-E-E-G#HQ?6I6I6K#K  ..0##F+F LL$L5:%E!$"5"5f"=>J (G"NM((11>>tDI((]1CY[Iy	;M;M NO $I$ OOAx||K89r    c                	   . p. p. p. pV F  p\         P                  ! V4      '       d   VP                  V4       K2  \         P                  ! V4      '       d   VP                  V4       Ka  \         P                  ! V4      '       d>   VP                  V4       V P                  V4      pWu9  d   VP                  V4       K  K  \         P                  ! V4      '       d   K  VP                  V4       K  	  W#WE3# rv   )r   	is_headerrA   	is_object	is_sourcelang_from_source_file
is_library)r   srclistr[   headersr[  	languagesr   r}   s   &&      r   split_sourcesVs2010Backend.split_sources;  s    	A""1%%q!$$Q''q!$$Q''q!11!4($$T* )%%a(( q!  33r    c                	(   V P                  V4      R 8X  d   R # \        P                  P                  V P                  V4      4      P	                  \        P
                  4      p\        P
                  P                  R.\        V4      ,          4      # )r   ..)r   r,   rO   normpathr_   sepr   r   )r   r   directoriess   && r   r   "Vs2010Backend.target_to_build_rootQ  se    v&",gg&&t':':6'BCII"&&Qvv{{D6C$4455r    c                	>    V Uu. uF  pR V,          NK  	  up# u upi )"%s"r   )r   arrr   s   && r   r   Vs2010Backend.quote_argumentsX  s     $'(Cq

C(((s   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   rootr   includerH   projidlink_outputsrT   r   r   r   )r   s   "r   r   r   [  s8     J J* Js JC J_c Jpt Jr    c                	    \         P                  ! VR 4      p\         P                  ! VRVR7      pRV,          \         P                  ! VR4      n        V'       g   R\         P                  ! VR4      n        R# R# )r   ProjectReferencer   {%s}ProjectfalseLinkLibraryDependenciesNr   r   r   )r   r  r  r  r  igprefs   &&&&&  r   add_project_reference#Vs2010Backend.add_project_reference[  s\    ]]4-}}R!3WE.4vodI&+ CJBMM$ 9:?	 r    c                   V ^8  d   QhRR/# )r   r  r   r   )r   s   "r   r   r   e  s     	; 	;J 	;r    c                	   VP                  4       V/pV P                  V4      P                  4        F  pVP                  4       V P                  VP                  4       ,          9   d   K9  V P	                  WB4      p\
        P                  P                  WTP                  4       R ,           4      pV P                  P                  P                  VP                  4       ,          pV P                  WV4       K  	  R# )r  N)r   r_  rR  r   get_target_dir_relative_tor,   rO   r   r   r   r  r  )r   r  r   r  r  r   vcxprojtids   &&&     r   add_target_depsVs2010Backend.add_target_depse  s    }}/''4;;=Czz|t77HH55cBGggll7JJL:,EFG""++88FC&&tc: >r    conftypeUtility
target_exttarget_platformgen_manifestT	masm_typec                    V ^8  d   QhRRRR/# )r   r  z(T.Optional[T.Literal['masm', 'marmasm']]r   zT.Tuple[ET.Element, ET.Element]r   )r   s   "r   r   r   p  s'     ]# ]# )Q]# ]|]#r    c          	     	   \         P                  ! R RRRRRR/4      p	\         P                  ! V	RRR	/4      p
V'       g   V P                  pV P                  '       d   \
        P                  ! 4       MV P                  .pR
V9  d   VP                  R
4       V Fc  p\         P                  ! V
RRVR,           V,           /4      pV\         P                  ! VR4      n	        V\         P                  ! VR4      n	        Ke  	  \         P                  ! V	RRR7      p\         P                  ! VR4      pRV,          Vn	        \         P                  ! VR4      pV P                  R,           Vn	        \         P                  ! V	RRR7       \         P                  ! V	RRR7      pV\         P                  ! VR4      n	        V P                  '       d'   V P                  \         P                  ! VR4      n	        \         P                  ! V	RRR7       \         P                  ! V	RRR7      pV'       d   \         P                  ! VRRV R 2R7       \         P                  ! VR!4      pVVn	        V P                  '       Eg   \         P                  ! VR"4      pVVn	        \         P                  ! VR4      pVVn	        V P                  '       d'   V P                  \         P                  ! VR#4      n	        R$\         P                  ! VR%4      n	        R&\         P                  ! VR'4      n	        R(\         P                  ! VR)4      n	        \         P                  ! V	R4      p\         P                  ! VR*4      pV P                  Vn	        \         P                  ! VR+4      pR,Vn	        \         P                  ! VR-4      pVR.,           Vn	        \         P                  ! VR/4      pVVn	        V'       d   V\         P                  ! VR04      n	        V'       g   VR18X  d   R$MR(\         P                  ! VR24      n	        V'       d   R$MR(\         P                  ! VR34      n	        V	V3# )4r  DefaultTargetsBuildToolsVersion4.0xmlns3http://schemas.microsoft.com/developer/msbuild/2003r   LabelProjectConfigurationsr  ProjectConfigurationr   r  Configurationr:  PropertyGroupGlobalsr  ProjectGuidr  KeywordProjImportz,$(VCTargetsPath)\Microsoft.Cpp.Default.propsr  ConfigurationTypePlatformToolsetz$$(VCTargetsPath)\Microsoft.Cpp.propsImportGroupExtensionSettings%$(VCTargetsPath)\BuildCustomizations\z.propsProjectNameRootNamespaceWindowsTargetPlatformVersiontrueUseMultiToolTask	MultiByteCharacterSetr  UseOfMfc_ProjectFileVersionOutDirz.\IntDirr   
TargetName	TargetExtembedEmbedManifestGenerateManifest)r   Elementr   rS   r   r   rw   r{   rA   r   r   r   r   )r   target_nametemp_dirguidr  r  r  r  r  r  	confitemsr  r{   prjconfglobalgroupguidelemkwtype_configext_settings_grppnamensr  direlemfverr  intdirtnames   &&$$$$$$$                  r   create_basic_project"Vs2010Backend.create_basic_projectp  sa    zz)&6&4e&-/d&f g MM$g?V5WX	"mmOUYUbUbUbh&O&O&Qimiwiwhx#55'..w74ImmI/E%.	C/0Q$RTG;DBMM'?386EBMM':.3	 5 mmD/K==m<]];	2--&(
dH.]^ mmD/Q?Gk#67<   AEAVAVBMM+'89> 	dH.UV==}DWXMM @6R k=9 
}}}{O<B!BGk:6A$AF333RVRvRvk+IJOBHBMM+'9:?>IBMM+~6;:ABMM+z27 mmD/:G==*?@D11DI]]7H5FFK]]7H5F"T/FKMM'<8E$EJ;Eg{38
 FOR^biRi6ovBMM'?38HTfZaBMM'#56;k""r    c               (    V ^8  d   QhRRRRRRRR/# )r   r   zbuild.RunTargetofnamerH   r  r   r   r   )r   s   "r   r   r     s0     D D_ Dc DQT DY] Dr    c           	     	H   V P                  VP                  VP                  4       VV P                  V4      R 7      w  rEV P	                  V4      pVP
                  '       g6   \        V\        P                  4      '       g   Q h\        V4      ^ 8X  g   Q hM\        V\        P                  4      '       d   Q hV P                  V4      pV P                  V4      w   rV P                  VP
                  ^ ,          V	R,          RVRR7      w  rV P                  VRRP                  V P                  V
4      4      VR7       \         P"                  ! VRRR	7       V P%                  V4       V P'                  WA4       V P)                  \         P*                  ! V4      V4       R
# ))r  r  r  rj   NNT)r   r   verbose
run_targetr   )r   r  &$(VCTargetsPath)\Microsoft.Cpp.targetsr  N)r+  rt  r   get_gen_manifestr   commandr   r	   AliasTargetr   get_run_target_enveval_custom_target_commandr   add_custom_buildr   r   r   r   add_regen_dependencyr  _prettyprint_vcxproj_xmlElementTree)r   r   r.  r  r  r#  depend_files
target_envr   cmd_rawwrapper_cmds   &&&&       r   gen_run_target_vcxproj$Vs2010Backend.gen_run_target_vcxproj  sp   "77AG=AEIEZEZ[aEb 8 d 33F;~~~ fe&7&78888|$)))!&%*;*;<<<<008J ;;FCMAq!66v~~a7H'RT+GKQ[?C 7 ENK !!$chht?S?ST_?`6a'3 " 5
 	dH.WX!!$'T*%%bnnT&:FCr    c               (    V ^8  d   QhRRRRRRRR/# )r   r   zbuild.CustomTargetr.  rH   r  r   r   r   )r   s   "r   r   r     s1     'D 'D0B 'DC 'DWZ 'D_c 'Dr    c                	F   VP                   \        P                  J d   V P                  pMV P                  pV P                  VP                  VP                  4       VVV P                  V4      R 7      w  rVRVn	        V P                  VR4      w  rxp	V P                  VR4      p
\        P                  P                  V P                  P!                  4       V P#                  V4      4      pVP%                  4       pT P'                  VP(                  ^ ,          V	R,          TTVP*                  '       d
   V^ ,          MRVP,                  '       d
   V^ ,          MRRVP.                  VP0                  R7	      w  rVP2                  '       dO   WP5                  \        P                  P                  V P                  P7                  4       R4      4      .,          pV P9                  VRRP                  V P;                  V4      4      VRR V,           V
,           VVP2                  '       * R7       \<        P>                  ! VR	R
R7       V PA                  W4       V PC                  V4       V PE                  WQ4       V PG                  \<        PH                  ! V4      V4       R# ))r  r  r  r  Tr0  N)r   extra_bdepsr   feedr   r   r1  outofdate.filecustom_targetr   )r   outputsverify_filesr  r3  r  r^   )%r  r   r  r  rS   r+  rt  r   r4  absolute_pathsr8  r   r,   rO   r   r   r   r    get_transitive_build_target_depsr   r5  r   rF  r   consolebuild_always_stalenonexistent_fileget_scratch_dirr9  r   r   r   r   r:  r  r;  r<  )r   r   r.  r  rS   r  r#  srcs
ofilenamesr   r=  r   rE  r@  r   s   &&&&           r   gen_custom_target_vcxproj'Vs2010Backend.gen_custom_target_vcxproj  s4   !4!44**H}}H"77AG=AHPEIEZEZ[aEb	 8 d !%"&"A"A&$"O333FDA 77<< 0 0 > > @$BUBUV\B]^==?226>>!3Dc"g;C?JLRNNN:a=`dCI;;;QTXCG7=zz;A>> 3 K $$$00d>N>N>^>^>`1A2C D E EJdOSXXd>R>RS^>_5`#.rs#3d#:\#IS]/5/H/H+H 	 	J 	dH.WX//=!!$'T*%%bnnT&:FCr    c               (    V ^8  d   QhRRRRRRRR/# )r   r   zbuild.CompileTargetr.  rH   r  r   r   r   )r   s   "r   r   r     s1     D D1D Dc DY\ Dae Dr    c           	     	   VP                   \        P                  J d   V P                  pMV P                  pV P                  V4      pV P                  VP                  VP                  4       VVV P                  V4      VR 7      w  rg\        P                  ! VRRR7       \        P                  ! VRRR7      pV'       d   \        P                  ! VRRV R2R7       V P                  V4      .Vn        . Vn        V P                  W4       V P!                  V4       V P#                  Wa4       V P%                  \        P&                  ! V4      V4       R	# )
)r  r  r  r  r  r  r3  r  r  ExtensionTargetsr  r	  .targetsN)r  r   r  r  rS   get_masm_typer+  rt  r   r4  r   r   compile_target_to_generatorr  r[   r   r:  r  r;  r<  )	r   r   r.  r  rS   masmr  r#  ext_tgt_grps	   &&&&     r   gen_compile_target_vcxproj(Vs2010Backend.gen_compile_target_vcxproj  s    !4!44**H}}H!!&)"77AG=AHPEIEZEZ[aEbBF 8 H 	dH.WXmmD-?QRMM+x<abfaggo9pq <<VDE//=!!$'T*%%bnnT&:FCr    c                	    VP                  R 4      R,          pV\        P                  9   d   R# V\        P                  9   d   R# V\        P                  R,          9   d   R# \        RV R 24      h)r]   ccppr[  z*Could not guess language from source file r^   )r_   r   
c_suffixescpp_suffixeslang_suffixesr   )clsrb   rc   s   && r   r  #Vs2010Backend.lang_from_source_file0  sa    iinR )&&&)((()))&11I#aPQQr    c                    V ^8  d   QhRRRR/# r   pch_sources@T.Dict[str, T.Tuple[str, T.Optional[str], str, T.Optional[str]]]r   r   r   )r   s   "r   r   r   ;  s     4 4#c 4!%4r    c                	:    W!9   d   V P                  WV4       R # R # rv   )use_pch)r   ri  r}   inc_cls   &&&&r   add_pchVs2010Backend.add_pch;  s    LLF3 r    c                    V ^8  d   QhRRRR/# rh  r   )r   s   "r   r   r   @  s     6 6&f 6$(6r    c                	f    \         P                  ! VR 4      pRVn        V P                  WV4       R# )PrecompiledHeaderCreateNr   r   r   add_pch_files)r   ri  r}   rm  pchs   &&&& r   
create_pchVs2010Backend.create_pch@  s*    mmF$78;f5r    c                    V ^8  d   QhRRRR/# rh  r   )r   s   "r   r   r   F  s     = =#c =!%=r    c                	    \         P                  ! VR 4      pRVn        V P                  WV4      p\         P                  ! VR4      pVR,           Vn        R# )rr  UseForcedIncludeFilesz;%(ForcedIncludeFiles)Nrt  )r   ri  r}   rm  rv  headerpch_includes   &&&&   r   rl  Vs2010Backend.use_pchF  sK    mmF$78##Kv>mmF,@A!$<<r    c                    V ^8  d   QhRRRR/# )r   ri  rj  r   rH   r   )r   s   "r   r   r   N  s      )i '*r    c                	    \         P                  P                  W,          ^ ,          4      p\        P                  ! VR4      pWEn        \        P                  ! VR4      pRV R2Vn        \        P                  ! VR4      pRV R2Vn        V# )r   PrecompiledHeaderFilePrecompiledHeaderOutputFilez$(IntDir)$(TargetName)-z.pchProgramDataBaseFileName.pdb)r,   rO   rz  r   r   r   )r   ri  r}   rm  r}  pch_filepch_outpch_pdbs   &&&&    r   ru  Vs2010Backend.add_pch_filesN  s    !!+"3A"67==)@A --(EF0d;
 --(AB0d;r    c                	    VR ,          P                  R4      '       d   R# VR ,          \        . RO4      9   d   R# VR ,          P                  R4      # )r0  	fsanitizeTM)ZiZ7ZI)r?   	frozenset)r   entrys   &&r   "is_argument_with_msbuild_xml_entry0Vs2010Backend.is_argument_with_msbuild_xml_entryf  sF     9,,9	"455Ry##C((r    c                	@   . pW1,          P                  4        FV  pV P                  V4      '       d   K  VR 8X  d   VP                  V4       K6  VP                  V P                  V4      4       KX  	  RP	                  V4      \
        P                  ! VR4      n        R# )%(AdditionalOptions)r   AdditionalOptionsN)	to_nativer  rA   escape_additional_optionr   r   r   r   )r   r}   r   	file_argsr:   rC   s   &&&&  r   add_additional_options$Vs2010Backend.add_additional_optionsp  s|    ?,,.C66s;;,,C D99#>? / @Cxx~k#67<r    c               $    V ^8  d   QhRRRRRR/# )r   rb   rH   rz   rr   rS   r   )r   s   "r   r   r   |  s,     Z ZS Zrv Z  CF Zr    c                	   VP                  R 4      R,          p\        P                  P                  P                  VR4      pWcP	                  4       9   d   \
        P                  ! 4        Fx  pW6,          V,          w  rp
RV RV R2pV\        P                  ! VRVR7      n	        V	\        P                  ! VRVR7      n	        V
\        P                  ! VRVR7      n	        Kz  	  R# R	\        P                  ! VR4      n	        R
\        P                  ! VR4      n	        R\        P                  ! VR4      n	        R# )r]   N!'$(Configuration)|$(Platform)'=='r  'PreprocessorDefinitions	ConditionAdditionalIncludeDirectoriesr  z$(NMakePreprocessorDefinitions)z$(NMakeIncludeSearchPath)z$(AdditionalOptions)r^   )
r_   r   ra   r?  r  r   rw   r   r   r   )r   r   rb   rz   rS   rc   r}   r{   defspathsopts	conditions   &&&&&       r   $add_project_nmake_defs_incs_and_opts2Vs2010Backend.add_project_nmake_defs_incs_and_opts|  s    iinR ""1155c4@>>@@ &FFH	&L&RS\&]#dB9+QxjXZ[	bfk+DPYZ_glk+IU^_d\`k+>)TY I JkBMM+'@AFNiBMM+'EFKCYBMM+':;@r    c                	    . pW1,           F=  pVR 8X  d   VP                  V4       K  VP                  V P                  V4      4       K?  	  RP                  V4      \        P                  ! VR4      n        R# )%(PreprocessorDefinitions)r   r  N)rA   escape_preprocessor_definer   r   r   r   )r   r}   r   file_definesdefinesdefines   &&&&  r   add_preprocessor_defines&Vs2010Backend.add_preprocessor_defines  sd    "((F55v&t>>vFG	 )
 FIXXgEVk#<=Br    c                	l    W1,          pR P                  V4      \        P                  ! VR4      n        R# )r   r  N)r   r   r   r   )r   r}   r   file_inc_dirsdirss   &&&& r   add_include_dirsVs2010Backend.add_include_dirs  s'    "JM((SW.k#ABGr    c                    V ^8  d   QhRRRR/# )r   r  rH   r   r   )r   s   "r   r   r     s     ' '3 '3 'r    c                	n    \         P                  R RRRRRRRRR	R
RRRRR/4      pV P                  V4      # )%%25$%24@%40r  %27r   %3B?%3F*%2Ar   z\\)rH   	maketrans	translate)r  tables   & r   r  (Vs2010Backend.escape_preprocessor_define  sN     sE3sE"E3sE3  $V- . &&r    c                    V ^8  d   QhRRRR/# )r   optionrH   r   r   )r   s   "r   r   r     s        r    c                	    \         P                  R RRRRRRRRR	R
RRRRR/4      pV P                  V4      p V P                  R4      '       d
   V R,          p RV  R2# )r  r  r  r  r  r  r  r  r   r  r  r  r  r  r   z%20r   r;  )rH   r  r  endswith)r  r  s   & r   r  &Vs2010Backend.escape_additional_option  ss     sE3sE"E3sE3sTY[ \!!%(
 ??4  dNF6(!}r    c                   . p. p. pV  F  pVP                  R4      '       d4   VR,          pWQ9   d   VP                  V4       VP                  V4       KM  VP                  R4      '       d   VP                  V4       Kw  VP                  R4      '       g   VP                  R4      '       d   WB9  d   VP                  V4       K  K  VP                  V4       K  	  WV3# )z
Split a list of link arguments into three lists:
* library search paths
* library filenames (or paths)
* other link arguments
z	/LIBPATH::	   NNz.libz.a)r   -)r?   removerA   r  )r:   lpathslibsotherrC   lpaths   &     r   split_link_argsVs2010Backend.split_link_args  s     C~~k**B
 ?MM%(e$
++S! f%%d););?KK$ # S!' ( U""r    c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r     s     
h 
h'8 
hr    c                	   VP                   P                  4        F  w  r#VR9   g   K  Vu # 	  \        VP                  4      ^ 8  g   \        VP                  4      ^ 8  dT   V P
                  P                  P                   VP                  ,          P                  4        F  w  r#VR9   g   K  Vu # 	  \        R4      h)r`  zGCould not find a C or C++ compiler. MSVC can only build C/C++ projects.>   r`  ra  )	r   rx   r   r[  r[   r   r   r  r   )r   r   r}   r`  s   &&  r   _get_cl_compilerVs2010Backend._get_cl_compiler  s    ''--/GD|# 0
 v~~"c&..&9A&=++44>>v?Q?QRXXZ<'H [ fggr    c               $    V ^8  d   QhRRRRRR/# )r   treezET.ElementTreer.  rH   r   r   r   )r   s   "r   r   r     s!     1 1^ 1S 1T 1r    c                	J   VR ,           pVP                  VRRR7       \        P                  P                  P	                  V4      p\        VRRR7      ;_uu_ 4       pVP                  VP                  4       4       RRR4       \        W#4       R#   + '       g   i     L; i)r  r1  T)r3  xml_declarationr0  r2  N)rw  xmldomminidomparser4  toprettyxmlr   )r   r  r.  
ofname_tmpdocr   s   &&&   r   r;  &Vs2010Backend._prettyprint_vcxproj_xml  sq    c\


:
F ggoo##J/*cG44HHS__&' 5V0 54s    BB"	c                	   . p. p. p	VP                   P                  4        U
Uu/ uF  w  rWP                  4       bK  	  pp
pVP                    U
u/ uF  q. bK  	  pp
VP                    U
u/ uF  q. bK  	  pp
VP                   P                  4        F  w  rW9   g   K  W;;,          \         P                  ! WV P                  4      ,          uu&   W;;,          VP                  WP                  4      ,          uu&   W;;,          VP                  WP                  4      ,          uu&   K  	  V P                  P                  VP                  ,          P                  VP                  / 4      P                  4        F"  w  p
pW9   g   K  W;;,          V,          uu&   K$  	  V P                  P                  VP                  ,          P                  4        F"  w  p
pW9   g   K  W;;,          V,          uu&   K$  	  VP                  4        F@  pVV;;,          V P                  V\        V R 2VP                  R7      4      ,          uu&   KB  	  VP!                  4        EF  pV. R
O,          pTV Uu. uF  pRV,           NK  	  up,          p\#        VP%                  4       4       EF2  p\#        VP'                  4       4       F  p\(        P*                  P-                  VP/                  4       V4      p VP1                  R\(        P*                  P-                  VV4      ,           4       VP1                  RV P3                  VVP4                  4      ,           4       K  	  VP;                  4        Fc  p\(        P*                  P-                  VP/                  4       V4      pVP1                  RV P3                  VVP4                  4      ,           4       Ke  	  EK5  	  EK  	  VP<                  P                  4        F"  w  p
pW9   g   K  W;;,          V,          uu&   K$  	  VP!                  4        Fq  pV P3                  V P?                  V4      V PA                  V4      4      .pVPB                  '       d   VRV.,          pTV Uu. uF  pRV,           NK  	  up,          pKs  	  VP                  4        EF  w  p
pVR,           F  pVPE                  R4      '       g   VR8X  dS   W,          PG                  V4       VR8X  d   TpM	VR,          pVW,          9  d   W,          P1                  V4       Kq  Ks  VPE                  R4      '       g
   VR8X  g   K  W,          PG                  V4       VR8X  d   TpM	VR,          pVW,          9  d   W,          P1                  V4       VV	9  g   K  V	P1                  V4       K  	  EK  	  \#        VPI                  4       4       F  pVPJ                  R8w  g   K  VPM                  VPO                  4       4      pV F  pVPE                  R4      '       d5   VR,          pVV9   d   VPG                  V4       VP1                  V4       KN  VPE                  R4      '       d&   VR,          pVV	9  d   V	P1                  V4       K  K  VP1                  V4       K  	  K  	  R	V9   d   VP1                  R	4       W|3W3W33# u upp
i u up
i u up
i u upi   \6         d;    TP1                  R\(        P*                  P9                  T4      ,           4        EKt  i ; iu upi )_argsmachiner  %(AdditionalIncludeDirectories)-Ir]   :NNNr=   openmpz/Gw)r  r  r  z-Dz/D)r  /I)(r   rx   compiler_argsget_base_compile_argsr   get_option_compile_args
subprojectget_option_std_argsr	   projects_argsr  r?  global_argsr  get_target_optionr   rR  rr  get_include_dirsget_incdirsr,   rO   r   
get_curdirrA   r   r   
ValueErrorr  get_extra_build_dirs
extra_argsr   r   implicit_include_directoriesr?   r  get_external_depsrt  unix_args_to_nativeget_compile_args)r   r   compilergenerated_files_include_dirsproj_to_src_rootproj_to_src_dirr~   target_argstarget_definestarget_inc_dirslr`  r  r  r  compr:   r}   rC   rc  r   curdir
t_inc_dirsr  inc_dird_compile_argss   &&&&&&&                   r   get_args_defines_and_inc_dirs+Vs2010Backend.get_args_defines_and_inc_dirs  s    RXQaQaQgQgQi/jQi??3D0DQi	/j'-'7'78'7!2'78(.(8(89(81B(89 ''--/GA~	 ? ?$"2"2!4 4 < <--!/ / 8 8--!/ / 0 zz//0B0BCGGHYHY[]^ddfGAt~$ g
 zz--f.@.@AGGIGAt~$ J
 NN$DdOt55fi4&PU`f`r`r>sttO %$$&D mmD +GH+GCTCZZ+GHHD f5578!!--/2AWW\\!,,.!<FED277<<8H&+Q$QRD4<<+N$NO 3 //1AWW\\!,,.!<FKKt||FFMM'J JK 2 9) 'H ((..0GAt~$ 1
 $$&D,,t'B'B6'J'+':':6'BD EJ222sO44
:6:CTCZZ:66D ' !(GAtAww>>,//3:V3VL'',::!$!$R\_4$..v6 5^^L11S<]5]L'',??"%"%b'm&66%(//8o5'..w7/  )8 &2245A vv!!)!=!=a>P>P>R!S)C~~l33!$R!^3*11&9&--f555"%b'"/9+227; : $**3/ * 6( Ju%'.)G/IiiiA 0k89@ I* & ED277+;+;F+C$CDDE$ 7s1   [$[*+[/8[4;A([9]9A \>	=\>	c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   optimization_levelrH   r  rT   r  r   r;   r   )r   s   "r   r   r     s8      %6 VY bf ru   {F r    c                	    VP                  V4      pWbP                  V4      ,          pWbP                  W4      ,          pV# rv   )get_optimization_argsget_debug_argssanitizer_compile_args)r   r   r  r  r  r  r~   s   &&&&&& r   get_build_argsVs2010Backend.get_build_args  s?    334FG
--e44
55fGG
r    c                    V ^8  d   QhRRRR/# )r   r|   z	list[str]r   zT.Tuple[str, str, str]r   )r   s   "r   r   r     s     . .9 .AW .r    c                	\  a . ROpRpRpRpV  F  oSP                  R	4      '       d   VSR,          R,           ,          pK3  \        V3R lV 4       R4      pV'       d   VS\        V4      R R,           ,          pKo  SP                  R
4      '       g   K  VSR,           ,          pK  	  W#V3# )r  r   z,$(VC_IncludePath);$(WindowsSDK_IncludePath);r=   r   c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5irv   )r?   ).0optrC   s   & r   	<genexpr>6Vs2010Backend._extract_nmake_fields.<locals>.<genexpr>  s!     !\1D#WZH[##1Ds   +
+Nr   )r  r  z-isystemz/clang:-isystemz/imsvcz/external:Ir  )r  r   )r?   rs  r   )r|   include_dir_optionsr  r  additional_opts	opt_matchrC   s   &     @r   ry   #Vs2010Backend._extract_nmake_fields  s    
 >&C~~l++B#% !\1D!\^bc	SY1C77E^^J//#sSy0O ' _--r    c                   V ^8  d   QhRR/# )r   r   zT.Tuple[str, str]r   )r   s   "r   r   r     s     '< '<?P '<r    c                 	   \         P                  ! 4       p \        V 4      ^8X  g   \        V 4      ^8X  g   Q h\        P                  P                  V ^ ,          4      p\        P                  P                  V ^ ,          4      p\        V 4      ^8w  dS   VRV ^,          ,           R,           ,          pVR\        P                  P                  V ^,          4      ,           ,          pVR,          pW!3# )rj   z "r;  r   z;C:\Windows\system32;C:\Windows)r   get_meson_commandr   r,   rO   dirnamerz  )meson_cmd_listexe_search_pathsnmake_base_meson_commands      r   1get_nmake_base_meson_command_and_exe_search_paths?Vs2010Backend.get_nmake_base_meson_command_and_exe_search_paths  s    !335N#q(c..AQ.FGG 77??>!+<=#%77#3#3N14E#F ~!#
 %q0A(AD(HH$bggoonQ6G&H HH& 	@@ );;r    c               4    V ^8  d   QhRRRRRRRRRRR	R
RR/# )r   r  r   rS   rH   r  rq   rr   proj_to_build_rootrt   rh   r   r   r   )r   s   "r   r   r     sg     @@ @@5?@@9<@@ <?@@ <@	@@ DG@@ BQ@@ VZ@@r    c           
     	   \         P                  ! VR RR7       \         P                  ! VR RR7       \         P                  ! VR RR7      p\         P                  ! VRRRRR	R
R/4       \         P                  ! VRRR7       \        P                  4       w  r\        P
                  P                  VR4      p\        P                  ! 4       pV EF  p\         P                  ! VRRV RV R2R7      p\        P
                  P                  V P                  4      w  ppVRR+ V,           p\        \        P
                  P                  VV4      4      pV R2\         P                  ! VR4      n        V R2\         P                  ! VR4      n        V	 RV R2\         P                  ! VR4      n        RVP                   V 2\         P                  ! VR4      n        WM,          VP                  4       ,          pV	 RV RV	 RV R2\         P                  ! VR4      n        V	 RV R2\         P                  ! VR4      n        V
\         P                  ! VR 4      n        V'       dw   VV,          p\        P                  V4      w  pppV\         P                  ! VR!4      n        V\         P                  ! VR"4      n        V\         P                  ! VR#4      n        \         P                  ! VR$4       \         P                  ! VR%4       \         P                  ! VR&4       \         P                  ! VR'4       \         P                  ! VR(4       \         P                  ! VR)4       \         P                  ! VR*4       EK  	  R# ),r  r  r  SharedPropertySheetsr  r  z3$(UserRootDir)\Microsoft.Cpp.$(Platform).user.propsr  z=exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')r  LocalAppDataPlatformr  
UserMacrosr  r  r  r  r  Nr   r  r  z compile -C "r;  NMakeBuildCommandLine	$(OutDir)NMakeOutputz" --clean && NMakeReBuildCommandLinez	" --cleanNMakeCleanCommandLineExecutablePathNMakePreprocessorDefinitionsNMakeIncludeSearchPathr  IncludePathExternalIncludePathReferencePathLibraryPathLibraryWPath
SourcePathExcludePath)r   r   r5   r-  r,   rO   r   r   rw   r_   src_to_buildrH   r   rt  r   ry   )r   r  rS   r  rq   r   r0  rt   prop_sheets_grpr,  r+  )proj_to_multiconfigured_builds_parent_dirr  r{   per_config_prop_groupr   build_dir_tailmeson_build_dir_for_buildtypeproj_to_build_dir_for_buildtyper|   primary_src_type_build_argspreproc_defs	inc_pathsother_compile_optss   &&&&&&&&                r   &add_gen_lite_makefile_vcxproj_elements4Vs2010Backend.add_gen_lite_makefile_vcxproj_elements  s    	dM1DE
dM:--mCST
ox)=s2=?29;Q24 	5 	dO<@7D7v7v7x4	! 57GGLLASUY4Z1 '/&O&O&Q#4I$&MM$Uy  {D  zE  EF  GO  FP  PR  TS  %T!"$''--0A0A"BQ,:3B,?),K).1"'',,?h  kH  3I  /J+EdDeegBhBMM/:?EdDeegBhBMM/:?TlSmmz  |[  {\  \]  R^BMM/1HINIRSYS^S^R_`j_kGlBMM/?D","7"H WoUoo|  ~]  }^  ^k  lD  kE  ER  Sr  Rs  st  TuBMM/1JKPTlSmmz  |[  {\  \e  RfBMM/1HINJZBMM/1ABG.ABR.S+>K>a>ab}>~;i);\h35STYV_35MNSQc35HIN MM/?MM/1FGMM/AMM/?MM/@MM/>MM/?O 5r    c               (    V ^8  d   QhRRRRRRRR/# )r   r  r   r#  rS   rH   r   r   r   )r   s   "r   r   r     s8     O= O=O= $O=
 O= O=r    c           
     	"   V P                  V4      pVP                  V P                  4      pV P                  V4      pR \        P
                  ! VR4      n        R\        P
                  ! VR4      n        RV9   d   R \        P
                  ! VR4      n        \        P
                  ! VR4      p\        P
                  ! VR4      pRR	 VP                  4        4       9   d   R
\        P
                  ! VR4      n        V P                  VR4      pVP                  VV P                  4      pVR8X  d:   R
\        P
                  ! VR4      n        R\        P
                  ! VR4      n        MVR8X  d:   R \        P
                  ! VR4      n        R\        P
                  ! VR4      n        MxVR8X  d:   R
\        P
                  ! VR4      n        R\        P
                  ! VR4      n        M8R \        P
                  ! VR4      n        R\        P
                  ! VR4      n        RV9   d   R
\        P
                  ! VR4      n        RV9   g   RV9   d   R\        P
                  ! VR4      n        MrRV9   g   RV9   d   R\        P
                  ! VR4      n        MGRV9   g   R V9   d   R!\        P
                  ! VR4      n        MR"\        P
                  ! VR4      n        R#V9   d   R$\        P
                  ! VR4      n        MGR%V9   d   R&\        P
                  ! VR4      n        M#R'V9   d   R(\        P
                  ! VR4      n        R)VP                  9   d   V P                  P                  P                  V\        R*VP                   R+7      4      pVR,8X  d   R-\        P
                  ! VR.4      n        MdVR/8X  d   R0\        P
                  ! VR.4      n        M@VR18X  d   R \        P
                  ! VR.4      n        MR2\        P
                  ! VR.4      n        \#        V4      ^ 8  d=   VP%                  R34       R4P'                  V4      \        P
                  ! VR54      n        R6P'                  V	4      \        P
                  ! VR74      n        VP%                  R84       R6P'                  V4      \        P
                  ! VR94      n        R
\        P
                  ! VR:4      n        \(        P*                  ! R;V P                  VR<4      4      pVR=8X  d   R>M!R?\-        ^\/        V4      ,           4      ,           pV\        P
                  ! VR@4      n        V P                  VRA4      '       d   R
\        P
                  ! VRB4      n        \1        V4      pRCV9   d   RD\        P
                  ! VRE4      n        MkRFV9   d   RG\        P
                  ! VRE4      n        MGRHV9   d   RI\        P
                  ! VRE4      n        M#RJV9   d   RK\        P
                  ! VRE4      n        RLV9   d   R
\        P
                  ! VRM4      n        RNV9   d   RO\        P
                  ! VRP4      n        M#RQV9   d   RR\        P
                  ! VRP4      n        RSV9   g   RHV9   d   RT\        P
                  ! VRU4      n        M#RJV9  d   RV\        P
                  ! VRU4      n        V P3                  W4       \        P
                  ! VRW4      p\        P
                  ! VR94       \        P
                  ! VRX4      pVP5                  4       pVVP                  V P                  4      ,          pV P6                  '       d   V P9                  V4       MR \        P
                  ! VRY4      n        \;        V\<        P>                  4      '       Eg   \;        V\<        P@                  4      '       d   VVPC                  V4      ,          pVV P<                  PE                  WPF                  VP                   4      ,          pVV P<                  PI                  WP                   4      ,          pVV P                  P                  PK                  VP                   VPM                  4       4      ,          pVVPN                  ,          pVP                  4        FQ  pVPP                  RZ8X  d   R
\        P
                  ! VR4      n        K2  VPS                  VPU                  4       4       KS  	  VPW                  4        F  p\;        V\<        P>                  4      '       g   K%  VP                  4        FQ  pVPP                  RZ8X  d   R
\        P
                  ! VR4      n        K2  VPS                  VPU                  4       4       KS  	  K  	  VVPY                  W3PF                  4      ,          pV P[                  VP]                  4       4      w  pppVPW                  4        EF2  p\;        V\<        P^                  4      '       d   TpM+V P<                  P`                  VPc                  4       ,          p\d        Pf                  P'                  WPi                  V4      4      pVVPj                  9   Ed   VPl                  R[8X  Ed   \o        VPp                  R\4      '       Edm   VPs                  R]4      pVPt                   F  p V Pw                  4        F  p!\        Px                  ! V!4      '       g   K!  V P{                  VV V!4      p"R^\d        Pf                  P}                  V"4      ^,          R_,          ,           p#VP%                  V"R`\#        V#4      )  Ra,           4       K  	  K  	  VP~                   Fv  p!\        Px                  ! V!4      '       g   K!  V P                  V P                  V4      V P                  V4      4      p$V P                  VVV!V$4      p%VP%                  V%4       Kx  	  VP                  V P                  V4      4       MVVP                  V4      ,          pV P                  VV4      p&\d        Pf                  P'                  V&VPc                  4       Rb,           4      p'V P                  P                  P                  VPc                  4       ,          p(V P                  VV'V(RRc7       V P                  VPc                  4       ,          P%                  VPc                  4       4       EK  VV9  g   EK!  VP%                  V4       EK5  	  V P                  V4       F3  p)VP%                  V P                  V)V P                  V4      4      4       K5  	  \#        V4      ^ 8  d]   V U*u. uF  p*V P                  V*4      NK  	  p+p*V+P%                  R34       R4P'                  V+4      \        P
                  ! VR54      n        \#        V4      ^ 8  d>   VP                  ^ Rd4       R6P'                  V4      \        P
                  ! VRe4      n        \#        V4      ^ 8  d=   VP%                  Rf4       R6P'                  V4      \        P
                  ! VRg4      n        \        P
                  ! VRh4      p,RiVP                  4        2V,n        \        P
                  ! VRj4      p-VV-n        \;        V\<        P                  \<        P                  34      '       dA   VP                  4       '       d+   VP                  4       \        P
                  ! VRk4      n        \;        V\<        P                  \<        P                  34      '       dq   VP                  '       d_   \d        Pf                  P'                  WP                  P                  V P                  4      4      p.V.\        P
                  ! VRl4      n        V P6                  '       d-   \        P
                  ! VRm4      p/RiVPP                   Rn2V/n        \        P
                  ! VRo4      p0VP                   \        P                  J d   VP                  4       p1MV P                  P                  4       p1V1Rp8X  d	   RqV0n        M_V1Rr8X  g   \        V14      '       d	   RsV0n        M?V1Rt8X  d	   RuV0n        M0V1Rv8X  d	   RwV0n        M!V1Rx8X  d	   RyV0n        M\        RzV1,           4      hR
\        P
                  ! VR{4      n        V P                  VR|4      R}8g  p2V2'       d   R
\        P
                  ! VR~4      n        R`# R`# u up*i )r  WholeProgramOptimizationDefaultBasicRuntimeChecksz/INCREMENTAL:NOLinkIncrementalItemDefinitionGroup	ClCompileTc              3  >   "   T F  qP                   R 8H  x  K  	  R# 5i)r  N)rt  )r  r  s   & r   r   BVs2010Backend.add_non_makefile_vcxproj_elements.<locals>.<genexpr>9  s     Q6PsXX)6Ps   r  OpenMPSupportb_vscrtmddUseDebugLibrariesMultiThreadedDebugDLLRuntimeLibrarymtMultiThreadedmtdMultiThreadedDebugMultiThreadedDLLz/fsanitize=address
EnableASANz/ZIz-ZIEditAndContinueDebugInformationFormatz/Ziz-ZiProgramDatabasez/Z7z-Z7OldStyler   z/RTC1EnableFastChecksz/RTCuUninitializedLocalUsageCheckz/RTCsStackFrameRuntimeCheckra  cpp_ehr  aAsyncExceptionHandlings
SyncCThrownoneSyncr  r   r  r   r  r  r  FunctionLevelLinkingrH   warning_level
everythingEnableAllWarningsLevelWarningLevelwerrorTreatWarningAsErrorz/OxFullOptimizationz/O2MaxSpeedz/O1MinSpacez/OdDisabledz/OiIntrinsicFunctionsz/Ob1OnlyExplicitInlineInlineFunctionExpansionz/Ob2AnySuitablez/OsSizeFavorSizeOrSpeedSpeedResourceCompileLinkGenerateDebugInformationr  msvcz<19.00.23918Fr]   r0  N.objr  )r  z%(AdditionalLibraryDirectories)AdditionalLibraryDirectoriesz%(AdditionalDependencies)AdditionalDependencies
OutputFiler7  	SubSystemImportLibraryModuleDefinitionFiler  r  TargetMachinewin32
MachineX86r   
MachineX64r  
MachineARMr  MachineARM64r  MachineARM64ECz*Unsupported Visual Studio target machine: SuppressStartupBannerr{   r  SetChecksum)[r  get_optimization_link_argsr  r   r   r   r   r  r  get_crt_valr{   r   r   r   get_option_for_targetr   r  r   rA   r   TcastrH   intrF   generate_lang_standard_infor  r  generate_debug_informationr   r	   StaticLibrarySharedModuleget_std_shared_module_link_argsget_project_link_argsr  get_global_link_argsget_external_link_argsget_language	link_argsrt  extend_directget_link_argsrV  get_option_link_argsr  r  r   r  r   r,   rO   get_target_filename_for_linkingrY  idr   versionextract_all_objectsr   r   r  get_target_generated_dirsplitextr  r   r   r   object_filename_from_sourceextendflatten_object_listget_link_whole_forr  r  r  r   $get_custom_target_provided_librariesr  r  get_filenameSharedLibraryr\  get_import_filenamevs_module_defsr   r   r   r  r  rS   rY   r   )3r   r  r#  r   rS   	subsystemr~   r  r	  r
  r  r  buildtype_link_argsr   compilesclconf
vscrt_type	vscrt_valehry  rB   resourcecompilelinkextra_link_argsr  rc  additional_libpathsadditional_linksrP  lobjlinknamer  genrb   rO   gen_src_extr   rel_objtrelpathtvcxprojr  librC   r:   rl  subsysr   pdbtargetmachinetargetplatformaddchecksums3   &&&&&&&&&&&                                        r   !add_non_makefile_vcxproj_elements/Vs2010Backend.add_non_makefile_vcxproj_elements  se    ((0&AA$BSBST ((0 GNk#=>C@Ik#78= 33AHBMM+'89> =='<=x5Qf6N6N6PQQ:@BMM&/27++FI>
((T^^D	CIBMM+':;@;RBMM&"238$CJBMM+':;@;JBMM&"238%CIBMM+':;@;OBMM&"238CJBMM+':;@;MBMM&"238:-<BBMM+|49J%:"5CTBMM&":;@j EZ$7CTBMM&":;@j EZ$7CMBMM&":;@CIBMM&":;@j ?QBMM&"67<
"?]BMM&"67<
"?WBMM&"67< F$$$!!**@@S[ekewewIxyBSyBIf&9:?sBNf&9:?vBIf&9:?BHf&9:?{a56>Ahh{>SBMM&"56;EHXXoE^f<=B:;@C@Xf78==Cf45:ud&<&<V_&UV/</L+RY\_`adghudv`v\wRw5Bfn-2!!&(33@FBMM&"78=$Z0G9?BMM&.16g9CBMM&.16g9CBMM&.16g9CBMM&.16G?EBMM&"67<WDXBMM&";<AwDQBMM&";<AGu/=CBMM&"45:'!=DBMM&"45:((;--2CD
o'@A }}Xv."0028>>t?P?PQQ:::++D1CJBMM$ :;@&%"5"566&%"4"4558#K#KF#SStzz??J[J[]c]o]oppO tzz>>xI[I[\\O t//88OO""H$9$9$; = =O v///O//1 88x'BHBMM&/:?#11#2C2C2EF 2 ,,.a!4!455 22488x/JPBMM&/BG+99#:K:K:MN	  5 / 	888ARARSSCGCWCWXgXqXqXsCt@	. ((*A!U4455zz))!((*5ww||D*N*Nt*TUHF---;;&(_X=M=M~-^-^--e4A  !yy#&??#4C(22377'+'D'DQS'Q.1BGG4D4DT4J14Mb4Q.Q / 6 6t<Nc+>N=N7ORX7X Y	 $5  )  !yy$..s3315d>Y>YZ[>\>B>Q>QRS>T2V.&*&F&Fq(TWYk&lG+227;  ) $**4+C+CA+FG $x'B'B8'LLO  ::1fE77<<!((*z2IJ&&//<<QXXZH**43T*R ((9@@L #33$++H5] +^ <<VDC##DLLd6I6I&6Q$RS E !#BQR/3D11#6/DRKK./<?HHTNBMM$ 349"#a'&&q*KLGJxxPcGdBMM$ >?D 1$##$?@ADJZA[BMM$ 89>dL1 !4!4!6 78
t[1fu22E4D4DEFF6KeKeKgKg 9?8R8R8TBMM$05fu22E4D4DEFF$$$'',,t-B-B-R-RSWSdSd-efCJd$:;@:::--&?@C"6;;-t4CHdO<!4!44%^^-N!]]002NW$!-Mu$(<^(L(L!-Mu$!-Mw&!/My(!1M !MP^!^__<Bd349,,V[AWL6<BMM$.3 ] Ss   .AE!c               $    V ^8  d   QhRRRRRR/# )r   	gen_filesr;   r   zbuild.AnyTargetTyper   r   r   )r   s   "r   r   r   3  s(     	m 	m[ 	mbu 	mz~ 	mr    c                	   \         P                  P                  V P                  4      w  r4VR R \        P
                  ! 4       ^ ,          ,           pV P                  V4      p\         P                  P                  VR4      p\        \         P                  P                  Wu4      4      p\         P                  P                  \         P                  P                  WP                  V4      4      4      p	\        V4       FC  w  r\         P                  P                  \         P                  P                  W4      4      W&   KE  	  R # )Nr  rE  )r,   rO   r_   rF  r   rw   r   r   rH   r  r   r   )r   r  r   r   rJ  rK  r0  rH  rL  $relocate_to_concrete_builddir_targetidx	file_paths   &&&         r   3relocate_generated_file_paths_to_concrete_build_dirAVs2010Backend.relocate_generated_file_paths_to_concrete_build_dir3  s     ggmmD,=,=>(6s(;h>g>g>ijk>l(l%!66v>46GGLLASUY4Z1*-bggll;d  /E  +F'/1ww/?/?Ml  oB  oB  CI  oJ  AK  0L,'	2NCWW--bggll;_.klIN 3r    c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   r.  rH   r  rq   rr   r   rT   r   )r   s   "r   r   r   A  s9     v v"3 vS v vY] vim vr    c                	   \         P                  ! R VP                   R24       Rp. V P                  VP	                  4       &   V P
                  '       d'   \        V\        P                  4      '       g   R# RpEMC\        V\        P                  4      '       d&   RpVP                  P                  R4      ^ ,          pM\        V\        P                  4      '       d   RpM\        V\        P                  4      '       d   RpM\        V\        P                  4      '       d   V P                  WV4       R	# \        V\        P                   4      '       d   V P#                  WV4       R	# \        V\        P$                  4      '       d   V P'                  WV4       R	# \)        R
VP+                  4        24      hV P-                  VP.                  4      w  rxrV P1                  V4      '       d   V P3                  W4      pVP4                  \6        P8                  J d   V P:                  pMV P<                  pV P?                  V4      p\@        PB                  PE                  VPG                  4       4      pV PI                  V^ ,          VP	                  4       VVV^,          VV PK                  V4      VR7      w  rV PM                  W4      w  pppV P-                  V4      w  ppppV P-                  V4      w  ppppVV,          pVV,          pV PO                  V4      pV PQ                  VVV PR                  V P                  V PT                  4      p\        V\        P                  \        P                  \        P                  \        PV                  34      '       g   Q R4       hV PY                  V4      p\@        PB                  P[                  VV P\                  4      p\@        PB                  P[                  VV P_                  V4      4      pV Pa                  VVVVVV4      w  w  p p!w  p"p#w  p$p%V P
                  '       d:   Vf   Q h\c        VP.                  V4      p&V Pe                  WV^,          WAVV&4       MV Pg                  WWVVV V"V$V!4
       \h        Pj                  ! VR4      p'\h        Pj                  ! V'R\@        PB                  P[                  V\l        4      R7       R p(/ p)V Po                  V4      '       Ed   R# EF  p*VPp                  V*,          p+V+'       g   K!  VPr                  R8X  d   V+^,          f~   \@        PB                  P[                  VV Pu                  VV*V+^ ,          4      4      p,\@        PB                  Pw                  \@        PB                  P[                  VV+^ ,          4      4      p-M)\@        PB                  P[                  VV+^,          4      p,Rp-V+^ ,          V,V*V-3V)V*&   K  V+^ ,          RV*R3V)V*&   EK  	  . p.\y        V4      \y        V4      ,           \y        VPz                  4      ,           \y        V)4      ,           ^ 8  Ed   V P
                  '       d   V'       d   V P}                  VV4       \h        Pj                  ! VR4      p/V Ff  p0\@        PB                  P[                  VV0P                  V P\                  4      4      p1V(! V1V.4      '       g   KM  \h        Pj                  ! V/RV1R7       Kh  	  V F-  p0V(! V0V.4      '       g   K  \h        Pj                  ! V/RV0R7       K/  	  VPz                   Ff  p0\@        PB                  P[                  VV0P                  V P\                  4      4      p1V(! V1V.4      '       g   KM  \h        Pj                  ! V/RV1R7       Kh  	  V)P                  4        FT  p\@        PB                  P[                  VV^ ,          4      p2V(! V2V.4      '       g   K;  \h        Pj                  ! V/RV2R7       KV  	  . p3\y        V4      \y        V4      ,           \y        V)4      ,           ^ 8  Ed-   V P
                  '       d6   \        VVP	                  4       X&4      p4V'       d   V P}                  VV4       \h        Pj                  ! VR4      p5V EFb  p6\@        PB                  P[                  VV6P                  V P\                  4      4      p1V(! V1V34      '       g   KN  \        P                  V64      p*V*R8X  d1   V'       d)   \h        Pj                  ! V5VP                  4       V1R7      p7M\h        Pj                  ! V5RV1R7      p7V P
                  '       d   V P                  V7V1X4V4       K  V*R8w  d   V P                  V)V*V74       V P                  V*V7V!4       V P                  V*V7V#4       V P                  V*V7V%4       RV P                  VVV64      ,           \h        Pj                  ! V7R4      nK        EKe  	  V EFN  p6V(! V6V34      '       g   K  \        P                  V64      p*V*R8X  d1   V'       d)   \h        Pj                  ! V5VP                  4       V6R7      p7M\h        Pj                  ! V5RV6R7      p7V P
                  '       d   V P                  V7V6X4V4       K  V*R8w  d   V P                  V)V*V74       V P                  V*V7V!4       V P                  V*V7V#4       V P                  V*V7V%4       \        P                  ! VP                  4       V64      p6RV P                  VVV64      ,           \h        Pj                  ! V7R4      nK        EKQ  	  V)P                  4        F  w  p*pV^,          p8V8'       g   K  V(! V8V34      '       g   K*  \h        Pj                  ! V5RV8R7      p7V P                  V)V*V74       V P
                  '       d   V P                  V7V8X4V4       K~  V P                  V*V7V!4       V P                  V*V7V#4       V)V*,          ^,          p-V-'       d,   \        P                  ! V%4      p9V-.V9V*,          ,           V9V*&   MT%p9V P                  V*V7V94       K  	  . p:V P                  VV4      ^ ,           F,  p;\        V;\        4      '       g   Q hV:P                  V;4       K.  	  V F  p;V:P                  V;4       K  	  V U<u. uF  p<V<P                  R$4      '       d   K  V<NK   	  p=p<. p>\y        V	4      \y        V:4      ,           \y        V=4      ,           ^ 8  d   \h        Pj                  ! VR4      p?V	 Ff  p6\@        PB                  P[                  VV6P                  V P\                  4      4      p1V(! V1V>4      '       g   KM  \h        Pj                  ! V?RV1R7       Kh  	  V:V=,            F-  p6V(! V6V>4      '       g   K  \h        Pj                  ! V?RV6R7       K/  	  \h        Pj                  ! VRRR7       \h        Pj                  ! VRRR7      p@V'       d   \h        Pj                  ! X@RRV R 2R7       V P                  V4       V P
                  '       g   V P                  W4       V P                  \h        P                  ! V4      V4       V P                  P                  P                  P                  \        R!4      4      R"8X  d   V P                  W4       R	# u up<i )%zGenerating vcxproj r]   WindowsFMakefileApplication,r  DynamicLibraryTzUnknown target type for )r  r  r  r  r  r  r  zfor mypyNr   r   r   c                    \         P                  P                  \         P                  P                  V 4      4      pW!9  d   VP	                  V4       R # R# )TF)r,   rO   normcaser  rA   )rO   lis
normalizeds   && r   path_normalize_add5Vs2010Backend.gen_vcxproj.<locals>.path_normalize_add  s=    ))"''*:*:4*@AJ$

:&r    r  	CLIncluder[  	CLCompile	$(IntDir)ObjectFileNameObjectr  r3  r  r  rW  r  r	  rX  r  r  )r`  ra  )r  z.res)ar
   r  rt  r   r   r   r   r	   rW  r\  win_subsystemr_   r  r  r   rS  rU  rA  CompileTargetr]  r   r  r  r[   is_unitygenerate_unity_filesr  r   r  r  rS   rY  r,   rO   r  r  r+  r4  r   r  r  r  r  r  r   r   r   r   r  ro   rQ  r  r   r   r   target_uses_pchrv  r  create_msvc_pch_implementationr)  r   extra_filesr  r   rR  r   r5   r  rN   r  rn  r  r  r  r  r   r   from_built_file
get_subdirrx   rw  copydeepcopyr  rH   rA   r  r:  r  r;  r<  r   r   r  r  r   gen_vcxproj_filters)Ar   r   r.  r  rq   r  r  r[   r  r[  
_languagesrS   r[  	tfilenamer  r#  generated_filesr   r  gen_srcgen_hdrsgen_objs
_gen_langs
custom_srccustom_hdrscustom_objs_custom_langsr  r~   r0  r  r  r  r  r	  r  r
  r  rt   meson_file_groupr  ri  r}   rv  rb   pch_header_dirprevious_includesinc_hdrshr   rO   previous_sourcesrz   inc_srcrt  rm  implinc_dirsadditional_objectsrL  objexplicit_link_gen_objsprevious_objectsinc_objsr\  sA   &&&&&                                                            r   r  Vs2010Backend.gen_vcxprojA  sP   

(Q78	46  1===fe&7&788
 !H 0 011$H ,,2237:I 3 344&H 3 344'H 2 233**64@00''= 3 344++FDA #;F<O<O<Q;R!STT262D2DV^^2T/7==  //@G!4!44**H}}H!!&)GG$$V%8%8%:;	"77	!AG=AAICLQ<HPEIEZEZ[aEbBF 8 H UYT{T{UQ35Q484F4F4W1(Hj@D@R@RSm@n=[+}:K((0((4;L;LdjjZ^ZgZgh
&5#3#3U5H5H%J]J]_d_q_q"rssus!66v>77<<(:D<M<MN'',,'79L9LV9TUei  fH  fHH:<Lo_ifkb i"@><Bb?Ta ===)))6v~~zR77	RSV`j|  O  P224fXacmoz  }K  M\  ^g  h=={;
&_Vd8ef	 Y[''$jj&;;&(1v~ ggll+=t?b?bcikoqtuvqw?xy)+oWZ[\W]9^)_ ggll?CFC)-),QdN(KK% *-QtT(BK%! %$ w<#h-'#f.@.@*AACDTTWXX}}} HHSYZ}}T;7H'',,'91;L;LTM^M^;_`%g/@AAMM(KI  %a):;;MM(KC  '''',,'91;L;LTM^M^;_`%g/@AAMM(KI ( '--/ww||OWQZ@%d,=>>MM(KF 0
 w<#g,&[)99A=}}}9aMMO$:&6  LLWV\]mmD+6G'',,'91;L;LTM^M^;_`%g/?@@(>>qADv~$!#w

g!V!#wW!U}}}AA&'Sy  |D  E6> LLdFC33D&)L55dFLQ--dFMJGR <<VXqQHRf.>?D# & %a)9::(>>qADv~$!#w

a!P!#wQ!O}}}AA&!Msu}~6> LLdFC33D&)L55dFLQ--dFMJ 001B1B1DaHGR <<VXqQHRf.>?D# & "-!2!2!4gqz4.t5EFF]]7KNFOOKv>}}}AA&$Pv  yA  B33D&)L55dFLQ)4T):1)=)'+}}]'CH.<-=-NHTN'4H--dFHE! "5&  ))&2DEaHHAa%%%%%%a( I A%%a( 
 2:!`#N^A_##!`w<#011C8N4OORSS}}T;7H'',,'91;L;LTM^M^;_`%g/?@@MM(HgF  (*@@@%a)9::MM(Ha@ A 	dH.WXmmD-?QRMM+x<abfaggo9pq!!$'}}}   .%%bnnT&:FC$$--;;Ih<OPT\\$$V45 "as   ,|
|c                	  a aaaaa \         P                  ! R RRRR/4      p\         P                  ! VR4      p\         P                  ! VR4      o\        P                  ! RSP
                   R24       V V3R lo/ oSP                  SP                  ,           pV FK  p\        P                  P                  VP                  4      '       d   K4  S! V4      pV'       g   KF  R	SV&   KM  	  S F  pTpR	p	V'       dc   \        P                  P                  V4      p
V	R	8X  d   T
p	MYS9   d   R
MR,           V	,           p	\        P                  P                  V4      pKj  V	R	8w  g   Kz  V	SV&   \         P                  ! VRRV	/4      p\         P                  ! VR4      pR\        \        P                   ! 4       4      P#                  4       ,           R,           Vn        K  	  S P'                  V4      w  rppS P)                  S4      oVVVVV 3R lpV! RV4       V! RV4       V! RV4       S P+                  \         P,                  ! V4      VR,           4       R# )r  r  r  r  r  r   zGenerating vcxproj filters r]   c                   < \         P                  P                  SP                  \	        V P
                  V P                  4      SP                  S4      4      4      # rv   )r,   rO   r)  r   r   r   r  r   )filer   r   s   &r   relative_to_defined_inAVs2010Backend.gen_vcxproj_filters.<locals>.relative_to_defined_inA  s=    77??4<<TZZ0XZ^ZmZmntZu#vwwr    r   r   r   Filterr   UniqueIdentifier{}c                  < V F  p\         P                  P                  VP                  4      '       d   K4  S
! V4      pV'       g   KF  VS	9   g   KO  \         P                  P	                  SVP                  SP                  4      4      p\        P                  ! SV R V/4      p\        P                  ! VR4      pS	V,          Vn	        K  	  R# )r   r"  N)
r,   rO   isabsr  r   r   r   r   r   r   )	type_nameelementsr   r)  r   target_elementfilter_elementr   filter_itemsfound_folders_to_filterr   r   s   &&     r   add_element6Vs2010Backend.gen_vcxproj_filters.<locals>.add_elementj  s    ww}}QWW--4Q7Gw7.E#E"$'',,tQ5F5FtGXGX5Y"Z)+|YQZ\cPd)e)+~x)P.Eg.N+ r    rZ  	ClIncluder  z.filtersN)r   r  r   r
   r  rt  r[   r  r,   rO   r'  r  rz  r)  rH   rK   uuid4rN   r   r  r   r;  r<  )r   r   r.  r  filter_folders	all_filesr   r)  folderfilterrz  r+  uuid_elementr[   r  r[  r   r.  r   r,  r-  r   s   ff&               @@@@r   r  !Vs2010Backend.gen_vcxproj_filters9  s   zz)ne&-/d&f gt[9}}T;7

0Q?@	x #%NNV%7%77	 A77==))03779+G4	  .FGF77++G4R<%F &<S1SY\]`ffF''//'2 |28'/!#~x)U[I\!]!}}^=OP$'#djjl*;*A*A*C$Cc$I!) ., (,'9'9)'D$'1((0		O 		O 	K)K)Hg&%%bnnT&:FZ<OPr    c           
     	   V P                   '       d>   R p\        P                  P                  V P                  P                  4       R4      pRpM<Rp\        P                  P                  V P                  P                  4       R4      pRpV P                  P                  P                  pV P                  VRVVR7      w  rVV P                   '       Ed?   \        P                  4       w  rx\        P                  ! VR4      p	\        P                  ! 4       p
\        P                  P                  V P                  4      w  rR	pV P                   pR
pV
 FI  pVRR- V,           p\#        \        P                  P                  VV4      4      pW RV RV R2,          pKK  	  V\        P                  ! V	R4      n        V\        P                  ! V	R4      n        R
\        P                  ! V	R4      n        V\        P                  ! V	R4      n        EM\        P                  ! VR4      p\        P                  ! VR4      pR\        P                  ! VR4      n        R\        P                  ! VR4      n        R\        P                  ! VR4      n        R\        P                  ! VR4      n        R\        P                  ! VR4      n        R\        P                  ! VR 4      n        V P                  P'                  4       R!R".,           pR#pVV P)                  4       RP                  V4      V P                  P+                  4       3,          pV P-                  VR$VV P/                  4       \        P1                  V P                  P                  4       4      .R%R&7       \        P                  ! VR'R(R)7       \        P                  ! VR*R+R,7       V P3                  \        P4                  ! V4      V4       R# ).r  r  r  r  r  r  z
regen-tempr  r  r  r  r  r   Nz setup --reconfigure "" "z"
r6  r9  r:  r;  rY  Midlr  r  r  OutputDirectory%(Filename).hHeaderFileName%(Filename).tlbTypeLibraryName%(Filename)_i.cInterfaceIdentifierFilename%(Filename)_p.cProxyFileNamez
--internal
regencheckzcall %s > NUL
"%s" "%s"regenz2Checking whether solution needs to be regenerated.)r   rI  msgr  r3  r  r  rW  r  rE  )r   r,   rO   r   r   r   r   r  r+  r5   r-  r   r   rw   r_   rF  r   rH   r   get_build_commandrF  rP  r9  get_regen_filelistr,  r;  r<  )r   r  r.  r  r  r  r#  r,  r+  all_configs_prop_groupr  r   rJ  rH  r  reconfigure_all_cmdr{   rK  rL  actionmidlregen_command	cmd_templs   &                      r   r  Vs2010Backend.gen_regenproj{  sb    ===(LWW\\$"2"2"@"@"BDYZF!H #LWW\\$"2"2"@"@"BOTF H((33"77AM=AAI 8 : ===;H;z;z;|8%%']]4%I" +3*S*S*U'"$''--0A0A"BQ8<5"//O"$8	0>s0Ci0O-25bggllCl  oL  7M  3N/#)CCYZyYzz}  N  ~O  OR  (S  S# 9 SfBMM02IJOTgBMM02KLQRTBMM02IJO L\BMM02BCH]]4)>?F==0DGhBMM$ >?D:EBMM$ 1279HBMM$ 016:KBMM$ 127FWBMM$ =>C8IBMM$05 ,,>>@LR^C__MI%((*EJJ},EtGWGWGgGgGijkM!!$TE\E\E^+8+L+LTM]M]MkMkMm+n*o&Z " \ 	dH.WX
dM1CD%%bnnT&:FCr    c                	   R p\         P                  P                  V P                  P	                  4       V R24      pV P                  P
                  P                  pV P                  '       Ed   V P                  VRVRR7      w  rE\        P                  4       w  rg\
        P                  ! 4       p\         P                  P                  V P                  4      w  rRpV EF2  pV
RR. V,           p\        \         P                  P                  W4      4      pV RV R2pV P                  P
                  P                  P!                  \#        R	4      4      '       g
   VR
,          pV P                  P
                  P                  P!                  \#        R4      4      '       d
   VR,          pRV RV P$                   R2p\&        P(                  ! VRVR7      pV\&        P(                  ! VR4      n        V\&        P(                  ! VR4      n        EK5  	  EMV P                  VRVR7      w  rE\&        P(                  ! VR4      p\&        P(                  ! VR4      pR\&        P(                  ! VR4      n        R\&        P(                  ! VR4      n        R\&        P(                  ! VR4      n        R\&        P(                  ! VR4      n        R \&        P(                  ! VR!4      n        R"\&        P(                  ! VR#4      n        V P                  P-                  4       R$R%.,           pV P                  P
                  P                  P!                  \#        R	4      4      '       g   VR&.,          pV P                  P
                  P                  P!                  \#        R4      4      '       d   VR'.,          pV P/                  4        V P1                  VR(R)R*P                  V4      ,          4       \&        P(                  ! VR+R,R-7       V P3                  V4       V P5                  \&        P6                  ! V4      V4       R# )/r  r  install-tempr  r9  r  Nz
 test -C "" --no-rebuildstdsplitz --no-stdsplit	errorlogsz --print-errorlogsr  r  r  r  r  r6  r;  z	test-tempr  r  rY  r;  r  r  r  r<  r=  r>  r?  r@  rA  rB  rC  rD  test--no-rebuildz--no-stdsplitz--print-errorlogs	run_testsr  r:  r  r3  r  rE  )r,   rO   r   r   r   r   r  r   r+  r5   r-  rw   r_   rF  rH   r  r  r   rS   r   r   r   rH  serialize_testsr9  r:  r;  r<  )r   r  r.  r  r  r#  r,  r+  r  r   rJ  rH  r{   rK  rL  test_cmdr  
prop_grouprL  rM  test_commands   &                    r   r  Vs2010Backend.gen_testproj  so   "d..<<><.PX@YZ((22==="&";";LESAEEO #< #>T
 <I;z;z;|8%*2*S*S*U'"$''--0A0A"BQ8<58	0>s0Ci0O-25bggllCl  7M  3N/67zBaAbbpq''0099GG	R\H]^^ 00H##,,55CCIkDZ[[ 44HB9+Qt}}o]_`	]]4IV
JRj*ABGCSj*:;@ 9 #'";";LEPAE #< #GT ]]4)>?F==0DGhBMM$ >?D:EBMM$ 1279HBMM$ 016:KBMM$ 127FWBMM$ =>C8IBMM$05++==?6>BZZL##,,55CCIjDYZZ 11((11??	+@VWW!4 55  "!!$Vuzz,?W5XY
dH.WX!!$'%%bnnT&:FCr    c                	J   R p\         P                  P                  V P                  P	                  4       V R24      pV P                  P
                  P                  pV P                  '       Ed   V P                  VRVRR7      w  rE\        P                  4       w  rg\
        P                  ! 4       p\         P                  P                  V P                  4      w  rRpV F  pV
RR' V,           p\        \         P                  P                  W4      4      pV RV R2pR	V R
V P                   R2p\         P"                  ! VRVR7      pV\         P"                  ! VR4      n        V\         P"                  ! VR4      n        K  	  EMHV P'                  4        V P                  VRVR7      w  rE\         P"                  ! VR4      p\         P"                  ! VR4      pR\         P"                  ! VR4      n        R\         P"                  ! VR4      n        R\         P"                  ! VR4      n        R\         P"                  ! VR4      n        R\         P"                  ! VR4      n        R\         P"                  ! VR4      n        V P                  P)                  4       RR .,           pV P+                  VR!R"R#P                  V4      ,          4       \         P"                  ! VR$R%R&7       V P-                  V4       V P/                  \         P0                  ! V4      V4       R# )(r  r  rR  r  r9  r  Nz install -C "rS  r  r  r  r  r  r6  r;  rV  rY  r;  r  r  r  r<  r=  r>  r?  r@  rA  rB  rC  rD  installrX  run_installr  r:  r  r3  r  rE  )r,   rO   r   r   r   r   r  r   r+  r5   r-  rw   r_   rF  rH   rS   r   r   r   create_install_data_filesrH  r9  r:  r;  r<  )r   r  r.  r  r  r#  r,  r+  r  r   rJ  rH  r{   rK  rL  install_cmdr  r\  rL  rM  install_commands   &                    r   r  Vs2010Backend.gen_installproj  s   $d..<<><.PX@YZ((55==="&";";LESAEEO #< #>T
 <I;z;z;|8%*2*S*S*U'"$''--0A0A"BQ8<58	0>s0Ci0O-25bggllCl  7M  3N/!9 :-HgGhhvwB9+Qt}}o]_`	]]4IV
JUj*ABGCSj*:;@ 9 **,"&";";LESAE #< #GT ]]4)>?F==0DGhBMM$ >?D:EBMM$ 1279HBMM$ 016:KBMM$ 127FWBMM$ =>C8IBMM$05"..@@BiQ_E``O!!$vOA\7]^
dH.WX!!$'%%bnnT&:FCr    c               8    V ^8  d   QhRRRRRRRRRRR	R
RRRR/# )r   noder   rulenamerH   r5  r   zT.Optional[T.List[str]]rI  rG  rh   rJ  rT   r   r   r   )r   s   "r   r   r   /  sW     Q QZ Q3 Q QTk Q"9QGVQmqQ ~BQr    c                	   \         P                  ! VR 4      p\        P                  P	                  V P
                  P                  4       VR,           4      p	\        P                  P                  V	4      '       g1   \        V	RRR7      ;_uu_ 4       p
V
P                  R4       RRR4       \         P                  ! VRV	R7      pV'       d   \         P                  ! VR	4      pWln
        V'       g   R
\         P                  ! VR4      n
        V R2\         P                  ! VR4      n
        V'       gI   V P                  \        P                  P	                  V P
                  P                  4       R4      4      .pRP	                  V4      \         P                  ! VR4      n
        V'       d.   RP	                  V4      \         P                  ! VR4      n
        R# R#   + '       g   i     ELD; i)r   z.ruler0  r1  r2  z# Meson regen file.Nr   r   Messager  VerifyInputsAndOutputsExistr  r   rG  r   r   r   )r   r   r,   rO   r   r   rP  r>  r4  rw  r   rO  )r   rg  rh  r5  r   rI  rG  rJ  igrouprulefilerE   custombuildmessages   &&&&&&&&     r   r9  Vs2010Backend.add_custom_build/  sW   t[177<< 0 0 @ @ BHwDVWww~~h''hg66!-. 7mmFM8LmmK;GLMTBMM+'DEJ 9@y^k9-2,,RWW\\$:J:J:Z:Z:\:J.L M NG58XXg5Fk9-2BE((4.BMM+'9:? - 766s   GG0	c                    V ^8  d   QhRRRR/# )r   prefixrH   r   r   )r   s   "r   r   r   N  s        r    c                	p    ^ pT p\         P                  P                  V4      '       d   RW3,          pK1  V# )r   z%s%d)r,   rO   r>  )rr  r   r  s   &  r   rO  Vs2010Backend.nonexistent_fileM  s0    ggnnT""VK'Dr    c                    V ^8  d   QhRRRR/# )r   r  r   r   r   r   )r   s   "r   r   r   U  s     F Fz Fd Fr    c                	>    R \         P                  ! VR4      n        R# )r  r  Nr  )r   r  s   &&r   r  (Vs2010Backend.generate_debug_informationU  s    ?Ed67<r    c                    V ^8  d   QhRRRR/# )r   r  r   r   r   r   )r   s   "r   r   r   Y  s     b b b br    c                	    V P                   '       gk   \        P                  P                  V P                  P                  4       R 4      pV P                  WV P                  P                  P                  4       R# R# )r  N)	r   r,   rO   r   r   r   r  r   r  )r   r  regen_vcxprojs   && r   r:  "Vs2010Backend.add_regen_dependencyY  sW     }}}GGLL)9)9)G)G)I?[M&&tD<L<L<U<U<`<`a r    c               $    V ^8  d   QhRRRRRR/# )r   r  zT.Dict[str, CompilerArgs]r  r   r   r   r   )r   s   "r   r   r   `  s$      5N Xb gk r    c                	    R # rv   r   )r   r  r  s   &&&r   r  )Vs2010Backend.generate_lang_standard_info`  r   r    c                   V ^8  d   QhRR/# )r   r   zT.Optional[build.BuildTarget]r   )r   s   "r   r   r   e  s      'D r    c                	   \        V\        P                  4      '       g   R # V P                  V4      pVP	                  4       p\        V\        P
                  4      '       g   W0P                  P                  W!P                  VP                  4      ,          pW0P                  P                  W!P                  4      ,          pW0P                  P                  P                  VP                  VP                  4       4      ,          pW1P                  ,          p\        V4       FX  pVP!                  4       pVR8X  d    R# VP#                  R4      '       d    R# VR8X  g   VP#                  R4      '       g   KW   R # 	  R # )Tz/MANIFEST:NOFz/MANIFEST:EMBEDr  z	/MANIFESTz
/MANIFEST:)r   r	   rW  r  r  r  r  r  r  r  r   r   r  r  r  rr  rN   r?   )r   r   r  r  rC   s   &&   r   r4  Vs2010Backend.get_gen_manifeste  s(   &%"3"344((0**,	&%"5"56699(DUDUW]WiWijjI88CUCUVVI))22II""H$9$9$;= =I)))II&C))+Cn$~~/00k!S^^L%A%A ' r    c                   V ^8  d   QhRR/# r  r   )r   s   "r   r   r     s      $5 r    c                	6   \        V\        P                  4      '       g   R # RVP                  9  d   R # VP                  \
        P                  8X  d   V P                  pM.VP                  \
        P                  8X  d   V P                  pMR # VR9   d   R# R# )Nr[  marmasm>   r  r  r  )
r   r	   rW  r   r  r   r  r  HOSTrS   )r   r   rS   s   && r   rY  Vs2010Backend.get_masm_type  sw    &%"3"344)))!4!44**H=#5#55}}H22r    )r  r{   r  r   r   r  rS   r   r   r  r   r   r   r6   r   )F)FNrv   )NNNT)B__name__
__module____qualname____firstlineno__rt  r   r   r   r   r   r$  staticmethodr,  r  rF  rM  r_  r  r  r  r  r   r   r  r  r+  rA  rS  r]  classmethodr  rn  rw  rl  ru  r  r  r  r  r  r  r  r  r  r;  r  r  ry   r-  rQ  r  r  r  r  r  r  r  r9  rO  r  r:  r  r4  rY  __static_attributes____classcell__)r   s   @r   r5   r5      s"   D
! 
!J=M~^=N~ ] ]  6?B,(y=v64,6)J	;]# '0]# )-	]#
 .2]# +/]# TX]#~D>'DRD2 R R4
6=0)	NZ:WY ' '   # #@
h1JjX  . .0 '< '<R@@DO=v	mvp@QDND`4Dl,D\Q<  Fb
6 r    r5   )6
__future__r   r   r]  r,   xml.dom.minidomr  xml.etree.ElementTreeetreer<  r   rK   typingr  pathlibr   r   r   rV   collectionsr   r   r   r	   r
   r   r   r   r   r   r   r   r   optionsr   r   r   r   r   TYPE_CHECKINGarglistr   TuplerH   r  r8   rF   rQ   rY   rd   ro   r   Backendr5   r   r    r   <module>r     s   
 #   	  " "   3 3 	          5 ???&ggc4m34G$hN*bc:J2H H$$ H r    