+
    UBio                    ~   ^ RI Ht ^ RIt^ RIt^ RIt^ RI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HtHtHtHtHtHt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 ]PF                  '       d   ^RI!H$t$ ^RIH%t%H&t& ^RI'H(t( . ROt)Rt*R R lt+R R lt, ! R R4      t-R# )    )annotationsN)cmdlinecoredata)mesonlib)machinefile)options)MesonExceptionMachineChoice
Popen_safe
PerMachinePerMachineDefaultablePerThreeMachineDefaultable
split_argsMesonBugException)	OptionKey)mlog)ExternalProgram)BinaryTableMachineInfo
PropertiesCMakeVariablesdetect_machine_infomachine_info_can_run)	compilers)	envconfig)Compiler)
OptionDictElementaryOptionValues)Resolverzmeson.buildc                    V ^8  d   QhRRRR/# )   valobjectreturnstr )formats   ";/usr/lib/python3.14/site-packages/mesonbuild/environment.py__annotate__r*   3   s       C     c                @    \        V \        4      '       g   Q R 4       hV # )for mypy)
isinstancer&   )r#   s   &r)   _as_strr/   3   s    c3++Jr+   c               (    V ^8  d   QhRRRRRRRR/# )	r"   for_machiner   is_crossboolvar_namer&   r%   T.Optional[str]r'   )r(   s   "r)   r*   r*   8   s(      m t s  r+   c                r   \        V'       d   VR,           .MV.V.4      V ,          pV F(  p\        P                  P                  V4      pVf   K(   M@	  RP	                  V Uu. uF  qD: NK  	  up4      p\
        P                  ! RV R24       R# \
        P                  ! RV: RV: 24       V# u upi )z*
Returns the exact env var and the value.

_FOR_BUILDNz, zNone of z; are defined in the environment, not changing global flags.zUsing z from environment with value: )r   osenvirongetjoinr   debug)r1   r2   r4   
candidatesvarvalue	formatteds   &&&    r)   _get_env_varrA   8   s     
 '/(\
!	"XJ	
 J 

s# 
 IIZ@ZczZ@A	

Xi[(cdeJJw<UIFGL	 As   %B4c                     ] tR t^QtRtRtRtR R ltR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R lt]P                   3R R lltR R ltR R ltR R lt]RNR R ll4       tR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 lt R2 R3 lt!R4 R5 lt"R6 R7 lt#R8 R9 lt$R: R; lt%R< R= lt&R> R? lt'R@ RA lt(]P                   3RB RC llt)RD RE lt*RF RG lt+RH RI lt,RJ RK lt-RLt.RM# )OEnvironmentzmeson-privatez
meson-logsz
meson-infoc               (    V ^8  d   QhRRRRRRRR/# )	r"   
source_dirr&   	build_dirr5   cmd_optionscmdline.SharedCMDOptionsr%   Noner'   )r(   s   "r)   r*   Environment.__annotate__V   s0     Q: Q:3 Q:? Q:Qi Q:nr Q:r+   c           	     	b   Wn         VEe:   W n        \        P                  P	                  V\
        P                  4      V n        \        P                  P	                  V\
        P                  4      V n        \        P                  P	                  V\
        P                  4      V n	        \        P                  ! V P                  RR7       \        P                  ! V P                  RR7       \        P                  ! V P                  RR7        \        P                  ! V P                  4       RR7      V n        RV n        MR
V n        R
V n        V P!                  V4       \9        4       p\;        4       p\;        4       p\;        4       p\=        4       Vn        \A        4       Vn        \C        4       Vn        \D        PF                  ! 4       V n$        / V n%        \L        PN                  ! V P                  PP                  V P                  PR                  V P                   4      V n*        V P                  PP                  e   \L        PV                  ! V P                  PP                  V P                   4      p	\A        V	PY                  R/ 4      4      Vn        \C        V	PY                  R/ 4      4      Vn        \[        V	PY                  R/ 4      4      Vn        T P]                  YP>                  V P                  PR                  '       d   \^        P`                  M\^        Pb                  4       V P                  PR                  '       Ed   \L        PV                  ! V P                  PR                  V P                   4      p	\C        V	PY                  R/ 4      4      Vn2        \A        V	PY                  R/ 4      4      Vn2        \[        V	PY                  R/ 4      4      Vn2        RV	9   d#   \f        Ph                  ! V	R,          4      Vn2        RV	9   d#   \f        Ph                  ! V	R,          4      Vn5        \m        V PH                  Po                  4       4       FN  w  rV P                  Pp                  Ps                  V
4      '       g   K2  WPH                  V
Pu                  4       &   KP  	  V P]                  WPd                  \^        Pb                  4       VPw                  4       V n<        VPw                  4       V n=        VPw                  4       V n>        VPw                  4       V n?        V P                  4        V P                  4        V P                  4        \        R4      p\        R4      p\        R4      pWPH                  9   d9   WPH                  9   g   WPH                  9   d   \$        P4                  ! RRR7       V PH                  Po                  4        UUu/ uFT  w  ppVP                  \^        Pb                  J g.   V P                  Pp                  Ps                  V4      '       g   KQ  VVbKV  	  uppV n$        V P                  \^        Pb                  R4      pVe-   \        P                  ! V \^        Pb                  R4      V nH        MR V nH        R.V nI        R.V nJ        R V nK        R #   \         d    T P!                  T4        ELg\        P"                   d^   p\$        P&                  ! R\)        T4      4       \*        P,                  ! T P                  T4       T P!                  T4        R p?ELR p?i\.         d   p\        P                  P1                  \*        P2                  ! T P                  4      4      '       d   \$        P4                  ! RRR7       \$        P&                  ! R\$        P6                  ! \)        T4      4      4       \*        P,                  ! T P                  T4       T P!                  T4        R p?EL\/        \)        T4       R	24      hR p?ii ; iu uppi )NT)exist_okF)suggest_reconfigurez(Regenerating configuration from scratch:z(Regenerating configuration from scratch.)fatalzReason:z- Try regenerating using "meson setup --wipe". binaries
propertiescmakehost_machinetarget_machine	buildtyper<   optimizationzRecommend using either -Dbuildtype or -Doptimization + -Ddebug. Using both is redundant since they override each other. See: https://mesonbuild.com/Builtin-options.html#build-type-optionsexe_wrapperz
pkg-config)LrE   rF   r8   pathr;   rC   private_dirscratch_dirlog_dirinfo_dirmakedirsr   loadget_build_dirfirst_invocationFileNotFoundErrorcreate_new_coredataMesonVersionMismatchExceptionr   logr&   r   read_cmd_line_filer
   isfileget_cmd_line_filewarningredr   r   r   buildr   r   collectionsOrderedDictr	   env_optsr   MachineFileStoreconfig_filescross_filesmachinestoreparse_machine_filesr:   r   _load_machine_file_optionsr   BUILDHOSThostr   from_literaltargetlistitemsoptstoreis_per_machine_optionas_builddefault_missingmachinesrP   rQ   	cmakevars_set_default_options_from_env_set_default_binaries_from_env _set_default_properties_from_envr   machinelookup_binary_entryr   from_bin_listrW   default_cmakedefault_pkgconfigwrap_resolver)selfrE   rF   rG   er   rP   rQ   r   configkeyr?   btdbopkvrW   s   &&&&              r)   __init__Environment.__init__V   s   $  &N!ww||I{7N7NOD77<<	;3F3FGDLGGLLK4H4HIDMKK((48KKt4KK5c3;==ASASAUkp3q(-%(  DN!D$$[1 =W<X 8M7N 9N8O
 <Q;R	
 -. %%<
 $/#:#:#<
 %''889S9SUYUbUbUnUnptpp  A ==%%1 44T]]5O5OQUQ`Q`aF(J)CDHN)&**\2*FGJ,VZZ-DEIO++(('+}}'@'@'@##mFXFXZ ==$$$ 44T]]5N5NPTP_P_`F(L")EFJO'

:r(BCHM+FJJw,CDIN' + 8 89O P6)"-":":6BR;S"T #4<<#5#5#78
==))??DD38LL0 9 ++FOO]EWEWX !002 002$446"224 	**,++---/ {#w~&2#5||9KLL _  %& *.););)= o)=A99(:(::dmm>T>T>j>jkl>m 1)= o ..}/A/A=Q".<<T=CUCUWdeD#D%Y".59E % 6((599 6CSVL**4>>;G((55! 	c 77>>'";";DNN"KLLLL!KSXYHHYQ(89..t~~{K,,[99(CF83`)abb	c`osK   2Z, A`+,`+,`(`(`(A\77`(`(C`#`##`(c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r"   machine_file_stringr&   sectionr5   section_subprojectr   r   r%   r   r'   )r(   s   "r)   r*   rJ      s:       o cr   ~K   PY r+   c                	   \         P                  ! V4      pVP                  '       d   VR 8X  d   TMRp\        RV RV R24      hV'       d   VP	                  VR7      pV\
        P                  8X  dJ   VP                  \
        P                  8X  d   \        P                  ! RRR7       VP	                  VR	7      # V# )
project optionsbuilt-in optionsz"Do not set subproject options in [z] section, use [subproject:z
] instead.)
subprojectzRSetting build machine options in the native file does not need the "build." prefixToncer   )
r   from_stringr   r
   evolver   rt   r   r   deprecation)r   r   r   r   r   r   
suggestions   &&&&&  r)   mfilestr2keyEnvironment.mfilestr2key   s    ##$78>>>$+/@$@FXJ #EgYNijtiuu  "A  B  B**(:*;Cm))){{m111  !u  }A  B::g:..
r+   c               (    V ^8  d   QhRRRRRRRR/# )	r"   r   z6T.Mapping[str, T.Mapping[str, ElementaryOptionValues]]rQ   r   r   r   r%   rI   r'   )r(   s   "r)   r*   rJ      s2     5s 5s1g 5s/95sDQ5sVZ5sr+   c                   VP                  R4      pV'       dR   \        P                  ! R4       VP                  4        F'  w  rVV P	                  VRRV4      pW`P
                  V&   K)  	  \        4       p\        P                   F3  p	VP                  V	R,           4       VP                  V	R,           4       K5  	  VP                  P                  4       P                  4        FU  w  rVWX9   g   K  \        P                  ! V R24       V P	                  VRRV4      pW`P
                  V&   VP                  V KW  	  VP                  4        EF-  w  rRV
9   d   V
P                  R^4      w  rMR	pV
R
8X  dx   VP                  4        Fa  w  rVV P	                  WZW4      pV\        P                  J d)   VP                  VJd   \        P                  ! RRR7       W`P
                  V&   Kc  	  K  V
R8X  dP   V\        P                  J d<   VP                  4        F%  w  rVV P	                  WZW4      pW`P
                  V&   K'  	  K  RV
9   g   EK  V
P                  R4      RR w  r\!        RV RV
 RV RV R2	4      h	  R# )zDRead the contents of a Machine file and put it in the options store.pathszNThe [paths] section is deprecated, use the [built-in options] section instead.N_args
_link_argszc in the [properties] section of the machine file is deprecated, use the [built-in options] section.rQ   :rO   r   zqSetting build machine options in cross files, please use a native file instead, this will be removed in meson 2.0Tr   r   zSubproject options should always be set as `[subproject:section]`, even if the options are from a nested subproject. Replace `[z
]` with `[z]`)r:   r   r   rz   r   r	   setr   all_languagesaddrQ   copysplitr   ru   r   r
   )r   r   rQ   r   r   strkr   r   deprecated_propertieslangr   valuesr   r   correct_subprojectcorrect_sections   &&&&            r)   rs   &Environment._load_machine_file_options   s_    

7#mn ;;=%%dGT7C"#Q ) -0E++D!%%dWn5!%%d\&9: , ",,11399;GD,  D6  *M  "N  O%%dL$H"#Q))$/ <  &||~OGg~.5mmC.C+"G%'",,%||~GD++D;MWC-"4"44G9S((  *]  dh  i()LL%  . --']=O=O2O  &||~GD++D;MWC()LL%  . 6=mmC6H6M3"$! "4 4AgYjI[H\\]^m]nnprs s+  .r+   c                   V ^8  d   QhRR/# r"   r%   rI   r'   )r(   s   "r)   r*   rJ   -  s     ?' ?'t ?'r+   c                	z   \         P                   P                  P                  4        UUu. uF  w  rW! R 23NK  	  upp\        ,           p\        P
                  ! \        4      p\        P                  ! V\        4       EF  w  w  rVp\        WpP                  4       V4      pVf   K)  VR8X  d   V P                  V,          P                  4       '       d!   VP                  \        P                   4      p	M\"        P                  ! RV4      p	\        \$        P&                  ! V	4      4      p
MOVR8X  d>   \        \$        P&                  ! VP                  \        P                   4      4      4      p
M\)        V4      p
V
 Uu. uF  q'       g   K  VNK  	  p
pV P*                  '       g   EK,  VR8X  dL   \         P                   P,                   F*  p\/        V R2VR7      pWM,          P1                  V
4       K,  	  EK~  VR8X  dL   \         P                   P2                   F*  p\/        V R 2VR	7      pWM,          P1                  V
4       K,  	  EK  \.        P4                  ! V4      P7                  VR	7      pWM,          P1                  V
4       EK  	  \        P                  ! \        \        4       F_  w  w  rp\.        P4                  ! V4      P7                  VR	7      pW9   g   K6  WP8                  9  g   KH  WM,          V P8                  V&   WM Ka  	  V P:                  P=                  V4       R# u uppi u upi )
r   Ncmake_prefix_pathz:|;pkg_config_pathldflagsr   )namer   cppflagsr   )r   CFLAGS_MAPPINGrz   NON_LANG_ENV_OPTIONSrk   defaultdictry   	itertoolsproductr   rA   is_cross_buildr   
is_windowsr   r8   pathseprer   
OrderedSetr   r`   LANGUAGES_USING_LDFLAGSr   extendLANGUAGES_USING_CPPFLAGSr   r   r	   rm   update)r   r   r   optsrm   evarkeynamer1   p_env_p_envp_listr   r   r   _s   &              r)   r   )Environment._set_default_options_from_env-  s   *3*=*=*L*L*R*R*TU*T$!a3e*TU ! 	
 ;F:Q:QRV:W,5,=,=dM,R(OT[ .A.A.CTJE  11}}[1<<>>!&RZZ!8 "$&%!8!("5"5f"=>F 11!("5"5ekk"**6M"NOF'.F%+1Vq!!V1 ((()+$-$7$7$O$OD"+D61Dk"ZC$M008 %P !J.$-$7$7$P$PD"+tfENK"PC$M008 %Q (33G<CCKCX ,,V4E -S^ *3):):;OQ^)_%LQ+''0777LC 3ll#:$,MS!M *` 	X&{ V. 2s   L2	L8L8c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ   n  s     e e er+   c                \   \         P                  ! \        P                  P	                  4       \        P
                  P	                  4       4      p\         P                  ! V\        4       F  w  w  r#p\        W@P                  4       V4      pVf   K(  \        P                  P                  V4      '       d0   V P                  V,          P                  P                  W%.4       K|  V P                  V,          P                  P                  V\        P                   ! V4      4       K  	  R# )zSet default binaries from the environment.

For example, pkg-config can be set via PKG_CONFIG, or in the machine
file. We want to set the default to the env variable.
N)r   chainr   DEPRECATED_ENV_PROG_MAPrz   ENV_VAR_PROG_MAPr   r   rA   r   r8   rX   existsrP   
setdefaultr   r   )r   r   r   r   r1   r   s   &     r)   r   *Environment._set_default_binaries_from_envn  s     y@@FFH(99??AC *3):):4)O%LT+ .A.A.CTJE 77>>%((MM+.77BB4QMM+.77BB4I\I\]bIcd *Pr+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s      $ r+   c                   RR.R3RR.R3RRR.R	3R
R.R3.p\         P                  ! V\        4       F  w  w  r#rEV F  p\        WPP	                  4       V4      pVf   K#  V'       dK   V P
                  V,          P
                  P                  W'P                  \        P                  4      4       M,V P
                  V,          P
                  P                  W'4        K  	  K  	  R# )z6Properties which can also be set from the environment.boost_includedirBOOST_INCLUDEDIRFboost_librarydirBOOST_LIBRARYDIR
boost_root
BOOST_ROOT	BOOSTROOTT	java_home	JAVA_HOMEN)
r   r   r   rA   r   rQ   r   r   r8   r   )r   r   r   evarsr   r1   r   r   s   &       r)   r   ,Environment._set_default_properties_from_env  s      "4!5u="4!5u=L+6=;-/	9
 2;1B1B41W- T%$[2E2E2GN$4??JJ4Q\Q\]_]g]gQhi4??JJ4W  2Xr+   c                    V ^8  d   QhRRRR/# )r"   r	   rH   r%   rI   r'   )r(   s   "r)   r*   rJ     s     % %+C % %r+   c                	    \         P                  ! 4       pVf   . pMVP                  4       p\        P                  ! WP
                  V4      V n        RV n        R # )NT)r   get_meson_commandr   r   CoreDatarZ   r`   )r   r	   meson_commands   && r)   rb   Environment.create_new_coredata  sM    
 !224 M)..0M ))'3C3C]S $r+   c                    V ^8  d   QhRRRR/# )r"   backend_namer&   r%   rI   r'   )r(   s   "r)   r*   rJ     s     	8 	8 	8 	8r+   c                	N   V P                   '       g   R # V P                  P                  V4       V P                  P	                  4        FW  w  r#V P                  P
                  P                  V4      '       g   K2  V P                  P
                  P                  W#4       KY  	  R # N)r`   r   init_backend_optionsr	   rz   r{   is_backend_option
set_option)r   r   r   r   s   &&  r)   r    Environment.init_backend_options  sq     $$$**<8LL&&(DA}}%%77::&&11!7 )r+   c                    V ^8  d   QhRRRR/# )r"   when_building_forr   r%   r3   r'   )r(   s   "r)   r*   rJ     s     ? ? ?W[ ?r+   c                	8    V P                   P                  V4      # r   )r   r   )r   r   s   &&r)   r   Environment.is_cross_build  s    }}++,=>>r+   c                   V ^8  d   QhRR/# r"   r%   r&   r'   )r(   s   "r)   r*   rJ     s     B Bs Br+   c                	`    \         P                  ! V P                   V P                  4       4      # r   )r   saver_   r   s   &r)   dump_coredataEnvironment.dump_coredata  s     }}T]]D,>,>,@AAr+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s      S r+   c                	    V P                   # r   )r[   r  s   &r)   get_log_dirEnvironment.get_log_dir  s    ||r+   c                   V ^8  d   QhRR/# )r"   r%   zcoredata.CoreDatar'   )r(   s   "r)   r*   rJ     s      / r+   c                	    V P                   # r   r   r  s   &r)   get_coredataEnvironment.get_coredata  s    }}r+   c                    V ^8  d   QhRRRR/# )r"   
unbufferedr3   r%   T.List[str]r'   )r(   s   "r)   r*   rJ     s      d { r+   c                	    \         P                  ! 4       pVf   \        R4      hVP                  4       pV '       d>   R\        P
                  P                  V^ ,          4      9   d   VP                  ^R4       V# )NzNo command?pythonz-u)r   r   r   r   r8   rX   basenameinsert)r  cmds   & r)   get_build_commandEnvironment.get_build_command  s[    ((*;#M22hhj(bgg&6&6s1v&>>JJq$
r+   c               $    V ^8  d   QhRRRRRR/# )r"   r1   r   r   r&   r%   zT.Optional[T.List[str]]r'   )r(   s   "r)   r*   rJ     s"     = =} =C =Lc =r+   c                	F    V P                   V,          P                  V4      # r   )rP   lookup_entry)r   r1   r   s   &&&r)   r   Environment.lookup_binary_entry  s    }}[)66t<<r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s          r+   c                	    V P                   # r   )rZ   r  s   &r)   get_scratch_dirEnvironment.get_scratch_dir  s    r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s       r+   c                	    V P                   # r   )rE   r  s   &r)   get_source_dirEnvironment.get_source_dir  s    r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s      s r+   c                	    V P                   # r   )rF   r  s   &r)   r_   Environment.get_build_dir  s    ~~r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ          ! !C !r+   c                "    V P                  4       # )z=Install dir for the import library (library used for linking)
get_libdirr  s   &r)   get_import_lib_dirEnvironment.get_import_lib_dir        r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s     ! !s !r+   c                "    V P                  4       # )z9Install dir for shared modules that are loaded at runtimer)  r  s   &r)   get_shared_module_dir!Environment.get_shared_module_dir  r-  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s     ! !C !r+   c                    V P                   P                  pVP                  4       '       g   VP                  4       '       d   V P	                  4       # V P                  4       # )z"Install dir for the shared library)r   rv   r   	is_cygwin
get_bindirr*  )r   ms   & r)   get_shared_lib_dirEnvironment.get_shared_lib_dir  s@    MM<<>>Q[[]]??$$  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s     , ,S ,r+   c                (    V P                  4        R2# )zInstall dir for JAR filesz/java)get_datadirr  s   &r)   get_jar_dirEnvironment.get_jar_dir  s    ""$%U++r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     r'  r+   c                "    V P                  4       # )z"Install dir for the static libraryr)  r  s   &r)   get_static_lib_dirEnvironment.get_static_lib_dir  r-  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ          R RC Rr+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )prefixr/   r   r{   get_value_forr   r  s   &r)   
get_prefixEnvironment.get_prefix  '    t}}--;;Ih<OPQQr+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     rC  r+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )libdirrF  r  s   &r)   r*  Environment.get_libdir  rJ  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ          V V Vr+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )
libexecdirrF  r  s   &r)   get_libexecdirEnvironment.get_libexecdir  '    t}}--;;Il<STUUr+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     rC  r+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )bindirrF  r  s   &r)   r5  Environment.get_bindir  rJ  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     rP  r+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )
includedirrF  r  s   &r)   get_includedirEnvironment.get_includedir  rU  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     rC  r+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )mandirrF  r  s   &r)   
get_mandirEnvironment.get_mandir  rJ  r+   c                   V ^8  d   QhRR/# r   r'   )r(   s   "r)   r*   rJ     s     S SS Sr+   c                	p    \        V P                  P                  P                  \	        R 4      4      4      # )datadirrF  r  s   &r)   r;  Environment.get_datadir  s'    t}}--;;Ii<PQRRr+   c                    V ^8  d   QhRRRR/# r"   r1   r   r%   r  r'   )r(   s   "r)   r*   rJ     s     4 4 4+ 4r+   c                	(   V P                   P                  V,          P                  4        F-  pVP                  R 8X  d   ^p MVP                  R8X  g   K+  ^p M	  . # \	        VP                  4       R.,           4      w  rEpVP                  ^ 8w  d   \        P                  ! R4      hVP                  R4      V,          P                  R4      P                  R4      pV Uu. uF"  p\        P                  P                  V4      NK$  	  up# u upi )clanggccz-print-search-dirsz&Could not calculate system search dirs
zlibraries: =r   )r   r   r   idr   get_exelist
returncoder   r
   r   lstripr8   rX   normpath)r   r1   compindexpoutr   r   s   &&      r)   get_compiler_system_lib_dirs(Environment.get_compiler_system_lib_dirs  s    MM++K8??ADww'!E! B It//15I4JJK	<<1))*RSS		$&--n=CCCH-23U  #U333s   $(Dc                    V ^8  d   QhRRRR/# ri  r'   )r(   s   "r)   r*   rJ     s     
/ 
/M 
/k 
/r+   c                	    V P                   P                  V,          P                  4        FG  pVP                  R 8X  d    VP	                  4       # VP                  R8X  g   K8   VP	                  4       # 	  . # )rk  rl  )r   r   r   rn  get_default_include_dirs)r   r1   rs  s   && r)    get_compiler_system_include_dirs,Environment.get_compiler_system_include_dirs  sn    MM++K8??ADww'! ,,.. E!
 ,,.. B Ir+   c                    V ^8  d   QhRRRR/# )r"   r1   r   r%   r3   r'   )r(   s   "r)   r*   rJ     s     D DM DSW Dr+   c                	    V P                   V,          P                  R R4      pVe    \        V\        4      '       g   Q R4       hV# V P	                  4       '       g   R# \        V P                  V,          4      '       * # )needs_exe_wrapperNr-   F)rQ   r:   r.   r3   r   r   r   )r   r1   r?   s   && r)   need_exe_wrapperEnvironment.need_exe_wrapper  sj    ,001DdKeT**6J6*L""$$'k(BCCCr+   c                   V ^8  d   QhRR/# )r"   r%   zT.Optional[ExternalProgram]r'   )r(   s   "r)   r*   rJ   "  s        !<  r+   c                	J    V P                  4       '       g   R # V P                  # r   )r  rW   r  s   &r)   get_exe_wrapperEnvironment.get_exe_wrapper"  s     $$&&r+   c                   V ^8  d   QhRR/# )r"   r%   r3   r'   )r(   s   "r)   r*   rJ   '  s     I I Ir+   c                	b    V P                   R J;'       d    V P                   P                  4       # r   )rW   foundr  s   &r)   has_exe_wrapperEnvironment.has_exe_wrapper'  s*    t+HH0@0@0F0F0HHr+   c               $    V ^8  d   QhRRRRRR/# )r"   library_pathsz
T.Set[str]extra_pathsr%   zmesonlib.EnvironmentVariablesr'   )r(   s   "r)   r*   rJ   *  s"      z 
 Wt r+   c                	<   \         P                  ! 4       pV P                  P                  P	                  4       '       * ;'       d%    V P                  P
                  P	                  4       pV'       d   VP                  V4       V'       d   V'       d   VP                  R \        V4      RR7       MV P                  P
                  P	                  4       '       g+   V P                  P
                  P                  4       '       d   VP                  V4       MaV P                  P
                  P                  4       '       d   VP                  R\        V4      4       MVP                  R\        V4      4       V'       d   VP                  R\        V4      4       V# )WINEPATH;)	separatorDYLD_LIBRARY_PATHLD_LIBRARY_PATHPATH)r   EnvironmentVariablesr   rj   r   rv   r   prependry   r4  	is_darwin)r   r  r  env	need_wines   &&&  r)   get_env_for_pathsEnvironment.get_env_for_paths*  s   ++-++6688\\T]]=O=O=Z=Z=\	
   -J](;sK##..00DMM4F4F4P4P4R4R""=1##--///m1DE-tM/BCKK[ 12
r+   c               (    V ^8  d   QhRRRRRRRR/# )	r"   r   r&   rs  zT.Type['Compiler']r1   r   r%   rI   r'   )r(   s   "r)   r*   rJ   @  s+     '- '-# '--? '-#0'-59'-r+   c                   RV 2p\        V R2VR7      p\        V R2VR7      pRpV P                  P                  P                  V4      pVf   RpV P                  P                  V. 4      pV P                  P                  P                  V4      p	V	f   V P                  P                  V. 4      p	\        V\        \        34      '       g   Q R4       h\        V	\        \        34      '       g   Q R4       h\        P                  ! VP                  VR	,           VRRR
7      p
\        P                  ! VP                  VR,           V	RRR
7      pV P                  P                  P                  WV
4       V P                  P                  P                  WV4       VP                  '       d   V'       d   VP                  V4       R# R# R# )zOAdd global language arguments that are needed before compiler/linker detection.zExtra arguments passed to the r   r   r   FNTr-   z	 compiler)r   
allow_dupsz linker)r   r   r{   get_pending_valuerm   r:   r.   r&   ry   r	   UserStringArrayOptionr   add_compiler_optionINVOKES_LINKERextend_value)r   r   rs  r1   descriptionargkeylargkeycomp_args_from_envvarcomp_optionslink_optionscargslargss   &&&&        r)   add_lang_argsEnvironment.add_lang_args@  s    7tf=dV5>;?tfJ/E %}}--??G$(!==,,VR8L}}--??H==,,Wb9L,d44@j@4,d44@j@4--KK+%Td<
 --LL)#Td<
 	224G224%H#8 |, $9r+   )rP   rF   r   r   r   r   rm   rW   r`   r\   r[   r   rq   r	   rQ   rZ   rE   r   N)F)/__name__
__module____qualname____firstlineno__rY   r[   r\   r   r   rs   r   r   r   rb   r   r   ru   r   r  r  r  staticmethodr  r   r  r!  r_   r+  r0  r7  r<  r@  rH  r*  rS  r5  r]  rb  r;  rw  r|  r  r  r  r  r  __static_attributes__r'   r+   r)   rC   rC   Q   s   !KGHQ:f5sn?'Be"(%	8 AN@R@R ?B  = !!!,!RRVRVRS4&
/ =J<N<N D 
I,'- '-r+   rC   ))PKG_CONFIG_PATHr   )CMAKE_PREFIX_PATHr   )LDFLAGSr   )CPPFLAGSr   ).
__future__r   r   r8   r   typingTrk   rO   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   programsr   r   r   r   r   r   r   r   r   
mesonbuildTYPE_CHECKINGr   r   r   	wrap.wrapr    r   build_filenamer/   rA   rC   r'   r+   r)   <module>r     s   
 #           
   %    ???#;#  
2V- V-r+   