
    <hZ3                       S SK Jr  SSKJr  SSKJr  SSKJr  S SKJ	r	  S SK
r\R                  (       a  SSKJr  SS	KJr  S
SSSSSSSSSS.
rSSSSSSSSSS.	r/ SQrS7S  jr " S! S"\5      r " S# S$5      rS8S% jrS9S& jrS:S;S' jjrS<S( jr " S) S*5      r " S+ S,5      r " S- S.5      r " S/ S05      r " S1 S25      r " S3 S45      r  " S5 S65      r!g)=    )annotations   )MesonException)	OptionKey)mlog)PathN)Environment)TYPE_varCCXXCUDAOBJCOBJCXXASM_NASMCSharpJavaFortranSwift)
ccppcudaobjcobjcppnasmcsjavafortranswiftNinjaXcodezVisual Studio 10 2010zVisual Studio 11 2012zVisual Studio 12 2013zVisual Studio 14 2015zVisual Studio 15 2017zVisual Studio 16 2019zVisual Studio 17 2022)	ninjaxcodevs2010vs2012vs2013vs2015vs2017vs2019vs2022)CMAKE_TOOLCHAIN_FILECMAKE_PROJECT_INCLUDEMESON_PRELOAD_FILE!MESON_PS_CMAKE_CURRENT_BINARY_DIR!MESON_PS_CMAKE_CURRENT_SOURCE_DIRMESON_PS_DELAYED_CALLSMESON_PS_LOADEDMESON_FIND_ROOT_PATHMESON_CMAKE_SYSROOTMESON_PATHS_LISTMESON_CMAKE_ROOTc                \   SU R                   R                  ;   aU  U R                   R                  R                  S5      S:H  nU R                   R                  R                  S5      S;   a  SnU$ U R                   R                  R                  S5      n[        U[        5      (       d   eU$ )Nb_vscrt	buildtypedebug>   mddmtdT)coredataoptstoreget_value_for
isinstancebool)envis_debug	debug_opts      x/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/cmake/common.pycmake_is_debugrD   7   s    CLL)))<<((66{CwN<<  ..y9^KH LL))77@	)T****    c                      \ rS rSrSrg)CMakeExceptionC    N)__name__
__module____qualname____firstlineno____static_attributes__rI   rE   rC   rG   rG   C   s    rE   rG   c                  (    \ rS rSrSS jrSS jrSrg)CMakeBuildFileF   c                (    Xl         X l        X0l        g Nfileis_cmakeis_temp)selfrU   rV   rW   s       rC   __init__CMakeBuildFile.__init__G   s    	 rE   c           	         SU R                   R                   SU R                   SU R                   SU R                   S3	$ )N<z: z; cmake=z; temp=>)	__class__rJ   rU   rV   rW   rX   s    rC   __repr__CMakeBuildFile.__repr__L   s?    4>>**+2dii[wW[WcWcVddeffrE   rT   N)rU   r   rV   r?   rW   r?   returnNonerb   strrJ   rK   rL   rM   rY   r`   rN   rI   rE   rC   rP   rP   F   s    
grE   rP   c                (   / nSnSnSnU  HV  nU(       a  US;  a  US-  nX%-  nSnM  US:X  a  SnM'  US;   a	  U(       + nM6  US;   a  U(       a  X%-  nMI  X/-  nSnMR  X%-  nMX     X/-  nU Vs/ s H  n[        U5      S:  d  M  UPM     nnU$ s  snf )	N F)"'\T>   ri   rj   >   
 r   )len)rawrescurrescape	in_stringirs          rC   _flags_to_listrv   O   s    
CDFI
"IDF$YF*_%I+	vID% & 6MC
(cSVaZ1cC
(J )s   .BBc                    U R                   R                  R                  [        S5      5      n[	        U[
        5      (       d   eU[        ;   d   eS[        U   /$ )Nbackendz-G)r;   r<   r=   r   r>   re   backend_generator_map)r@   backend_names     rC   cmake_get_generator_argsr{   l   sT    <<((66y7KLLlC((((0000'566rE   c           	     *   / nU  GH	  nUR                  5        H  u  pEU[        ;   aZ  [        R                  " S[        R                  " U5      S5        [        R                  " S5        [        R                  " S5        Mi  [        U[        [        [        45      (       a  USU SU 3/-  nM  [        U[        5      (       a  U(       a  SOSnUSU SU 3/-  nM  [        S	R                  [        U5      R                  U5      5      e   GM     U$ )
NSettingCis not supported. See the meson docs for cross compilation support:C  - URL: https://mesonbuild.com/CMake-module.html#cross-compilation  --> Ignoring this option-D=ONOFFz>Type "{}" of "{}" is not supported as for a CMake define value)itemsblacklist_cmake_defsr   warningboldr>   re   intfloatr?   r   formattyperJ   )ro   
permissiverp   rt   keyvalval_strs          rC   cmake_defines_to_argsr   r   s    C	HC**Y		#8}~bc9:#S%011"SE3%())C&&"%$5"SE7),--$%e%l%lmqrumvmm  BE  &F  G  G "  JrE   c                `  ^ / n[          Vs/ s H  nSU-   PM
     nnU(       d   eU  H}  m[        U4S jU 5       5      (       aZ  [        R                  " S[        R                  " T5      S5        [        R                  " S5        [        R                  " S5        Mw  UT/-  nM     U$ s  snf )Nr   c              3  F   >#    U  H  nTR                  U5      v   M     g 7frS   )
startswith).0xrt   s     rC   	<genexpr>#check_cmake_args.<locals>.<genexpr>   s     ,1q||As   !r}   r~   r   r   )r   anyr   r   r   )argsrp   r   disrt   s       @rC   check_cmake_argsr      s    C1
214!81C
2J3,,,,LLDIIaL2wxLL^_LL56s
  J 3s   B+c                  ,    \ rS rSrSSS jjrSS jrSrg)	CMakeInclude   c                    Xl         X l        g rS   pathisSystem)rX   r   r   s      rC   rY   CMakeInclude.__init__   s    	 rE   c                <    SU R                    SU R                   S3$ )Nz<CMakeInclude: z -- isSystem = r]   r   r_   s    rC   r`   CMakeInclude.__repr__   s     ?4==/KKrE   )r   r   NF)r   r   r   r?   rd   rf   rI   rE   rC   r   r      s    !LrE   r   c                  (    \ rS rSrSS jrSS jrSrg)CMakeFileGroup   c           	        UR                  SS5      U l        [        UR                  SS5      5      U l        UR                  SS5      U l        UR                  SS5      U l        UR                  S/ 5       Vs/ s H  n[        U5      PM     snU l        / U l        UR                  S	/ 5       H  n[        U[        5      (       aw  S
U;   aq  UR                  SS5      n[        U[        5      (       d   e[        US
   [        5      (       d   eU =R                  [        [        US
   5      U5      /-  sl        M  [        U[        5      (       d  M  U =R                  [        [        U5      5      /-  sl        M     g s  snf )Ndefinesrh   compileFlagsisGeneratedFlanguager   sourcesincludePathr   r   )getr   rv   flagsis_generatedr   r   r   includesr>   dictr?   re   r   )rX   datar   rt   r   s        rC   rY   CMakeFileGroup.__init__   s/    HHY3#DHH^R$@A
"&((=%"@!XXj#6)-)R)@A)@AQ)@A /1-,A!T""v{55U3!(D1111!!F)S1111,tAfI"I!JJAs##,tAw"7!88 -	 Bs   :Fc                   [         R                  " S[         R                  " SR                  U R                  5      5      5        [         R                  " S[         R                  " SR                  U R
                  5      5      5        [         R                  " S[         R                  " SR                  U R                   Vs/ s H  n[        U5      PM     sn5      5      5        [         R                  " S[         R                  " U R                  (       a  SOS5      5        [         R                  " S[         R                  " U R                  5      5        [         R                  " S	5        U R                   HE  n[         R                  " 5          [         R                  " UR                  5       5        S S S 5        MG     g s  snf ! , (       d  f       M^  = f)
Nzflags        =, zdefines      =zincludes     =zis_generated =truefalsezlanguage     =zsources:)r   logr   joinr   r   r   re   r   r   r   nestedas_posix)rX   r   rt   s      rC   r   CMakeFileGroup.log   s   !499TYYtzz-B#CD!499TYYt||-D#EF!499TYY7V1A7V-W#XY!499t7H7HVg#VW!499T]]#;<A&  	 8W
 s   G%G
G	)r   r   r   r   r   r   Nr   zT.Dict[str, T.Any]rb   rc   rb   rc   rJ   rK   rL   rM   rY   r   rN   rI   rE   rC   r   r      s    9$	'rE   r   c                  (    \ rS rSrSS jrSS jrSrg)CMakeTarget   c                   UR                  S/ 5       Vs/ s H  n[        U5      PM     snU l        [        UR                  SS5      5      U l        [        UR                  SS5      5      U l        UR                  SS5      U l        UR                  SS5      U l        UR                  SS5      U l        [        UR                  S	/ 5      5       Vs/ s H  n[        U5      PM     snU l	        UR                  S
S5      U l
        [        UR                  SS5      5      U l        [        UR                  SS5      5      U l        [        UR                  SS5      5      U l        UR                  SS5      U l        / U l        UR                  S/ 5       H"  nU =R                   [#        U5      /-  sl        M$     g s  snf s  snf )N	artifactssourceDirectoryrh   buildDirectorynamefullNamehasInstallRuleFinstallPathslinkerLanguagelinkLibraries	linkFlagslinkLanguageFlagsr   
EXECUTABLE
fileGroups)r   r   r   src_dir	build_dirr   	full_nameinstallsetinstall_paths	link_langrv   link_libraries
link_flagslink_lang_flagsr   filesr   )rX   r   r   rt   s       rC   rY   CMakeTarget.__init__   sh   +/88K+DE+Da$q'+DEDHH%6;<dhh'7<=&"-	"hhz26!XX&6>/2488NB3O/PQ/P!d1g/PQ"hh'7<,TXXor-JK(+r)BC-dhh7JB.OP&,7	-/
,+AJJ>!,--J ,! F Rs   F?Gc                X   [         R                  " S[         R                  " SR                  U R                   Vs/ s H  oR                  5       PM     sn5      5      5        [         R                  " S[         R                  " U R                  R                  5       5      5        [         R                  " S[         R                  " U R                  R                  5       5      5        [         R                  " S[         R                  " U R                  5      5        [         R                  " S[         R                  " U R                  5      5        [         R                  " S[         R                  " U R                  (       a  SOS	5      5        [         R                  " S
[         R                  " SR                  U R                   Vs/ s H  oR                  5       PM     sn5      5      5        [         R                  " S[         R                  " U R                  5      5        [         R                  " S[         R                  " SR                  U R                  5      5      5        [         R                  " S[         R                  " SR                  U R                  5      5      5        [         R                  " S[         R                  " SR                  U R                  5      5      5        [         R                  " S[         R                  " U R                   5      5        [#        U R$                  5       HM  u  p#[         R                  " SU S35        [         R&                  " 5          UR                  5         S S S 5        MO     g s  snf s  snf ! , (       d  f       Mk  = f)Nzartifacts             =r   zsrc_dir               =zbuild_dir             =zname                  =zfull_name             =zinstall               =r   r   zinstall_paths         =zlink_lang             =zlink_libraries        =zlink_flags            =zlink_lang_flags       =ztype                  =zFiles :)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	enumerater   r   )rX   r   idxrt   s       rC   r   CMakeTarget.log   s$   *DIIdiiW[WeWe@fWeRSWe@f6g,hi*DIIdll6K6K6M,NO*DIIdnn6M6M6O,PQ*DIIdii,@A*DIIdnn,EF*DIIfRY,Z[*DIIdiiW[WiWi@jWiRSWi@j6k,lm*DIIdnn,EF*DIIdii@S@S6T,UV*DIIdii6P,QR*DIIdii@T@T6U,VW*DIIdii,@A

+FCHHvcU!_%  , Ag Ak s   NN2N
N)	)r   r   r   r   r   r   r   r   r   r   r   r   r   Nr   r   r   rI   rE   rC   r   r      s    .(rE   r   c                  (    \ rS rSrSS jrSS jrSrg)CMakeProject   c                0   [        UR                  SS5      5      U l        [        UR                  SS5      5      U l        UR                  SS5      U l        / U l        UR                  S/ 5       H"  nU =R
                  [        U5      /-  sl        M$     g )Nr   rh   r   r   targets)r   r   r   r   r   r   r   rX   r   rt   s      rC   rY   CMakeProject.__init__   su    DHH%6;<dhh'7<=&"-	,.)R(ALL[^,,L )rE   c                j   [         R                  " S[         R                  " U R                  R	                  5       5      5        [         R                  " S[         R                  " U R
                  R	                  5       5      5        [         R                  " S[         R                  " U R                  5      5        [        U R                  5       HM  u  p[         R                  " SU S35        [         R                  " 5          UR                  5         S S S 5        MO     g ! , (       d  f       Ma  = f)Nzsrc_dir   =zbuild_dir =zname      =zTarget r   )
r   r   r   r   r   r   r   r   r   r   rX   r   rt   s      rC   r   CMakeProject.log   s    		$,,*?*?*A BC		$..*A*A*C DE		$)) 45-FCHHwse1%&  .s   D##
D2	)r   r   r   r   Nr   r   r   rI   rE   rC   r   r      s    -rE   r   c                  (    \ rS rSrSS jrSS jrSrg)CMakeConfiguration   c                    UR                  SS5      U l        / U l        UR                  S/ 5       H"  nU =R                  [        U5      /-  sl        M$     g )Nr   rh   projects)r   r   r   r   r   s      rC   rY   CMakeConfiguration.__init__   sE    &"-	.0*b)AMMl1o..M *rE   c                ^   [         R                  " S[         R                  " U R                  5      5        [	        U R
                  5       HM  u  p[         R                  " SU S35        [         R                  " 5          UR                  5         S S S 5        MO     g ! , (       d  f       Ma  = f)Nzname =zProject r   )r   r   r   r   r   r   r   r   s      rC   r   CMakeConfiguration.log   sf    499TYY/0.FCHHxuA&'  /s   ?B
B,	)r   r   Nr   r   r   rI   rE   rC   r   r      s    /rE   r   c                  n    \ 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 jr	SS jr
SS	 jrSS
 jrSrg)SingleTargetOptionsi  c                <    0 U l         0 U l        / U l        SU l        g )Npreserve)opts	lang_args	link_argsr   r_   s    rC   rY   SingleTargetOptions.__init__  s    &(	35&(!rE   c                     X R                   U'   g rS   )r   )rX   optr   s      rC   set_optSingleTargetOptions.set_opt  s    		#rE   c                n    XR                   ;  a  / U R                   U'   U R                   U==   U-  ss'   g rS   r   )rX   langr   s      rC   append_argsSingleTargetOptions.append_args  s.    ~~%#%DNN4 t$rE   c                .    U =R                   U-  sl         g rS   r   )rX   r   s     rC   append_link_args$SingleTargetOptions.append_link_args  s    $rE   c                0    U(       a  SU l         g SU l         g )Nr   r   r   )rX   r   s     rC   set_installSingleTargetOptions.set_install  s    !(vgrE   c                    / nU H-  nUS UR                  S5       nX@R                  ;  d  M(  X#/-  nM/     X R                  R                  5        VVs/ s H  u  pVU SU 3PM     snn-  nU$ s  snnf )Nr   )findr   r   )rX   initialrp   rt   r  kvs          rC   get_override_options(SingleTargetOptions.get_override_options  ss    ALQVVC[/C))#s
  	yy'89'8tq1#Qqc
'899
 :s   A.c                F    XR                   ;   a  X R                   U   -   $ U$ rS   r  )rX   r  r  s      rC   get_compile_args$SingleTargetOptions.get_compile_args"  s#    >>!^^D111rE   c                    XR                   -   $ rS   r  rX   r  s     rC   get_link_args!SingleTargetOptions.get_link_args'  s    ''rE   c                (    USSS.U R                      $ )NTF)r   r   r   r  r  s     rC   get_installSingleTargetOptions.get_install*  s    #TEB4<<PPrE   )r   r   r   r   Nr   )r  re   r   re   rb   rc   )r  re   r   T.List[str]rb   rc   )r   r#  rb   rc   )r   r?   rb   rc   )r  r#  rb   r#  )r  re   r  r#  rb   r#  )r  r?   rb   r?   )rJ   rK   rL   rM   rY   r  r  r  r  r  r  r  r!  rN   rI   rE   rC   r   r     s0    "%
6
(QrE   r   c                  P    \ 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 jr	Sr
g	)TargetOptionsi-  c                0    [        5       U l        0 U l        g rS   )r   global_optionstarget_optionsr_   s    rC   rY   TargetOptions.__init__.  s    13@BrE   c                l    XR                   ;  a  [        5       U R                   U'   U R                   U   $ rS   )r(  r   )rX   tgts     rC   __getitem__TargetOptions.__getitem__2  s2    )))':'<D$""3''rE   c                    U R                   R                  U5      nXR                  ;   a  U R                  U   R                  U5      nU$ rS   )r'  r  r(  rX   r+  r  s      rC   r  "TargetOptions.get_override_options7  sD    %%::7C%%%))#.CCGLGrE   c                    U R                   R                  X#5      nXR                  ;   a  U R                  U   R                  X#5      nU$ rS   )r'  r  r(  )rX   r+  r  r  s       rC   r  TargetOptions.get_compile_args=  sD    %%66tE%%%))#.??NGrE   c                    U R                   R                  U5      nXR                  ;   a  U R                  U   R                  U5      nU$ rS   )r'  r  r(  r/  s      rC   r  TargetOptions.get_link_argsC  sD    %%33G<%%%))#.<<WEGrE   c                    U R                   R                  U5      nXR                  ;   a  U R                  U   R                  U5      nU$ rS   )r'  r!  r(  r/  s      rC   r!  TargetOptions.get_installI  sD    %%11':%%%))#.::7CGrE   )r'  r(  Nr   )r+  re   rb   r   )r+  re   r  r#  rb   r#  )r+  re   r  re   r  r#  rb   r#  )r+  re   r  r?   rb   r?   )rJ   rK   rL   rM   rY   r,  r  r  r  r!  rN   rI   rE   rC   r%  r%  -  s!    C(
rE   r%  )r@   'Environment'rb   r?   )ro   re   rb   r#  )r@   r7  rb   r#  r   )ro   zT.List[T.Dict[str, TYPE_var]]r   r?   rb   r#  )r   r#  rb   r#  )"
__future__r   mesonlibr   optionsr   rh   r   pathlibr   typingTTYPE_CHECKINGenvironmentr	   interpreterbaser
   language_mapry   r   rD   rG   rP   rv   r{   r   r   r   r   r   r   r   r   r%  rI   rE   rC   <module>rB     s    # %    ??)* 

 %%%%%%%
  
	^ 	g g:7*L L' '<' 'R & 'Q 'QR   rE   