
    jR                    P   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKJr  S SKrSSKJrJrJrJrJrJrJr  SSKJr  SSKJr  \R:                  (       a  S SKJr  SS	KJ r   SS
KJ!r!   " S S\ \5      r"Sr#Sr$SS jr% " S S5      r&SS jr'SS jr(g)    )annotationsN)Path   )buildcoredataenvironmentinterpretermesonlibmintromlog)MesonException)	OptionKey)Protocol)SharedCMDOptions)SubprojectHolderc                  f    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   Srg)
CMDOptions   boolprofilefatal_warningsreconfigurewipe
clearcachestrbuilddir	sourcedirpager N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       r/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/msetup.pyr   r      s-    
r&   r   z\# This file is autogenerated by Meson. If you change or delete it, it won't be recreated.
*
zl# This file is autogenerated by Meson. If you change or delete it, it won't be recreated.
syntax: glob
**/*
c                   [         R                  " U 5        U R                  S/ SSS9  U R                  S/ SSS9  U R                  SSS	[         R                  S
9  U R                  SSS[        R
                  S9  U R                  SSSSS9  U R                  SSSS9  U R                  SSSS9  U R                  SSSSS9  U R                  SSS S9  U R                  SSS S9  g )Nz--native-fileappendz=File containing overrides for native compilation environment.)defaultactionhelpz--cross-filez.File describing cross compilation environment.z-vz	--versionversion)r+   r-   z--profile-self
store_truer   )r+   destr,   z--fatal-meson-warningsr   zMake all Meson warnings fatalz--reconfigurezSet options and reconfigure the project. Useful when new options have been added to the project and the default value is not working.)r+   r,   z--wipezWipe build directory and reconfigure using previous command line options. Useful when build directory got corrupted, or when rebuilding with a newer version of meson.z--clearcacheFz:Clear cached state (e.g. found dependencies). Since 1.3.0.)r+   r*   r,   r   ?)nargsr*   r   )r   register_builtin_argumentsadd_argumentr-   argparseSUPPRESS)parsers    r'   add_argumentsr7   ,   s8   ''/
 "'\  ^  "'M  O k) ( 0 0  2
(I%..  0
0L\<  >
/  0 7  8 |UY  [

#t<
3=r&   c                  r    \ rS rSrSS jrSS jrSS jrSS jrSS jrSSS jjr	SS	 jr
SS
 jrSS jrSrg)MesonAppI   c           	        Xl         U R                  5       u  U l        U l        UR                  (       Ga!  / n[
        R                  " 5        n[        R                  " U R                  5      /[        R                  " [        R                  R                  U R                  [        R                  R                  S5      5      -    H+  n UR!                  ["        R$                  " XC5      U45        M-     [        R(                  " U R                  U5         [        R*                  " U R                  5       H  n[        R                  R                  U R                  U5      n[        R                  R-                  U5      (       a<  [        R                  R/                  U5      (       d  [0        R2                  " U5        M  [0        R4                  " U5        M     U R7                  U R                  5        U HM  u  pg[        R8                  " [        R                  R;                  U5      SS9  ["        R<                  " Xg5        MO      S S S 5        g g ! [&         a     GM  f = f! U R7                  U R                  5        U HM  u  pg[        R8                  " [        R                  R;                  U5      SS9  ["        R<                  " Xg5        MO     f = f! , (       d  f       g = f)Nz*.iniTexist_ok)optionsvalidate_dirs
source_dir	build_dirr   tempfileTemporaryDirectoryr   get_cmd_line_fileglobospathjoinr   Environmentprivate_dirr)   shutilcopyFileNotFoundErrorread_cmd_line_filelistdirisdirislinkr
   windows_proof_rmtreewindows_proof_rmadd_vcs_ignore_filesmakedirsdirnamemove)selfr>   restoredfilenamelbfs           r'   __init__MesonApp.__init__J   s   ,0,>,>,@)$.<<< G,,.!!)!;!;DNN!K LtyyY[Y`Y`YeYefjftft  wB  wN  wN  wZ  wZ  \c  Zd  Pe  !eHH(@('KL !e ++DNNGD*  ZZ7GGLL;77==++BGGNN14E4E$99!<$55a8 8 --dnn= 'BGGOOA$6FA) !(/ /.  -  $ --dnn= 'BGGOOA$6FA) !(/ /.sL   A=K'I2%KCI*A.K
I'"K&I''K*A0KK
K+c                    [         R                  R                  U[        R                  5      n[         R                  R                  U5      $ N)rF   rG   rH   r   build_filenameexists)rX   rV   fnames      r'   has_build_fileMesonApp.has_build_filem   s/    Wk&@&@Aww~~e$$r&   c                ^   SU< SU< 3nUcR  Uc:  U R                  S5      (       d  U R                  S5      (       a  SnO[        S5      e[        R                  " 5       nUc  [        R                  " 5       n[        R                  R                  [        R                  R                  U5      5      n[        R                  R                  [        R                  R                  U5      5      n[        R                  R                  U5      (       d2  [        R                  R                  U5      (       d  [        U S35      e [        R                  " USS9   [        R                  " USS9  [        R                  R                  XE5      (       aS  [        S
 [        R                  " U5      [        R                  " U5      4 5       5      nU(       a  XE:X  a  [        S5      eU R                  U5      (       a6  U R                  U5      (       a  [        S[        R                   S35      eXE4$ U R                  U5      (       a  XT4$ [        U S[        R                   S35      e! [         a  n[        U S	35      UeS nAff = f! [         a  n[        U S	35      UeS nAff = f)NzNeither source directory z nor build directory .z..z)Must specify at least one directory name.z exist.Tr<   z is not a directoryc              3  j   #    U  H)  oR                   S :H  =(       a    UR                  S :H  v   M+     g7f)r   N)st_inost_dev).0ss     r'   	<genexpr>.MesonApp.validate_core_dirs.<locals>.<genexpr>   s(     lKkaQ!@188q=!@Kks   13zUSource and build directories must not be the same. Create a pristine build directory.z&Both directories contain a build file z contain a build file )rf   r   rF   getcwdrG   abspathrealpathrd   rU   FileExistsErrorsamefileanystatr   rc   )rX   dir1dir2invalid_msg_prefixndir1ndir2ehas_undefineds           r'   validate_core_dirsMesonApp.validate_core_dirsq   s;   8@UVZU]^<|**3//D4G4G4M4MD()TUU99;D<99;D 0 0 67 0 0 67ww~~e$$RWW^^E-B-B $6#7w!?@@	FKK-	FKK- 77E))lBGGTYN\^\c\cdi\jKkllM EN$%|}}u%%""5))$'MkNhNhMiij%kll<u%%< 233I+JdJdIeefghh#  	F D6)<!=>AE	F  	F D6)<!=>AE	Fs0   I- J -
J7JJ
J,J''J,c                d   [        [        R                  R                  US5      SSS9 nUR	                  [
        5        S S S 5        [        [        R                  R                  US5      SSS9 nUR	                  [        5        S S S 5        g ! , (       d  f       NV= f! , (       d  f       g = f)Nz
.gitignorewutf-8encodingz	.hgignore)openrF   rG   rH   writegit_ignore_filehg_ignore_file)rX   rA   ofiles      r'   rT   MesonApp.add_vcs_ignore_files   sv    "'',,y,7wOSXKK( P"'',,y+6gNRWKK' ON PONNs   B1B!
B!
B/c                   U R                  U R                  R                  U R                  R                  5      u  p[	        U5      [	        U5      R
                  ;   a  [        SU SU 35      e[        R                  " U5      (       d  U R                  U5        X4$ [        R                  R                  US5      n[        R                  R                  [        R                  R                  US5      5      n[        R                  R                  U5      nU(       a  U R                  R                  (       dw  U R                  R                  (       d\  [!        S5        U R                  R"                  (       a+  SSKJn  [)        UR+                  U R                  U5      5      e[)        S5      eX4$ U(       d)  U R                  R                  (       a  [        S	U 35      eX4$ )
NzBuild directory z( cannot be a parent of source directory zmeson-privatezcoredata.data7  Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
Run "meson setup --reconfigure" to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.r   )mconfr   z>Directory is not empty and does not contain a previous build:
)r   r>   r   r   r   parentsr   rF   rO   rT   rG   rH   rd   rP   r   r   printcmd_line_options r   
SystemExitrun_impl)rX   src_dirrA   priv_dirhas_valid_buildhas_partial_buildr   s          r'   r?   MesonApp.validate_dirs   sf   #66t||7L7LdllNdNde	?d7m333 #3I;>fgnfo!pqqzz)$$%%i0%%77<<	?;''..h)OPGGMM(3<<++DLL4E4E U V
 <<00'$U^^DLL)%LMM m# !! #t||'8'8 #bclbm!noo!!r&   Nc                H   [         R                  " U R                  U R                  U R                  5      nUR
                  (       dB  U R                  R                  (       d   eUR                  R                  U R                  5        [        R                  " UR                  5       U R                  R                  5        U R                  R                  (       a)  [        R                  " [        R                   " 5       5        U R                  R"                  (       a  UR                  R%                  5         [&        R(                  " U R                  S[&        R*                  R,                  S5         U R/                  X1U5      sS S S 5        $ ! , (       d  f       g = f)Nzmeson-private/meson.lockzHSome other Meson process is already using this build directory. Exiting.)r   rI   r@   rA   r>   first_invocationr   r   set_from_configure_commandr   
initializeget_log_dirr   r   set_timestamp_starttime	monotonicr   clear_cacher
   DirectoryLockDirectoryLockActionFAIL	_generate)rX   capture
vslite_ctxenvs       r'   generateMesonApp.generate   s    %%doot~~t||T##<<++++LL33DLLA)4<<+F+FG<<$$T^^%56<<""LL$$&##DNN4N$,$@$@$E$E$np >>#
;p p ps   7F
F!c                n   / nUR                  5        VVs/ s H  u  pVUR                  5       (       d  M  UPM      nnnU H  nXR                  ;   d=  UR                  S S9UR                  ;   d   UR                  R	                  U5      (       a  MQ  UR
                  (       a  UR
                  U;  a  Mt  UR
                  c0  UR                  R                  UR                  5       5      (       a  M  UR                  SU S35        M     U(       a  SR                  U5      n	[        SU	 35      eg s  snnf )N)
subproject"z, zUnknown options: )itemsfoundoptstoreevolveaccept_as_pending_optionr   is_project_optionas_rootr)   rH   r   )
rX   r   r   all_subprojectserrlistnameobjknown_subprojectsopterrstrs
             r'   check_unused_optionsMesonApp.check_unused_options   s    !3B3H3H3JZ3JidciikT3JZ#C '''JJ$J/83D3DD%%>>sCC~~#..8I"I~~%(*;*;*M*Mckkm*\*\NNQse1:& $ YYw'F #4VH!=>>  [s
   D1D1c           
        [         R                  " S[        R                  " S10 [	        U R
                  5      D65      n[        R                  " U R                  U5        [        R                  " S[        R                  R                  5       R                  5       5        [        R                  " S[        R                  5        [        R                  " S[        R                   " U5      5        [        R                  " S["        R$                  " 5       5        [        R&                  " [        R(                  " S5      5        [        R&                  " S[        R*                  5        [        R&                  " S[        R(                  " U R,                  5      5        [        R&                  " S	[        R(                  " U R                  5      5        UR/                  5       (       a,  [        R&                  " S
[        R(                  " S5      5        O+[        R&                  " S
[        R(                  " S5      5        [0        R2                  " U5      n[4        R6                  " XTS9n[         R                  " SUR/                  5       (       a  [        R&                  O[        R                  5      nU" S[        R(                  " UR8                  R0                  R:                  5      5        U" S[        R(                  " UR8                  R0                  R<                  5      5        [        R&                  " S[        R(                  " UR8                  R>                  R:                  5      5        [        R&                  " S[        R(                  " UR8                  R>                  R<                  5      5        U" S[        R(                  " UR8                  R@                  R:                  5      5        U" S[        R(                  " UR8                  R@                  R<                  5      5         U R
                  RB                  (       aS  [D        RF                  RI                  U R                  SS5      n[B        RJ                  " S[M        5       [O        5       US9  OURQ                  5          S n
S n [D        RF                  RI                  URY                  5       S5      nUR[                  5       n
U R]                  XV5        U R_                  UR                  UR`                  Rb                  URd                  5        U R
                  RB                  (       a  [O        5       nSURf                  Rh                   S3n[D        RF                  RI                  U R                  SU5      n[B        RJ                  " S[M        5       XS9  US   nUb  [k        U[l        5      (       d   eOURf                  Ro                  X#5      n[0        Rp                  " X\5        URr                  (       av  UR                  Rt                  U R
                  l;        UR                  Rx                  U R
                  l=        [        R|                  " U R                  U R
                  5        O+[        R~                  " U R                  U R
                  5        U R
                  RB                  (       aS  [D        RF                  RI                  U R                  SS5      n[B        RJ                  " S[M        5       [O        5       US9  O [T        R                  " XVRf                  5        [T        RV                  " U/ S 5        URf                  R                  5         UR                  R                  R                  S!5      S":X  a  [        R                  " S#5        UR                  R                  R                  S$5      S%:X  a  [        R                  " S&5        U R
                  RB                  (       a  [D        RF                  RI                  U R                  SS'5      n[        [        R                  R                  5       5      nU Vs1 s H  oS(-   R                  S)5      (       d  M  UiM!     nn[        UU-
  5      nU[        U5      S*.[        U5      [        U5      S*.S+.n[        US,S-S.9 n[        R                  " UU5        S S S 5        [        R&                  " S/5        U$ ! [R         a  n	[T        RV                  " XY/5        e S n	A	ff = fs  snf ! , (       d  f       NU= f! [R         aw  n	[T        RV                  " XY/5        U
bW  U
S0-   n[D        RF                  R                  U5      (       a  [D        R                  " UU
5        e [D        R                  " U
5        e S n	A	ff = f)2Nr   zBuild started atzMain binary:zBuild Options:zPython system:zThe Meson build systemzVersion:zSource dir:z
Build dir:zBuild type:zcross buildznative build)user_defined_optionsz6T.Callable[[mlog.TV_Loggable, mlog.TV_Loggable], None]zBuild machine cpu family:zBuild machine cpu:zHost machine cpu family:zHost machine cpu:zTarget machine cpu family:zTarget machine cpu:z
meson-logszprofile-interpreter.logz
intr.run())r[   z	build.datzprofile-z-backend.logz7gen_result = intr.backend.generate(capture, vslite_ctx)
gen_resultzprofile-introspector.logz3mintro.generate_introspection_file(b, intr.backend)Tbackendxcodez8xcode backend is currently unmaintained, patches welcomelayoutflatay  -Dlayout=flat is unsupported and probably broken. It was a failed experiment at making Windows build artifacts runnable while uninstalled, due to PATH considerations, but was untested by CI and anyways breaks reasonable use of conflicting targets in different subdirs. Please consider using `meson devenv` instead. See https://github.com/mesonbuild/meson/pull/9243 for details.zprofile-startup-modules.jsonri   zmesonbuild.)modulescount)stdlibmesonr   r   r   zmeson setup completedz.prevr   )QTcastr4   	Namespacevarsr>   r   rN   rA   r   debugdatetimenow	isoformatsys
executableformat_cmd_line_optionsplatformsystemlogboldr-   r@   is_cross_buildr   Buildr	   Interpretermachines
cpu_familycpuhosttargetr   rF   rG   rH   runctxglobalslocalsrun	Exceptionr   write_meson_info_fileget_scratch_dirdump_coredatafinalize_postconf_hooksr   r   r   subprojectsr   r   
isinstancedictr   saver   cross_files
cross_fileconfig_filesnative_filewrite_cmd_line_fileupdate_cmd_line_filegenerate_introspection_filerun_postconf_scriptsr   get_value_forwarningsetr   keys
startswithsortedlenr   jsondumprd   replaceunlink)rX   r   r   r   r   r]   intr
logger_funre   r}   cdfcaptured_compile_argsdumpfile	localvarsmodsmod	mesonmodsstdmodsdatar^   old_cdfs                        r'   r   MesonApp._generate   s     !vvlH4F4F4\dllI[4\]##DNN4HI

%x'8'8'<'<'>'H'H'JK

>3>>2

#X%E%EFZ%[\

#X__%67345X--.		$// :;tyy89HH]DIIm$<=HH]DIIn$=>KK&&qT VVT),););)=)=TXX4::P
.		#,,:L:L:W:W0XY'3<<3E3E3I3I)JK+TYYs||7H7H7S7S-TU$dii0A0A0E0E&FG/3<<;N;N;Y;Y1Z[($))CLL4G4G4K4K*LM	||##T^^\C\]|WY5Q

  $26K	ww||C$7$7$9;GH ##%C((1%%cll&*&?&?&P&P&*&6&68 ||##"H	"4<<#4#4"5\BT^^\5IXZaZcen(1,(?%,4
CXZ^8_8___(,(=(=g(R%JJq### +.,,*B*B'+.<<+D+D(,,T^^T\\J--dnndllK ||##T^^\C]^TV]V_agaityz221llC((B5 LL--/ ||$$229=HWX||$$228<F , - ||##T^^\Cab3;;++-.,0XDSW4H4H4WSD	X 	!12.5G"Mdjktdu  AD  EN  AO  YP  Q%w71IIdA& 8 01 %$g  	((C0	B Y 87
  	((C0-77>>'**JJw,  IIcN	sj   3A-d !d 7Oe ;ee!Ae "e	:e 
e$d<<ee 	
ee 
g$A2ggc                    UR                   R                  UR                  R                  5       5        UR                  R                  5        H  nUR                  U5        M     g rb   )devenvr)   r   
get_devenvr   valuespostconf_hook)rX   r]   r   r  s       r'   r    MesonApp.finalize_postconf_hooksS  sD    	//12<<&&(Ca  )r&   )rA   r>   r@   r>   r   returnNone)rV   r   r  r   )rx   T.Optional[str]ry   r  r  T.Tuple[str, str])rA   r   r  r  )r  r  )FN)r   r   r   T.Optional[dict]r  r  )r   z'coredata.CoreData'r   zT.Dict[OptionKey, str]r   z T.Mapping[str, SubprojectHolder]r  r  )r   zenvironment.Environmentr   r   r   r  r  r  )r]   zbuild.Buildr   zinterpreter.Interpreterr  r  )r    r!   r"   r#   r_   rf   r   rT   r?   r   r   r   r   r%   r   r&   r'   r9   r9   I   s4    !*F%"iH("4<?(y%v!r&   r9   c                8   U R                   n[        S5      nU R                  R                  U5      n[        S5      nX@R                  R	                  5       ;   a  U R                  U   S:w  a  [        S5      eOSU R                  U'   [        R                  " 5       n0 nU HB  nU SU 3U l         XpR                  [        S5      '   [        U 5      nUR                  SS9Xg'   MD     U S	3U l         X0R                  U'   [        U 5      nUR                  S
US9  g )N	genvsliter   ninjazExplicitly specifying a backend option with 'genvslite' is not necessary (the ninja backend is always used) but specifying a non-ninja backend conflicts with a 'genvslite' setup_	buildtypeT)r   _vsF)r   r   )
r   r   r   popr   r   r    get_genvs_default_buildtype_listr9   r   )	r>   builddir_prefixk_genvslitegenvsliteval	k_backendbuildtypes_listr   buildtypestrapps	            r'   run_genvslite_setupr(  X  s*    &&OK(K++//<L )$I,,1133##I.'9  "H I I :
 /6  +??AOJ'-.a~>;G  ;!78w#&<<<#=
 	 ( **#.G,8[)
7
CLL:L6r&   c                   [        U [        5      (       aF  [        R                  " 5       n[	        U5        [
        R                  " SUR                  U 5      5      n [        R                  " U 5        SU l
        [        S5      U R                  R                  5       ;   a  [        U 5        g[        U 5      nUR!                  5         g)Nr   Fr  r   )r   listr4   ArgumentParserr7   r   r   
parse_argsr   parse_cmd_line_optionsr   r   r   r   r(  r9   r   )r>   r6   r'  s      r'   r   r   {  s    '4  ((*f&&v'8'8'AB##G,
 GM!9!9!>!>!@@G$
  wr&   )r6   zargparse.ArgumentParserr  r  r  )r>   z T.Union[CMDOptions, T.List[str]]r  int))
__future__r   r4   r   rE   r   rF   r   rK   r   rB   r   cProfiler   pathlibr   typingr   r   r   r   r   r	   r
   r   r   r   r>   r   TYPE_CHECKINGtyping_extensionsr   r   r   r   r   r   r7   r9   r(  r   r   r&   r'   <module>r5     s{   
 # P P P P P    O O O $ ??**-	%x 	>:M! M!^!7Fr&   