
    <h.              
      	   % 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Jr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JrJrJrJrJr  SS
KJr  SSKJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  SSK-J.r.J/r/J0r0J1r1  SSK2J3r3J4r4J5r5  SSK6J7r7  SSKJ8r8J9r9J:r:  S SK;r<\<Rz                  (       aD  SSK
J>r>  SSK?J@r@  SSKAJBrB  SSKJCrCJDrDJErEJFrFJGrGJHrH  SSKIJJrJ  S SKKJLrL   " S S\L5      rM " S S\L5      rN\" S\O\.45      rPS\QS'     S~       SS jjrRSS jrS " S  S!\\R                     5      rU " S" S#\5      rV " S$ S%\\R                     \5      rX\" S&\O\.45      rYS\QS''    " S( S)\\R                     \5      r[\" S*\\S+S,9\" S-\\S+S,9\" S.\\S+S,9\" S/\\S+S,9\" S0\\S+S,9/r] " S1 S2\\3   5      r^\<R                  " S3\7S49r` " S5 S6\\`   5      ra " S7 S8\a\7   5      rb " S9 S:\\4   5      rc " S; S<\S=   5      rd " S> S?\\R                     5      rf " S@ SA\\R                     5      rh " SB SC\\R                     5      rj " SD SE\\R                     5      rl " SF SG\\R                     5      rn " SH SI\\R                     5      rp " SJ SK\\R                     5      rr " SL SM\\R                     5      rt " SN SO\\R                     5      rv " SP SQ\5      rw " SR SS\w5      rx " ST SU\85      ry " SV SW\5      rz " SX SY\\   5      r{ " SZ S[\{\5      r|\<R                  " S\\<R                  \R                  \R                  4   S49r " S] S^\\   5      r " S_ S`\\GR                     5      r " Sa Sb\\GR                     5      r " Sc Sd\\GR                     5      r " Se Sf\\R                     5      r " Sg Sh\\GR                     5      r " Si Sj\\GR                     5      r " Sk Sl\\GR                     5      r\<R                  " Sm\GR                  S49r " Sn So\\   5      r " Sp Sq\\GR                     5      r " Sr Ss\\GR&                     5      r " St Su\\GR*                     5      r " Sv Sw\\GR.                     5      r " Sx Sy\\GR2                     5      r " Sz S{\\GR6                     5      r " S| S}\\GR:                     5      rg)    )annotationsN)PathPurePath   )mesonlib)options)build)mlog)ModuleReturnValueModuleObjectModuleStateExtensionModuleNewExtensionModule)TestProtocol)ContainerTypeInfo	KwargInfoInterpreterObjectMesonOperatorMesonInterpreterObjectObjectHolderMutableInterpreterObject
FeatureNewFeatureDeprecatedtyped_pos_argstyped_kwargstyped_operatornoArgsFlattening	noPosargsnoKwargsunholder_returnflattenresolve_second_level_holdersInterpreterExceptionInvalidArgumentsInvalidCode)NoneTypeENV_KWENV_SEPARATOR_KWPKGCONFIG_DEFINE_KW)
DependencyExternalLibraryInternalDependency)ExternalProgram)HoldableObjectlistify
Popen_safe   )kwargs)CMakeInterpreter)MachineInfo)FeatureCheckBase
SubProjectTYPE_varTYPE_kwargs	TYPE_nvarTYPE_nkwargs)Interpreter)	TypedDictc                       \ rS rSr% S\S'   Srg)EnvironmentSeparatorKW(   str	separator N__name__
__module____qualname____firstlineno____annotations____static_attributes__rB       ڊ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/interpreter/interpreterobjects.pyr>   r>   (   s    rJ   r>   c                       \ rS rSr% S\S'   Srg)InternalDependencyAsKW,   bool	recursiverB   NrC   rB   rJ   rK   rM   rM   ,   s    rJ   rM   error_messagezKwargInfo[T.Optional[str]]_ERROR_MSG_KWc                   U R                   " SU5      nSnSnS n[        U[        R                  5      (       a`  U(       d  [	        SS5      nUR                  U5        UR                  nUR                  5       (       a  SnO;UR                  5       (       a  SnO#[        U[        5      (       a  UnO[        S5      eX`S'   XVU4$ )NrequiredFzUser option "feature"z0.47.0Tz=required keyword argument must be boolean or a feature option)get
isinstancer   UserFeatureOptionr   usenameis_disabled
is_enabledrO   r#   )r2   
subprojectfeature_checkdefaultvaldisabledrT   features           rK   extract_required_kwargrb   3   s     **Z
)CHH#G#w0011&'>IM*%((??H^^H	C		"#bcc
 ":w&&rJ   c                   [         R                  " U R                  " S/ 5      5      nU Vs/ s H  n[        U5      R	                  5       PM     nnU Hc  n[         R
                  " 5       (       a"  UR                  R                  S5      (       a  M?  UR                  5       (       a  MV  [        SU S35      e   U Vs/ s H  n[        U5      PM     sn$ s  snf s  snf )Ndirs\zSearch directory z is not an absolute path.)r   stringlistifyrU   r   
expanduser
is_windowsroot
startswithis_absoluter%   r@   )r2   search_dirs_strdsearch_dirsss        rK   extract_search_dirsrp   P   s    ,,VZZ-CDO1@AA47%%'KA  QVV%6%6t%<%< }} 1!4MNOO  ((KqCFK(( B )s   #C>Cc                    ^  \ rS rSrS'U 4S jjr\S(S j5       rS)S jrS)S jr\	\
\R                  " S5      S*S j5       5       5       r\	\
\R                  " S5      S*S	 j5       5       5       r\	\
\" S
S5      \R                  " S5      S*S j5       5       5       5       r\	\
\R                  " S5      S*S j5       5       5       rS+S jr\" SS5      \" S\5      \" S\5      \R                  " S5      S,S j5       5       5       5       r\" SS5      \" S\5      \" S\5      \R                  " S5      S,S j5       5       5       5       r\" SS5      \" S\5      \" S\5      \R                  " S5      S,S j5       5       5       5       r\" SS5      \
\" S\5      \R                  " S 5      S-S! j5       5       5       5       r\" S"S5      \
\" S#\5      \R                  " S$5      S-S% j5       5       5       5       rS&rU =r$ ).FeatureOptionHolder\   c                T  > [         TU ]  X5        U(       a  UR                  5       (       a{  [        R                  " SU R
                  R                  R                  R                  S5      5      n[        R                  " U5      U l
        UR                  U R                  l        g g g )Noptions.UserFeatureOptionauto_features)super__init__is_autoTcastenvcoredataoptstoreget_value_object_forcopyheld_objectrY   )selfoptioninterpreterauto	__class__s       rK   rx   FeatureOptionHolder.__init__]   su    -fnn&&665txx7H7H7Q7Q7f7fgv7wxD#yyD$*KKD!	 '6rJ   c                T    U R                   (       d  S$ U R                   R                  $ Nr`   )r   valuer   s    rK   r   FeatureOptionHolder.valuee   s!    !%!1!1zMt7G7G7M7MMrJ   c                T    [         R                  " U R                  5      nSUl        U$ r   r   deepcopyr   r   )r   r`   s     rK   as_disabledFeatureOptionHolder.as_disabledi   s"    ==!1!12#rJ   c                T    [         R                  " U R                  5      nSUl        U$ Nenabledr   )r   r   s     rK   
as_enabledFeatureOptionHolder.as_enabledn   s"    -- 0 01!rJ   r   c                     U R                   S:H  $ r   r   r   argsr2   s      rK   enabled_method"FeatureOptionHolder.enabled_methods   s     zzY&&rJ   r`   c                     U R                   S:H  $ r   r   r   s      rK   disabled_method#FeatureOptionHolder.disabled_methody   s     zzZ''rJ   zfeature_option.allowed()0.59.0allowedc                     U R                   S:g  $ r   r   r   s      rK   allowed_method"FeatureOptionHolder.allowed_method   s    
 zzZ''rJ   r   c                     U R                   S:H  $ )Nr   r   r   s      rK   auto_methodFeatureOptionHolder.auto_method   s     zzV##rJ   c                    U(       d   [         R                  " U R                  5      $ U R                  S:X  a4  SU R                  R                   S3nU(       a  USU 3-  n[        U5      eU R                  5       $ )Nr   Feature z cannot be enabled: )r   r   r   r   rY   r#   r   )r   	conditionmessageerr_msgs       rK   _disable_ifFeatureOptionHolder._disable_if   so    ==!1!122::" !1!1!6!6 77IJGRy>)&w//!!rJ   zfeature_option.require()zfeature_option.requirerequirec                <    U R                  US   (       + US   5      $ Nr   rQ   r   r   s      rK   require_method"FeatureOptionHolder.require_method   s"     DGVO-DEErJ   zfeature_option.disable_if()z1.1.0zfeature_option.disable_if
disable_ifc                2    U R                  US   US   5      $ r   r   r   s      rK   disable_if_method%FeatureOptionHolder.disable_if_method   s      Q)@AArJ   zfeature_option.enable_if()zfeature_option.enable_if	enable_ifc                
   US   (       d   [         R                  " U R                  5      $ U R                  S:X  a:  SU R                  R                   S3nUS   (       a  USUS    3-  n[        U5      eU R                  5       $ )Nr   r`   r   z cannot be disabledrQ   r   )r   r   r   r   rY   r#   r   )r   r   r2   r   s       rK   enable_if_method$FeatureOptionHolder.enable_if_method   s     Aw==!1!122::# !1!1!6!6 77JKGo&R 7899&w//  rJ   z feature_option.disable_auto_if()zfeature_option.disable_auto_ifdisable_auto_ifc                    U R                   S:w  d
  US   (       d   [        R                  " U R                  5      $ U R	                  5       $ Nr   r   )r   r   r   r   r   r   s      rK   disable_auto_if_method*FeatureOptionHolder.disable_auto_if_method   s:    
 37**2FdSTgt}}T--.m[_[k[k[mmrJ   zfeature_option.enable_auto_if()zfeature_option.enable_auto_ifenable_auto_ifc                    U R                   S:X  a  US   (       a  U R                  5       $ [        R                  " U R                  5      $ r   )r   r   r   r   r   r   s      rK   enable_auto_if_method)FeatureOptionHolder.enable_auto_if_method   s7    
 %)JJ&$8T!Wt i$--X\XhXhJiirJ   )r   )r   ru   r   'Interpreter'returnr@   )r   ru   r   T.List[TYPE_var]r2   r8   r   rO   )r   rO   r   T.Optional[str]r   ru   )r   T.Tuple[bool]r2   z'kwargs.FeatureOptionRequire'r   ru   )r   r   r2   r8   r   ru   )rD   rE   rF   rG   rx   propertyr   r   r   r   r   r   methodr   r   r   r   r   r   r   rO   r   rR   r   r   r   r   r   rI   __classcell__r   s   @rK   rr   rr   \   s   0 N N

 i(' )  ' j)( *  ( *H5i(( ) 6  ( f%$ &  $	" *H5,d3  i(F )	 4 6F -w7/6# l+B ,	 7 8B ,g6.5" k*	! +	 6 7	! 2H=4d;/0n 1 <  >n 17;3T:./j 0 ;  <jrJ   rr   c                  n  ^  \ rS rSr   S                     SU 4S jjjr S                   SS jjr\\\R                  " S5      SS j5       5       5       r
\\\R                  " S5      SS j5       5       5       r\\\R                  " S5      SS	 j5       5       5       rS
rU =r$ )
RunProcess   c                   > [         TU ]  5         [        U[        5      (       d  [	        S5      eXl        U R                  XX4XVXxU	5	      u  U l        U l        U l	        g )Nz1BUG: RunProcess must be passed an ExternalProgram)
rw   rx   rV   r-   AssertionErrorcapturerun_command
returncodestdoutstderr)r   cmdr   r|   
source_dir	build_dirsubdirmesonintrospectin_builddircheckr   r   s              rK   rx   RunProcess.__init__   sb     	#// !TUU484D4DSPSaj  uD  SX  5Y1dkrJ   c
                   UR                  5       U-   n
UUUSR                  U Vs/ s H  n[        R                  " U5      PM     sn5      S.nU(       a   [        R
                  R                  XV5      nO[        R
                  R                  XF5      n[        R                  R                  5       nUR                  U5        UR                  U5      nU R                  (       a  [        R                  O[        R                  n[        R                  " S[         R"                  " U
5      5         [%        XXS9u  nnnU R                  (       a-  [        R                  " S5        [        R                  " U5        OSn[        R                  " S5        [        R                  " S5        [        R                  " U5        [        R                  " S5        U	(       aI  UR&                  S	:w  a9  [)        S
R+                  [         R"                  " U
5      UR&                  5      5      eUR&                  UU4$ s  snf ! [,         a#    [)        S[         R"                  " U
5      -  5      ef = f)N )MESON_SOURCE_ROOTMESON_BUILD_ROOTMESON_SUBDIRMESONINTROSPECTzRunning command:)r   r|   cwdz--- stdout --- z--- stdout disabled ---z--- stderr ---r   z#Command `{}` failed with status {}.zCould not execute command `%s`.)get_commandjoinshlexquoteospathenvironr   updateget_envr   
subprocessPIPEDEVNULLr
   debugr   	join_argsr0   r   r#   formatFileNotFoundError)r   r   r   r|   r   r   r   r   r   r   command_arrayxmenvr   	child_envr   poes                      rK   r   RunProcess.run_command   s    )D0%/$- &#&88_,U_U[[^_,U#V
 '',,y1C'',,z2CJJOO%	KK	*	$(LLj6H6H

%x'9'9-'HI	n 9VGAq!||

+,

1

45JJ'(JJqMJJrN**+P+W+WX`XjXjkxXy{|  |H  |H  ,I  J  J<<A%%5 -V6 ! 	n&'H8K]K]^kKl'lmm	ns    H72DH< <-I)r   c                    U R                   $ N)r   r   s      rK   returncode_methodRunProcess.returncode_method  s     rJ   r   c                    U R                   $ r  )r   r   s      rK   stdout_methodRunProcess.stdout_method       {{rJ   r   c                    U R                   $ r  )r   r   s      rK   stderr_methodRunProcess.stderr_method  r  rJ   )r   r   r   r   )FFT)r   r-   r   T.List[str]r|   mesonlib.EnvironmentVariablesr   r@   r   r@   r   r@   r   r  r   rO   r   rO   r   rO   r   None)F)r   r-   r   r  r|   r  r   r@   r   r@   r   r@   r   r  r   rO   r   rO   r   zT.Tuple[int, str, str])r   r   r2   r8   r   intr   r   r2   r8   r   r@   )rD   rE   rF   rG   rx   r   r   r   r   r   r  r	  r  rI   r   r   s   @rK   r   r      s    &+$!%Y%Y"Y 4Y !	Y
  Y Y #.Y #Y Y Y +/Y Y4 #(*n(*n%*n 7*n !$	*n
  #*n  *n &1*n "&*n  *n -C*nX l+ ,   h' (   h' (  rJ   r   c                    ^  \ rS rSrSU 4S jjrSS jrSS jrSS jr\" S\	\	SS9\
" S\5      \R                  " S	5      SS
 j5       5       5       r\" SS5      \" S\	5      \\R                  " S5      SS j5       5       5       5       r\" S\	\	SS9\
" S\5      \R                  " S5      SS j5       5       5       r\" S\	\	SS9\
" S\5      \R                  " S5      SS j5       5       5       rSrU =r$ )EnvironmentVariablesHolderi  c                $   > [         TU ]  X5        g r  rw   rx   r   objr   r   s      rK   rx   #EnvironmentVariablesHolder.__init__      *rJ   c                z    SnUR                  U R                  R                  U R                  R                  5      $ )Nz
<{0}: {1}>)r   r   rD   r   envvars)r   repr_strs     rK   __repr__#EnvironmentVariablesHolder.__repr__"  s.    t~~668H8H8P8PQQrJ   c                j    [        [        R                  " U R                  5      U R                  5      $ r  )r  r   r   r   r   r   memos     rK   __deepcopy__'EnvironmentVariablesHolder.__deepcopy__&  s$    )$--8H8H*I4K[K[\\rJ   c                    U R                   R                  U5      (       a8  SU< S3n[        US5      R                  U R                  U R
                  5        g g )Nz2Overriding previous value of environment variable z with a new one0.58.0)r   has_namer   rX   r\   current_node)r   rY   ms      rK   warn_if_has_name+EnvironmentVariablesHolder.warn_if_has_name*  sM    $$T**DTHO\Aq(#''9J9JK +rJ   zenvironment.setr1   )varargsmin_varargssetc                J    Uu  p4U R                   R                  X4US   5        g NrA   )r   r/  r   r   r2   rY   valuess        rK   
set_method%EnvironmentVariablesHolder.set_method0  s&     T6++>?rJ   zenvironment.unset1.4.0unsetc                @    U R                   R                  US   5        g Nr   )r   r7  r   s      rK   unset_method'EnvironmentVariablesHolder.unset_method7  s    
 	tAw'rJ   zenvironment.appendappendc                l    Uu  p4U R                  U5        U R                  R                  X4US   5        g r1  )r+  r   r<  r2  s        rK   append_method(EnvironmentVariablesHolder.append_method>  s4     d#f[.ABrJ   zenvironment.prependprependc                l    Uu  p4U R                  U5        U R                  R                  X4US   5        g r1  )r+  r   r@  r2  s        rK   prepend_method)EnvironmentVariablesHolder.prepend_methodF  s4     d#  vk/BCrJ   rB   )r  r  r   r   r   )r#  zT.Dict[str, object]r   z'EnvironmentVariablesHolder')rY   r@   r   r  )r   zT.Tuple[str, T.List[str]]r2   z'EnvironmentSeparatorKW'r   r  )r   T.Tuple[str]r2   r8   r   r  )rD   rE   rF   rG   rx   r  r$  r+  r   r@   r   r(   r   r   r4  r   r   r:  r>  rB  rI   r   r   s   @rK   r  r    s6   +R]L %sCQG#%56e$@ % 7 H@ #W-'-g&( '  . .( (#sJ&(89h'C ( : KC
 )3K')9:i(D ) ; LDrJ   r  description_CONF_DATA_SET_KWSc                    ^  \ rS rSrS'U 4S jjrS(S jrS)S jrS*S jr\" S\	\	\
\45      \" S\5      \R                  " S5      S+S j5       5       5       r\" S	\	\	5      \" S	\5      \R                  " S
5      S,S j5       5       5       r\" S\	\
\45      \" S\5      \R                  " S5      S-S j5       5       5       r\" S\	\
\45      \\R                  " S5      S.S j5       5       5       r\" SS5      \" S\	\	\
\4/S9\\R                  " S5          S/S j5       5       5       5       r\" SS5      \" S\	\	\
\4/S9\\R                  " S5          S/S j5       5       5       5       rS0S jr\" SS5      \\\R                  " S 5      S1S! j5       5       5       5       rS2S" jr\" S#\R:                  5      \\R                  " S$5      S3S% j5       5       5       rS&rU =r $ )4ConfigurationDataHolderiR  c                $   > [         TU ]  X5        g r  r  r  s      rK   rx    ConfigurationDataHolder.__init__T  r  rJ   c                j    [        [        R                  " U R                  5      U R                  5      $ r  )rH  r   r   r   r   r"  s     rK   r$  $ConfigurationDataHolder.__deepcopy__W  s$    &t}}T5E5E'FHXHXYYrJ   c                .    U R                   R                  $ r  )r   usedr   s    rK   is_usedConfigurationDataHolder.is_usedZ  s    $$$rJ   c                D    U R                  5       (       a  [        S5      eg )Nz>Can not set values on configuration object that has been used.)rO  r#   r   s    rK   __check_used$ConfigurationDataHolder.__check_used]  s    <<>>&'ghh rJ   zconfiguration_data.setr/  c                l    U R                  5         US   US   4U R                  R                  US   '   g )Nr1   rE  r   )$_ConfigurationDataHolder__check_usedr   r3  r   s      rK   r4  "ConfigurationDataHolder.set_methoda  s8     	,0GVM5J+KQ(rJ   zconfiguration_data.set_quoted
set_quotedc                    U R                  5         SR                  US   R                  S5      5      nSU S3US   4U R                  R                  US   '   g )Nz\"r1   "rE  r   )rU  r   splitr   r3  )r   r   r2   escaped_vals       rK   set_quoted_method)ConfigurationDataHolder.set_quoted_methodh  sX     	jjas!34./}A,>}@U+VQ(rJ   zconfiguration_data.set10set10c                d   U R                  5         [        US   [        5      (       d[  [        R                  " SU R
                  R                  S9  US   S:  a)  [        R                  " SU R
                  R                  S9  [        US   5      US   4U R                  R                  US   '   g )Nr1   zZconfiguration_data.set10 with number. The `set10` method should only be used with booleanslocationr   zwPassing a number that is less than 0 may not have the intended result, as meson will treat all non-zero values as true.rE  )rU  rV   rO   r
   deprecationr   r)  warningr  r   r3  r   s      rK   set10_method$ConfigurationDataHolder.set10_methodp  s     	 $q'4(( H&*&6&6&C&CE Aw{ P&*&6&6&C&CE -0QL&:O+PQ(rJ   zconfiguration_data.hashasc                :    US   U R                   R                  ;   $ r9  r   r3  r   s      rK   
has_method"ConfigurationDataHolder.has_method  s     Aw$**1111rJ   zconfiguration_data.get()z0.38.0zconfiguration_data.getoptargsrU   c                    US   nX0R                   ;   a  U R                   R                  U5      S   $ US   b  US   $ [        SU S35      e)Nr   r1   Entry  not in configuration data.)r   rU   r#   )r   r   r2   rY   s       rK   
get_method"ConfigurationDataHolder.get_method  s]     Aw#####''-a00!W 7N"VD61L#MNNrJ   z!configuration_data.get_unquoted()0.44.0zconfiguration_data.get_unquotedget_unquotedc                    US   nX0R                   ;   a  U R                   R                  U5      S   nOUS   b  US   nO[        SU S35      e[        U[        5      (       a  US   S:X  a  US   S:X  a  USS $ U$ )Nr   r1   rn  ro  rY  )r   rU   r#   rV   r@   )r   r   r2   rY   r_   s        rK   get_unquoted_method+ConfigurationDataHolder.get_unquoted_method  s     Aw###""&&t,Q/C!W q'C&v5P'QRRc3CFcMc"gnq9
rJ   c                4    U R                   R                  U   $ r  rh  )r   rY   s     rK   rU   ConfigurationDataHolder.get  s    &&t,,rJ   zconfiguration_data.keys()0.57.0keysc                4    [        U R                  5       5      $ r  )sortedr{  r   s      rK   keys_method#ConfigurationDataHolder.keys_method  s    
 diik""rJ   c                \    [        U R                  R                  R                  5       5      $ r  )listr   r3  r{  r   s    rK   r{  ConfigurationDataHolder.keys  s"    D$$++00233rJ   zconfiguration_data.merge_from
merge_fromc                l    US   nU R                   R                  R                  UR                  5        g r9  )r   r3  r   )r   r   r2   from_objects       rK   merge_from_method)ConfigurationDataHolder.merge_from_method  s-     1g&&{'9'9:rJ   rB   )r  zbuild.ConfigurationDatar   r   )r#  zT.Dictr   z'ConfigurationDataHolder'r   rO   )r   r  )r   z%T.Tuple[str, T.Union[str, int, bool]]r2   'kwargs.ConfigurationDataSet'r   r  )r   zT.Tuple[str, str]r2   r  r   r  )r   z T.Tuple[str, T.Union[int, bool]]r2   r  r   r  )r   z T.Tuple[T.Union[str, int, bool]]r2   r8   r   rO   )r   z1T.Tuple[str, T.Optional[T.Union[str, int, bool]]]r2   r8   r   zT.Union[str, int, bool])rY   r@   r   z1T.Tuple[T.Union[str, int, bool], T.Optional[str]])r   r   r2   r8   r   r  )r   r  )r   z T.Tuple[build.ConfigurationData]r2   r8   r   r  )!rD   rE   rF   rG   rx   r$  rO  rU  r   r@   r  rO   r   rF  r   r   r4  r\  rd  r   ri  r   rp  rv  rU   r   r~  r{  r	   ConfigurationDatar  rI   r   r   s   @rK   rH  rH  R  s   +Z%i ,cCd3CD*,>?e$L % @ EL 3S#>13EFl+W , G ?W
 .c4[A,.@Ag&Q ' B BQ ,sC.>?e$2 %  @2 *H5,cS#t<L;MNe$O&O+BO %  O 6O 3X>5sc3PTEUDVWn-$/4K .  X ?- +X6f%# &   7#4 3U5L5LMl+; ,  N;rJ   rH  compile_argsFr^   	link_argslinksincludessourcesc                    ^  \ rS rSrSAU 4S jjrSBS jr\\\R                  " S5      SCS j5       5       5       r
\\\R                  " S5      SDS j5       5       5       r\\\R                  " S5      SCS	 j5       5       5       r\\\R                  " S
5      SCS j5       5       5       r\" SSS5      \" S\5      \" S\" S\SS9\R(                  " SS95      \R                  " S5      SES j5       5       5       5       r\" SS5      \" SSS5      \\" S\5      \R                  " S5      SFS j5       5       5       5       5       r\" SS5      \\" S/\Q76 \R                  " S5      SGS j5       5       5       5       r\" S S!5      \" S \/S"9\" S \" S#\\45      \" S$\\45      \" S%\\45      \" S&\\4S'S(9\" S)\\4S*S(9\" S+\\45      \5      \R                  " S,5      SHS- j5       5       5       5       r\" S.S/5      \\\R                  " S05      SCS1 j5       5       5       5       r\" S2S/5      \\" S2\/S"9\R                  " S35      SIS4 j5       5       5       5       r\" S5S5      \\\R                  " S65      SJS7 j5       5       5       5       r\" S8S*5      \\" S8\" S9\S:S95      \R                  " S;5      SKS< j5       5       5       5       r \" S=S*5      \\" S=\" S9\S:S95      \R                  " S>5      SKS? j5       5       5       5       r!S@r"U =r#$ )LDependencyHolderi  c                $   > [         TU ]  X5        g r  r  )r   depr   r   s      rK   rx   DependencyHolder.__init__  r  rJ   c                &    U R                  / 0 5      $ r  )found_methodr   s    rK   foundDependencyHolder.found  s      R((rJ   	type_namec                .    U R                   R                  $ r  r   r  r   s      rK   type_name_method!DependencyHolder.type_name_method       )))rJ   r  c                l    U R                   R                  S:X  a  gU R                   R                  5       $ )NinternalT)r   r  r  r   s      rK   r  DependencyHolder.found_method  s0     %%3%%''rJ   versionc                6    U R                   R                  5       $ r  )r   get_versionr   s      rK   version_methodDependencyHolder.version_method  s     ++--rJ   rY   c                6    U R                   R                  5       $ r  )r   get_namer   s      rK   name_methodDependencyHolder.name_method  s     ((**rJ   z!dependency.get_pkgconfig_variablez0.56.0z4use dependency.get_variable(pkgconfig : ...) insteadr^   r   r  define_variablerY   get_pkgconfig_variablec                h   SSK Jn  [        U R                  U5      (       d'  [	        U R                  R                  5       < S35      eUS   (       a=  [        US   5      S:  a+  [        R                  " SSU R                  U R                  S9  U R                  R                  US	   US
   US   S9$ )Nr   )PkgConfigDependencyz is not a pkgconfig dependencyr  r1   z]dependency.get_pkgconfig_variable keyword argument "define_variable"  with more than one pair1.3.0r`  r   r^   )	pkgconfigdefault_valuepkgconfig_define)dependencies.pkgconfigr  rV   r   r$   r  lenr   
single_user\   r)  get_variable)r   r   r2   r  s       rK   pkgconfig_method!DependencyHolder.pkgconfig_method  s     	A$**,?@@"d&6&6&?&?&A%DDb#cdd#$V4E-F)G!)K!!  #B")4??TEVEVX,,1g +#$56 - 
 	
rJ   z"dependency.get_configtool_variablerr  z5use dependency.get_variable(configtool : ...) insteadz#dependency.get_config_tool_variableget_configtool_variablec                    SSK Jn  [        U R                  U5      (       d'  [	        U R                  R                  5       < S35      eU R                  R                  US   SS9$ )Nr   )ConfigToolDependencyz  is not a config-tool dependencyr   r   )
configtoolr  )dependencies.configtoolr  rV   r   r$   r  r  )r   r   r2   r  s       rK   configtool_method"DependencyHolder.configtool_method  sg     	C$**,@AA"d&6&6&?&?&A%DDd#eff,,Aw - 
 	
rJ   dependency.partial_dependency0.46.0partial_dependencyc                >    U R                   R                  " S0 UD6nU$ NrB   r   get_partial_dependencyr   r   r2   pdeps       rK   partial_dependency_method*DependencyHolder.partial_dependency_method	  "    
 66@@rJ   zdependency.get_variablez0.51.0rk  cmaker  r  r  0.54.0sincesystemz1.6.0r  r  c           
        US   nUb0  [        SS5      R                  U R                  U R                  5        US   (       a@  [	        US   5      S:  a.  [         R
                  " SSU R                  SU R                  5        U R                  R                  US	   =(       d    UUS
   =(       d    UUS   =(       d    UUS   =(       d    UUS   =(       d    UUS   US   S9$ )Nr   z0Positional argument to dependency.get_variable()r'  r  r1   zSdependency.get_variable keyword argument "pkgconfig_define" with more than one pairr  z?In previous versions, this silently returned a malformed value.r  r  r  r  r  r  )r  r  r  r  r  r  r  )r   rX   r\   r)  r  r  r   r  )r   r   r2   default_varnames       rK   variable_method DependencyHolder.variable_method  s     q'&I8TXXY]YhYhjnj{j{|$%#f5G.H*IA*M!!"w")4??<}"&"3"35 ,,/4_[)<_l+>J':?(#6 1#$67 - 
 	
rJ   zdependency.include_typez0.52.0include_typec                6    U R                   R                  5       $ r  )r   get_include_typer   s      rK   include_type_method$DependencyHolder.include_type_method0  s    
 0022rJ   zdependency.as_system	as_systemc                P    U R                   R                  US   =(       d    S5      $ )Nr   r  )r   generate_system_dependencyr   s      rK   as_system_method!DependencyHolder.as_system_method7  s$    
 ::47;NhOOrJ   zdependency.as_link_wholeas_link_wholec                    [        U R                  [        5      (       d  [        S5      eU R                  R	                  5       nU$ )NzFas_link_whole method is only supported on declare_dependency() objects)rV   r   r,   r#   generate_link_whole_dependency)r   r   r2   new_deps       rK   as_link_whole_method%DependencyHolder.as_link_whole_method>  s=    
 $**,>??&'opp""AACrJ   zdependency.as_staticrP   F	as_staticc                    [        U R                  [        5      (       d  [        S5      eU R                  R	                  US   5      $ )NzBas_static method is only supported on declare_dependency() objectsrP   )rV   r   r,   r#   get_as_staticr   s      rK   as_static_method!DependencyHolder.as_static_methodH  @     $**,>??&'kll--f[.ABBrJ   zdependency.as_shared	as_sharedc                    [        U R                  [        5      (       d  [        S5      eU R                  R	                  US   5      $ )NzBas_shared method is only supported on declare_dependency() objectsrP   )rV   r   r,   r#   get_as_sharedr   s      rK   as_shared_method!DependencyHolder.as_shared_methodT  r  rJ   rB   )r  r*   r   r   r  r  r   )r   rD  r2   z'kwargs.DependencyPkgConfigVar'r   r@   )r   rD  r2   r8   r   r@   r   T.List[TYPE_nvar]r2   z*'kwargs.DependencyMethodPartialDependency'r   r*   )r   T.Tuple[T.Optional[str]]r2   z'kwargs.DependencyGetVariable'r   r@   )r   r  r2   r8   r   r*   )r   r   r2   r8   r   r*   )r   r   r2   rM   r   r*   )$rD   rE   rF   rG   rx   r  r   r   r   r   r  r  r  r  r   r   r@   r   r   r)   evolver  r   r  _PARTIAL_DEP_KWARGSr  r&   r  r  r  r  rO   r  r  rI   r   r   s   @rK   r  r    s   +) k** +  * g&( '  (
 i(. )  . f%+ &  + :HMO7=+)S"-""(9:
 67
 8 >O
 4h?;XNP93?78
 9 @ P @
 /:1H4GH23 4 I  ; )84-u=!'C?++X/,h0*sHoX>(S(O7;/C?3	 n-
 .	 > 5
$ )84n-3 .   53 &1*SE:k*P + ;  2P *H5o. /   6 &0+tU3 k*C +	  1C
 &0+tU3 k*C +	  1CrJ   r  _EXTPROG)boundc                    ^  \ rS rSrSU 4S jjr\\\R                  " S5      SS j5       5       5       r	\\\
" SSS5      \R                  " S5      SS	 j5       5       5       5       r\\\" S
S5      \R                  " S5      SS j5       5       5       5       rSS jr\\\" SS5      \R                  " S5      SS j5       5       5       5       rSS jrSrU =r$ )_ExternalProgramHolderib  c                $   > [         TU ]  X5        g r  r  )r   epr   r   s      rK   rx   _ExternalProgramHolder.__init__c      )rJ   r  c                "    U R                  5       $ r  r  r   s      rK   r  #_ExternalProgramHolder.found_methodf       zz|rJ   zExternalProgram.path0.55.0z'use ExternalProgram.full_path() insteadr   c                "    U R                  5       $ r  
_full_pathr   s      rK   path_method"_ExternalProgramHolder.path_methodl  s       rJ   zExternalProgram.full_path	full_pathc                "    U R                  5       $ r  r  r   s      rK   full_path_method'_ExternalProgramHolder.full_path_methodt  s    
   rJ   c                    U R                  5       (       d  [        S5      eU R                  R                  5       nUc   eU$ )Nz6Unable to get the path of a not-found external program)r  r#   r   get_path)r   r   s     rK   r  !_ExternalProgramHolder._full_path{  s>    zz||&'_``((*rJ   zExternalProgram.versionz0.62.0r  c                    U R                  5       (       d  [        S5      e U R                  R                  U R                  5      $ ! [
        R                   a     gf = f)Nz9Unable to get the version of a not-found external programunknown)r  r#   r   r  r   r   MesonExceptionr   s      rK   r  %_ExternalProgramHolder.version_method  sU    
 zz||&'bcc	##//0@0@AA&& 		s   $A AAc                6    U R                   R                  5       $ r  r   r  r   s    rK   r  _ExternalProgramHolder.found  s    %%''rJ   rB   )r  r  r   r   r   r  r   r  r   r  )rD   rE   rF   rG   rx   r   r   r   r   r  r   r  r   r  r  r  r  rI   r   r   s   @rK   r  r  b  s
   * g& '   -x@Bf%! &B  
! +X6k*! + 7  ! )84i( ) 5  ( (rJ   r  c                      \ rS rSrSrg)ExternalProgramHolderi  rB   NrD   rE   rF   rG   rI   rB   rJ   rK   r  r        rJ   r  c                    ^  \ rS rSrSU 4S jjr\\\R                  " S5      SS j5       5       5       r	\\\R                  " S5      SS j5       5       5       r
\" SS5      \\" S/\Q76 \R                  " S	5      SS
 j5       5       5       5       r\" SS5      \\\R                  " S5      SS j5       5       5       5       rSrU =r$ )ExternalLibraryHolderi  c                $   > [         TU ]  X5        g r  r  )r   elr   r   s      rK   rx   ExternalLibraryHolder.__init__  r  rJ   r  c                .    U R                   R                  $ r  r  r   s      rK   r  &ExternalLibraryHolder.type_name_method  r  rJ   r  c                6    U R                   R                  5       $ r  r  r   s      rK   r  "ExternalLibraryHolder.found_method  s     %%''rJ   r  r  r  c                >    U R                   R                  " S0 UD6nU$ r  r  r  s       rK   r  /ExternalLibraryHolder.partial_dependency_method  r  rJ   zdependency.namez1.5.0rY   c                .    U R                   R                  $ r  )r   rY   r   s      rK   r  !ExternalLibraryHolder.name_method  s    
 $$$rJ   rB   )r  r+   r   r   r  r   r  )rD   rE   rF   rG   rx   r   r   r   r   r  r  r   r   r  r  r  rI   r   r   s   @rK   r  r    s    * k** +  * g&( '  ( /:1H4GH23 4 I  ; !7+f%% &   ,%rJ   r  c                    ^  \ rS rSrSU 4S jjr\\\R                  " S5      SS j5       5       5       r	\\\R                  " S5      SS j5       5       5       r
\\\R                  " S5      SS j5       5       5       r\\\R                  " S	5      SS
 j5       5       5       r\\\R                  " S5      SS j5       5       5       r\\\R                  " S5      SS j5       5       5       rSrU =r$ )MachineHolderi  c                $   > [         TU ]  X5        g r  r  )r   machine_infor   r   s      rK   rx   MachineHolder.__init__  s    3rJ   
cpu_familyc                .    U R                   R                  $ r  )r   r-  r   s      rK   cpu_family_methodMachineHolder.cpu_family_method  s     ***rJ   cpuc                .    U R                   R                  $ r  )r   r1  r   s      rK   
cpu_methodMachineHolder.cpu_method  s     ###rJ   r  c                .    U R                   R                  $ r  )r   r  r   s      rK   system_methodMachineHolder.system_method       &&&rJ   endianc                .    U R                   R                  $ r  )r   r9  r   s      rK   endian_methodMachineHolder.endian_method  r8  rJ   kernelc                r    U R                   R                  b  U R                   R                  $ [        S5      e)Nz0Kernel not defined or could not be autodetected.)r   r=  r#   r   s      rK   kernel_methodMachineHolder.kernel_method  s4     "".##***"#UVVrJ   	subsystemc                r    U R                   R                  b  U R                   R                  $ [        S5      e)Nz3Subsystem not defined or could not be autodetected.)r   rA  r#   r   s      rK   subsystem_methodMachineHolder.subsystem_method  s4     %%1##---"#XYYrJ   rB   )r+  z'MachineInfo'r   r   r  )rD   rE   rF   rG   rx   r   r   r   r   r/  r3  r6  r;  r?  rC  rI   r   r   s   @rK   r)  r)    s&   4 l++ ,  + e$$ %  $ h'' (  ' h'' (  ' h'W (  W
 k*Z +  ZrJ   r)  r4   c                      \ rS rSrSrg)IncludeDirsHolderi  rB   Nr  rB   rJ   rK   rF  rF    r  rJ   rF  c                     ^  \ rS rSrSU 4S jjr\\\" SS5      \R                  " S5      S	S j5       5       5       5       r
SrU =r$ )

FileHolderi  c                $   > [         TU ]  X5        g r  r  )r   filer   r   s      rK   rx   FileHolder.__init__  s    +rJ   zfile.full_pathr6  r	  c                    U R                   R                  U R                  R                  U R                  R                  5      $ r  )r   absolute_pathr|   r   r   r   s      rK   r  FileHolder.full_path_method  s1    
 --dhh.A.A488CUCUVVrJ   rB   )rJ  zmesonlib.Filer   r   r  )rD   rE   rF   rG   rx   r   r   r   r   r   r  rI   r   r   s   @rK   rH  rH    sI    ,  '*k*W + +  WrJ   rH  c                      \ rS rSrSrg)HeadersHolderi  rB   Nr  rB   rJ   rK   rP  rP    r  rJ   rP  c                      \ rS rSrSrg)
DataHolderi  rB   Nr  rB   rJ   rK   rR  rR    r  rJ   rR  c                      \ rS rSrSrg)SymlinkDataHolderi  rB   Nr  rB   rJ   rK   rT  rT    r  rJ   rT  c                      \ rS rSrSrg)InstallDirHolderi  rB   Nr  rB   rJ   rK   rV  rV    r  rJ   rV  c                      \ rS rSrSrg)	ManHolderi  rB   Nr  rB   rJ   rK   rX  rX    r  rJ   rX  c                      \ rS rSrSrg)EmptyDirHolderi  rB   Nr  rB   rJ   rK   rZ  rZ    r  rJ   rZ  c                      \ rS rSrSrg)GeneratedObjectsHolderi  rB   Nr  rB   rJ   rK   r\  r\    r  rJ   r\  c                  l   ^  \ rS rSr                      SU 4S jjrSS jrSS jrSrU =r$ )	Testi  c                  > [         TU ]  5         Xl        [        U5      U l        X l        X@l        XPl        X`l        Xpl	        Xl
        Xl        Xl        Xl        [        R                  " U5      U l        Xl        Xl        g r  )rw   rx   rY   r/   suiteproject_nameexedependsis_parallelcmd_argsr|   should_failtimeoutworkdirr   from_strprotocolpriorityverbose)r   rY   projectr`  rb  rc  rd  re  r|   rf  rg  rh  rj  rk  rl  r   s                  rK   rx   Test.__init__  sl     		U^
#& &$--h7 rJ   c                    U R                   $ r  )rb  r   s    rK   get_exeTest.get_exe  s    xxrJ   c                    U R                   $ r  r  r   s    rK   r  Test.get_name!  s    yyrJ   )re  rc  r|   rb  rd  rY   rk  ra  rj  rf  r`  rg  rl  rh  )rY   r@   rm  r@   r`  r  rb  WT.Union[ExternalProgram, build.Executable, build.CustomTarget, build.CustomTargetIndex]rc  z6T.List[T.Union[build.CustomTarget, build.BuildTarget]]rd  rO   re  zBT.List[T.Union[str, mesonlib.File, build.Target, ExternalProgram]]r|   r  rf  rO   rg  r  rh  r   rj  r@   rk  r  rl  rO   )r   rt  r   )	rD   rE   rF   rG   rx   rp  r  rI   r   r   s   @rK   r^  r^    s    mP # ^	
 4 # .1 <K WZ  *.0 rJ   r^  c                  $    \ rS rSr% SrS\S'   Srg)Doctesti%  NzT.Optional[build.BuildTarget]targetrB   )rD   rE   rF   rG   rw  rH   rI   rB   rJ   rK   rv  rv  %  s    ,0F)0rJ   rv  c                      \ rS rSrSrg)NullSubprojectInterpreteri)  rB   Nr  rB   rJ   rK   ry  ry  )  r  rJ   ry  c                    ^  \ rS rSr    S           SU 4S jjjr\\\R                  " S5      SS j5       5       5       r	SS jr
\SS j5       r\\" S\\/S9\\R                  " S	5      SS
 j5       5       5       5       rSrU =r$ )SubprojectHolderi/  c                   > [         TU ]  5         Xl        X0l        X@l        XPl        [        U5      R                  5       U l        S U l	        X`l
        g r  )rw   rx   r   warningsdisabled_feature	exceptionr   as_posixr   cm_interpreter	callstack)r   subinterpreterr   r}  r~  r  r  r   s          rK   rx   SubprojectHolder.__init__1  sH     	)  0"v&//1<@"rJ   r  c                "    U R                  5       $ r  r   r   s      rK   r  SubprojectHolder.found_method@  r  rJ   c                @    [        U R                  [        5      (       + $ r  )rV   r   ry  r   s    rK   r  SubprojectHolder.foundF  s    d..0IJJJrJ   c                (   [        U R                  [        5      (       a  [        SU R                   S35      eUu  p4 U R                  R
                  U   $ ! [         a0    Ub  U R                  R                  U5      s $ [        SU S35      ef = f)NzSubproject "z$" disabled can't get_variable on it.zRequested variable "z" not found.)	rV   r   ry  r#   r   	variablesKeyError
_holderifyr$   )r   r   r2   varnamefallbacks        rK   r  SubprojectHolder.get_variableI  s    d&&(ABB&dkk]Bg'hii 	Q##--g66 	Q#''228<<"%9',#OPP	Qs   A (BBzsubproject.get_variablerk  r  c                $    U R                  X5      $ r  )r  r   s      rK   get_variable_method$SubprojectHolder.get_variable_methodU  s    
   ..rJ   )r  r  r~  r  r   r   r}  )r   NNN)r  z1T.Union['Interpreter', NullSubprojectInterpreter]r   r@   r}  r  r~  r   r  zT.Optional[Exception]r  zT.Optional[T.List[str]]r   r  r   r  )r   zT.Tuple[str, T.Optional[str]]r2   r8   r   z$T.Union[TYPE_var, InterpreterObject])rD   rE   rF   rG   rx   r   r   r   r   r  r  r    r  r   r@   objectr   r  rI   r   r   s   @rK   r{  r{  /  s     "#59486:### $3# 2	#
 4#
 @D# # g& '  K 	Q 	Q -sVHEn-/ .  F /rJ   r{  c                      \ rS rSrSS jrSrg)ModuleObjectHolderi\  c                   U R                   nUR                  R                  U5      nU(       d  [        SU< S35      e[	        USS5      (       d  [        U5      n[	        USS5      (       d  [        X#5      u  p#U R                  R                  (       dW  [        U[        [        45      (       d   S5       eUR                  R                   SU 3n[        R                  " SU S	35      e[!        U R                  5      n[        U[        5      (       a  U R                  Ul        U" XrU5      n[        U["        5      (       a1  U R                  R%                  UR&                  5        UR(                  nU$ )
NzUnknown method z in object.zno-args-flatteningFz!no-second-level-holder-flatteningzfor mypy.zModule methods (z/) cannot be invoked during project declaration.)r   methodsrU   r%   getattrr!   r"   r   active_projectnamerV   r   r   INFOrY   r   r  r   r   process_new_valuesnew_objectsreturn_value)	r   method_namer   r2   modobjr   full_method_namestaterets	            rK   method_callModuleObjectHolder.method_call]  sC   !!##K0kJKKv3U;;4=DvBEJJ7ELD22f8J&KLLXjXL"(++"2"2!31[MB)),<=M<NN}*~D,,-
 fo..!%!1!1FU&)c,--//@""C
rJ   rB   N)r  r@   r   r   r2   r8   r   r7   )rD   rE   rF   rG   r  rI   rB   rJ   rK   r  r  \  s    rJ   r  c                      \ rS rSrSS jrSrg)MutableModuleObjectHolderiw  c                n    [         R                  " U R                  U5      n[        X R                  5      $ r  )r   r   r   r  r   )r   r#  r  s      rK   r$  &MutableModuleObjectHolder.__deepcopy__x  s)    t//6(1A1ABBrJ   rB   N)r#  zT.Dict[int, T.Any]r   z'MutableModuleObjectHolder')rD   rE   rF   rG   r$  rI   rB   rJ   rK   r  r  w  s    CrJ   r  _BuildTargetc                    ^  \ rS rSrS&U 4S jjrS'S jr\S(S j5       rS)S jr\	\
\R                  " S5      S*S j5       5       5       r\	\
\R                  " S5      S+S	 j5       5       5       r\	\
\R                  " S
5      S,S j5       5       5       r\	\
\" SSS5      \R                  " S5      S,S j5       5       5       5       r\	\
\R                  " S5      S,S j5       5       5       r\
\" S\R*                  \\R0                  \R2                  \R4                  4S9\R                  " S5      S-S j5       5       5       r\	\" S\" S\SS\R@                  " S5      S95      \R                  " S5      S.S j5       5       5       r!\	\
\" SSS5      \R                  " S 5      S,S! j5       5       5       5       r"\#" S"S#5      \	\
\R                  " S"5      S,S$ j5       5       5       5       r$S%r%U =r&$ )/BuildTargetHolderi  c                $   > [         TU ]  X5        g r  r  r   rw  interpr   s      rK   rx   BuildTargetHolder.__init__      (rJ   c                    SnU R                   n[        U[        R                  5      (       d   eUR	                  U R
                  R                  UR                  5       UR                  5      $ Nz<{} {}: {}>)	r   rV   r	   BuildTargetr   r   rD   get_idfilenamer   rhs      rK   r  BuildTargetHolder.__repr__  sR    !U..////xx//QZZHHrJ   c                    [        U R                  [        R                  5      (       a  U R                  R	                  5       $ [        U R                  [        R
                  5      (       d   eU R                  $ r  )rV   r   r	   BothLibrariesget_default_objectr  r   s    rK   _target_object BuildTargetHolder._target_object  s[    d&&(;(;<<##6688$**E,=,=>>>>rJ   c                    U R                   R                  R                  R                  U R                   R                  5      (       + $ r  )r  environmentmachinesmatches_build_machinefor_machiner   s    rK   is_crossBuildTargetHolder.is_cross  s5    &&22;;QQRVReReRqRqrrrrJ   r  c                    [        U R                  [        R                  5      (       a  U R                  R                  (       d*  [
        R                  " SSU R                  R                  S9  g)NzBuildTarget.foundr   )r\   T)rV   r   r	   
Executablewas_returned_by_find_programr   r  r\   r   s      rK   r  BuildTargetHolder.found_method  sM     4++U-=-=>>4CSCSCpCp!!"5xDL\L\LgLghrJ   private_dir_includec                    [         R                  " S/ SU R                  R                  R	                  U R
                  5      /5      $ )Nr   F)r	   IncludeDirsr   backendget_target_private_dirr  r   s      rK   private_dir_include_method,BuildTargetHolder.private_dir_include_method  s<       R1A1A1I1I1`1`aeatat1u0vwwrJ   r	  c                `    U R                   R                  R                  U R                  5      $ r  r   r  get_target_filename_absr  r   s      rK   r  "BuildTargetHolder.full_path_method  s'     ''??@S@STTrJ   zBuildTarget.pathr  z!Use BuildTarget.full_path insteadr   c                `    U R                   R                  R                  U R                  5      $ r  r  r   s      rK   r  BuildTargetHolder.path_method  s'    
 ''??@S@STTrJ   outdirc                `    U R                   R                  R                  U R                  5      $ r  )r   r  get_target_dirr  r   s      rK   outdir_methodBuildTargetHolder.outdir_method  s'     ''66t7J7JKKrJ   extract_objects)r-  c                    U R                   nU R                  R                  R                  US5      nUS:H  =(       d    US:H  =(       a    UR                  S:g  nUR                  US   U5      $ )Nunityonsubprojectsr   r   )r  r   r}   get_option_for_targetr\   r  )r   r   r2   tobjunity_valueis_unitys         rK   extract_objects_method(BuildTargetHolder.extract_objects_method  sg     ""&&//EEdGT4'cK=,H,bT__`bMb##DGX66rJ   extract_all_objectsrP   Fr  a                  extract_all_objects called without setting recursive
                keyword argument. Meson currently defaults to
                non-recursive to maintain backward compatibility but
                the default will be changed in meson 2.0.
            )r^   r  not_set_warningc                >    U R                   R                  US   5      $ )NrP   )r  r  r   s      rK   extract_all_objects_method,BuildTargetHolder.extract_all_objects_method  s      ""66vk7JKKrJ   zBuildTarget.get_idz1.2.0zThis was never formally documented and does not seem to have a real world use. See https://github.com/mesonbuild/meson/pull/6061r  c                6    U R                   R                  5       $ r  )r  r  r   s      rK   get_id_methodBuildTargetHolder.get_id_method  s     ""))++rJ   rY   r  c                .    U R                   R                  $ r  )r  rY   r   s      rK   r  BuildTargetHolder.name_method  s    
 ""'''rJ   rB   )rw  r  r  r   r   )r   zbuild.BuildTargetr  r   )r   r   r2   r8   r   zbuild.IncludeDirsr  )r   zGT.Tuple[T.List[T.Union[mesonlib.FileOrString, 'build.GeneratedTypes']]]r2   r:   r   build.ExtractedObjects)r   r  r2   z*'kwargs.BuildTargeMethodExtractAllObjects'r   r  )'rD   rE   rF   rG   rx   r  r   r  r  r   r   r   r   r  r  r  r   r  r  r   r   Filer@   r	   CustomTargetCustomTargetIndexGeneratedListr  r   r   rO   textwrapdedentr  r  r   r  rI   r   r   s   @rK   r  r    s   )I    s g& '  
 34x 5  x k*U +  U )85XYf%U & Z  U h'L (  L %sEDVDVX]XoXoqv  rE  rE  0F  G/07 1 G 7 uH$OO - 	
 34L 5 L +WKL h', (L  , !f%( &   "(rJ   r  c                      \ rS rSrSrg)ExecutableHolderi  rB   Nr  rB   rJ   rK   r  r    r  rJ   r  c                      \ rS rSrSrg)StaticLibraryHolderi  rB   Nr  rB   rJ   rK   r  r    r  rJ   r  c                      \ rS rSrSrg)SharedLibraryHolderi  rB   Nr  rB   rJ   rK   r  r    r  rJ   r  c                     ^  \ rS rSrS	U 4S jjrS
S jr\\\R                  " S5      SS j5       5       5       r
\\\R                  " S5      SS j5       5       5       rSrU =r$ )BothLibrariesHolderi  c                $   > [         TU ]  X5        g r  r  )r   libsr  r   s      rK   rx   BothLibrariesHolder.__init__  s    &rJ   c                   SnU R                   R                  nU R                   R                  nUR                  U R                  R
                  UR                  5       UR                  UR                  5       UR                  5      $ )Nz<{} {}: {}, {}: {}>)r   sharedstaticr   r   rD   r  r  )r   r  h1h2s       rK   r  BothLibrariesHolder.__repr__  sa    !$$$$xx//bkk299;XZXcXcddrJ   get_shared_libc                h    [         R                   " U R                  R                  5      nS Ul        U$ r  )r   r   r  both_libr   r   r2   libs       rK   get_shared_lib_method)BothLibrariesHolder.get_shared_lib_method  *     ii((//0
rJ   get_static_libc                h    [         R                   " U R                  R                  5      nS Ul        U$ r  )r   r   r  r  r  s       rK   get_static_lib_method)BothLibrariesHolder.get_static_lib_method  r  rJ   rB   )r  zbuild.BothLibrariesr  r   r   )r   r   r2   r8   r   zbuild.SharedLibrary)r   r   r2   r8   r   zbuild.StaticLibrary)rD   rE   rF   rG   rx   r  r   r   r   r   r  r  rI   r   r   s   @rK   r   r     sn    'e ./ 0  
 ./ 0  rJ   r   c                      \ rS rSrSrg)SharedModuleHolderi  rB   Nr  rB   rJ   rK   r  r    r  rJ   r  c                      \ rS rSrSrg)	JarHolderi  rB   Nr  rB   rJ   rK   r  r    r  rJ   r  c                     ^  \ rS rSrSU 4S jjr\" SS5      \\\R                  " S5      S	S j5       5       5       5       r
SrU =r$ )
CustomTargetIndexHolderi  c                $   > [         TU ]  X5        g r  r  r  s      rK   rx    CustomTargetIndexHolder.__init__	  r  rJ   zcustom_target[i].full_pathr  r	  c                    U R                   R                  c   eU R                   R                  R                  U R                  5      $ r  r   r  r  r   r   s      rK   r  (CustomTargetIndexHolder.full_path_method  s?    
 ''333''??@P@PQQrJ   rB   )rw  build.CustomTargetIndexr  r   r  )rD   rE   rF   rG   rx   r   r   r   r   r   r  rI   r   r   s   @rK   r  r    sI    ) ,h7k*R +   8RrJ   r  _CTc                  \  ^  \ rS rSrSU 4S jjrSS jr\\\R                  " S5      SS j5       5       5       r
\" SS5      \\\R                  " S5      SS	 j5       5       5       5       r\\" \R                  \5      \R"                  " \R                  5      SS
 j5       5       5       rSrU =r$ )_CustomTargetHolderi  c                $   > [         TU ]  X5        g r  r  r  s      rK   rx   _CustomTargetHolder.__init__  r  rJ   c                    SnU R                   nUR                  U R                  R                  UR	                  5       UR
                  5      $ r  )r   r   r   rD   r  commandr  s      rK   r  _CustomTargetHolder.__repr__  s9    xx//QYYGGrJ   r	  c                `    U R                   R                  R                  U R                  5      $ r  r  r   s      rK   r  $_CustomTargetHolder.full_path_method  s'     ''??@P@PQQrJ   zcustom_target.to_listr  to_listc                R    / nU R                    H  nUR                  U5        M     U$ r  )r   r<  )r   r   r2   resultis        rK   to_list_method"_CustomTargetHolder.to_list_method%  s*    
 !!AMM! "rJ   c                     U R                   U   $ ! [         a=    [        SU SU R                   R                   S[	        U R                   5       S35      ef = f)NzIndex z  out of bounds of custom target z output of size r  )r   
IndexErrorr$   rY   r  )r   others     rK   op_index_CustomTargetHolder.op_index/  s    	T##E** 	T"VE72RSWScScShShRiiyz}  C  O  O  {P  zQ  QR  $S  T  T	Ts
    AArB   )rw  r"  r  r   r   r  )r   r   r2   r8   r   zT.List[build.CustomTargetIndex])r4  r  r   r!  )rD   rE   rF   rG   rx   r  r   r   r   r   r  r   r0  r   r   INDEXr  operatorr5  rI   r   r   s   @rK   r$  r$    s    )H
 k*R +  R '2i( )   3 M''- 3 34T 5 . TrJ   r$  c                      \ rS rSrSrg)CustomTargetHolderi8  rB   Nr  rB   rJ   rK   r:  r:  8  r  rJ   r:  c                      \ rS rSrSrg)RunTargetHolderi;  rB   Nr  rB   rJ   rK   r<  r<  ;  r  rJ   r<  c                      \ rS rSrSrg)AliasTargetHolderi>  rB   Nr  rB   rJ   rK   r>  r>  >  r  rJ   r>  c                      \ rS rSrSrg)GeneratedListHolderiA  rB   Nr  rB   rJ   rK   r@  r@  A  r  rJ   r@  c                  @  ^  \ rS rSrSU 4S jjr\" SS\\R                  \	R                  \	R                  \	R                  4S9\" S\" S\\4SS9\" S	\" \\5      S
/ S9\R&                  " SS95      \R*                  " S5            SS j5       5       5       rSrU =r$ )GeneratorHolderiD  c                $   > [         TU ]  X5        g r  r  )r   genr   r   s      rK   rx   GeneratorHolder.__init__E  r  rJ   zgenerator.processr1   )r.  r-  preserve_path_fromz0.45.0r  
extra_argsT)r/   r^   r  processc                   US   nUbN  [         R                  R                  U5      n[         R                  R                  U5      (       d  [	        S5      e[        S US    5       5      (       a,  [        R                  " SSU R                  R                  5        U R                  R                  US   U R                  X2S   US   S	9nU$ )
NrF  z;Preserve_path_from must be an absolute path for now. Sorry.c              3     #    U  H>  n[        U[        R                  [        R                  [        R                  45      v   M@     g 7fr  )rV   r	   r  r  r  ).0as     rK   	<genexpr>1GeneratorHolder.process_method.<locals>.<genexpr>Z  s6     rjqefz!e00%2I2I5K^K^_``jqs   AAr   zECalling generator.process with CustomTarget or Index of CustomTarget.rz  rG  r|   )rG  r|   )r   r   normpathisabsr$   anyr   r  r   r\   r   process_files)r   r   r2   rF  gls        rK   process_methodGeneratorHolder.process_methodH  s     $$89)!#!1!12D!E77==!344&'deerjnopjqrrr!!W$**557 ++DGT5E5E,>R^K_eklqer , t 	rJ   rB   )rD  zbuild.Generatorr   r   )r   zDT.Tuple[T.List[T.Union[str, mesonlib.File, 'build.GeneratedTypes']]]r2   z'kwargs.GeneratorProcess'r   zbuild.GeneratedList)rD   rE   rF   rG   rx   r   r@   r   r  r	   r  r  r  r   r   r&   r   r  r'   r  r   r   rT  rI   r   r   s   @rK   rB  rB  D  s    + 'QhmmUZUgUgin  jA  jA  CH  CV  CV  AW  X&hxH, 1$ <dTVWG$	 i(a8=P ) XrJ   rB  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )StructuredSourcesHolderie  c                $   > [         TU ]  X5        g r  r  )r   r  r  r   s      rK   rx    StructuredSourcesHolder.__init__g  s    )rJ   rB   )r  zbuild.StructuredSourcesr  r   )rD   rE   rF   rG   rx   rI   r   r   s   @rK   rW  rW  e  s    * *rJ   rW  c                  t    \ rS rSr\\\" SS5      \R                  " S5      SS j5       5       5       5       r	Sr
g)	OverrideExecutableHolderij  zOverrideExecutable.versionz1.9.0r  c                L    U R                   R                  U R                  5      $ r  )r   r  r   r   s      rK   r  'OverrideExecutableHolder.version_methodk  s!    
 ++D,<,<==rJ   rB   Nr  )rD   rE   rF   rG   r   r   r   r   r   r  rI   rB   rJ   rK   r[  r[  j  s?    ,g6i(> ) 7  >rJ   r[  )NT)
r2   z'kwargs.ExtractRequired'r\   z'SubProject'r]   zT.Optional[FeatureCheckBase]r^   rO   r   z$T.Tuple[bool, bool, T.Optional[str]])r2   z'kwargs.ExtractSearchDirs'r   r  )
__future__r   r   r   r   r   r  pathlibr   r   r   r   r   r	   r
   modulesr   r   r   r   r   backend.backendsr   interpreterbaser   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   interpreter.type_checkingr&   r'   r(   r)   dependenciesr*   r+   r,   programsr-   r.   r/   r0   typingrz   TYPE_CHECKINGr2   cmake.interpreterr3   	envconfigr4   r5   r6   r7   r8   r9   r:   r   r;   typing_extensionsr<   r>   rM   r@   rR   rH   rb   rp   rW   rr   r   EnvironmentVariablesr  rF  r  rH  rO   r  r  TypeVarr  r  r  r  r)  r  rF  r  rH  HeadersrP  DatarR  SymlinkDatarT  
InstallDirrV  ManrX  EmptyDirrZ  ExtractedObjectsr\  r^  rv  ry  r{  r  r  Unionr  r  r  r  r  r  StaticLibraryr  SharedLibraryr  r   SharedModuler  Jarr  r  r  r  r"  r$  r:  	RunTargetr<  AliasTargetr>  r  r@  	GeneratorrB  StructuredSourcesrW  OverrideExecutabler[  rB   rJ   rK   <module>r~     s   " 	     "     g g +{ { { { { { ` _ J J & : : ??4'nn(+   -6oX,W) W
 JN+/''3'*F' %)' 5Y':
)mj,w'@'@A mj`O' Ob/Dh.K.K!LNf /Dd 2;=3PX/1Z . Zf;l5+B+BCE] f;T ndE2kdE2gdE2jdE2idE2 [C|J/ [Cz 99Z7-(\(3 -(^	2?C 	%L9 %B*ZL/ *ZZ	U%6%67 		Whmm, 	W	L/ 		ejj) 		U%6%67 		|E$4$45 		UYY' 		\%..1 		\%*@*@A 	! @1d 1	 	+/- +/Zl3 6C 24L C yyqwwu7H7H%J]J]7]/^_](\2 ](~	()9)9: 		+E,?,?@ 		+E,?,?@ 	+E,?,?@ 4	*5+=+=> 		!%)), 	
Rl5+B+BC 
R iiU//0 T,s+  TD	,U-?-?@ 		l5??3 		U%6%67 		,u':':; 	l5??3 B*l5+B+BC *
>01I1IJ >rJ   