
    <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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  SS	K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  SSKJrJrJ r J!r!  SSKJ"r"  SSK#J$r$J%r%  SSK&J'r'J(r(J)r)  \RT                  (       a  SSK+J,r,  SSKJ-r-  SSKJ.r.J/r/  SSK0J1r1J2r2  SSK+J3r3  SSKJ4r4  S SK5J6r6J7r7   " S S\65      r8 " S S\65      r9 " S S\65      r: " S S\:\15      r; " S  S!\:5      r< " S" S#\<5      r= " S$ S%\<\15      r> " S& S'\<\15      r? " S( S)\15      r@ " S* S+\1\25      rA " S, S-\65      rB " S. S/\R                  5      rD " S0 S1\S2   5      rE\ " S3\" \F\G5      S4/ S59rHS6\IS7'   \ " S8\" \F\R                  5      S4/ S59rKS9\IS:'   \ " S;\" \F\
R                  \
R                  \
R                  45      S4/ S59rOS<\IS='   \ " S>\" \F\
R                  5      / S4S?9rQS@\ISA'   \ " SB\G\" \F\G5      4SC\FSD0SE SF9rRSG\ISH'   \ " SI\SSJSK9rT\ " SL\GSCSK9rU\ " SM\SSJSNSO9rV\H\K\Q\R\T/rWSP\ISQ'   \U\H\K\Q\T\V\'R                  " SRSJSS9/rYSP\IST'   \'R                  " SUSJSS9/\WQrZSP\ISV'   \'R                  " SNSJSS9r[ " SW SX\SY   5      r\g)Z    )annotationsN   )build)dependencies)options)mesonlib)mlog)SUFFIX_TO_LANG	RunResult)CompileCheckMode)ObjectHolder	noPosargsnoKwargs
FeatureNewFeatureNewKwargsdisablerIfNotFoundInterpreterExceptionInterpreterObject)ContainerTypeInfotyped_kwargs	KwargInfotyped_pos_args)	OptionKey   )extract_required_kwargextract_search_dirs)REQUIRED_KWin_set_validatorNoneType)Interpreter)Compiler)TYPE_varTYPE_kwargs)ExtractRequiredExtractSearchDirs)SourceOutputs)TV_LoggableList)	TypedDictLiteralc                       \ rS rSr% S\S'   Srg)GetSupportedArgumentKw&   z!Literal['warn', 'require', 'off']checked N__name__
__module____qualname____firstlineno____annotations____static_attributes__r.       ڀ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/interpreter/compiler.pyr+   r+   &   s    22r6   r+   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg	)
AlignmentKw*   strprefixT.List[str]argsT.List[dependencies.Dependency]r   r.   Nr/   r.   r6   r7   r9   r9   *   s    55r6   r9   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg	)
BaseCompileKW0   boolno_builtin_argsT.List[build.IncludeDirs]include_directoriesr=   r>   r.   Nr/   r.   r6   r7   rA   rA   0   s    66r6   rA   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg	)
	CompileKW5   r;   namer?   r   rC   werrorr.   Nr/   r.   r6   r7   rH   rH   5   s    	55r6   rH   c                  *    \ rS rSr% S\S'   S\S'   Srg)CommonKW;   r;   r<   r?   r   r.   Nr/   r.   r6   r7   rM   rM   ;   s    55r6   rM   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)ComputeIntKW@   zT.Optional[int]guesshighlowr.   Nr/   r.   r6   r7   rP   rP   @   s    r6   rP   c                      \ rS rSrSrg)HeaderKWF   r.   Nr0   r1   r2   r3   r5   r.   r6   r7   rV   rV   F       r6   rV   c                      \ rS rSrSrg)HasKWI   r.   NrX   r.   r6   r7   r[   r[   I   rY   r6   r[   c                      \ rS rSrSrg)HasArgumentKWL   r.   NrX   r.   r6   r7   r^   r^   L   rY   r6   r^   c                  p    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   Srg)FindLibraryKWO   rC   disablerr=   has_headersstaticheader_argsr?   header_dependenciesrE   header_include_directoriesheader_no_builtin_argsr;   header_prefixz(T.Union[bool, options.UserFeatureOption]header_requiredr.   Nr/   r.   r6   r7   ra   ra   O   s8       ! <<$== $$AAr6   ra   c                  H    \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   Srg)PreprocessKW^   r;   outputr=   compile_argsrE   rF   r?   r   zOT.List[T.Union[build.BuildTarget, build.CustomTarget, build.CustomTargetIndex]]dependsr.   Nr/   r.   r6   r7   rm   rm   ^   s    !!6655``r6   rm   c                       \ rS rSrSrSrSrSrg)	_TestModef   z/Whether we're doing a compiler or linker check.r   r   r.   N)r0   r1   r2   r3   __doc__COMPILERLINKERr5   r.   r6   r7   rs   rs   f   s    9HFr6   rs   c                  L  ^  \ 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SrU =r$ )TryRunResultHoldern   c                $   > [         TU ]  X5        g N)super__init__)selfresinterpreter	__class__s      r7   r~   TryRunResultHolder.__init__o   s    *r6   
returncodec                .    U R                   R                  $ r|   )held_objectr   r   r>   kwargss      r7   returncode_method$TryRunResultHolder.returncode_methodr   s     ***r6   compiledc                .    U R                   R                  $ r|   )r   r   r   s      r7   compiled_method"TryRunResultHolder.compiled_methodx   s     (((r6   stdoutc                .    U R                   R                  $ r|   )r   r   r   s      r7   stdout_method TryRunResultHolder.stdout_method~        &&&r6   stderrc                .    U R                   R                  $ r|   )r   r   r   s      r7   stderr_method TryRunResultHolder.stderr_method   r   r6   r.   )r   'RunResult'r   'Interpreter')r>   T.List['TYPE_var']r   'TYPE_kwargs'returnintr>   r   r   r   r   rC   r>   r   r   r   r   r;   )r0   r1   r2   r3   r~   r   r   r   methodr   r   r   r   r5   __classcell__r   s   @r7   ry   ry   n   s    + l++ ,  + j)) *  ) h'' (  ' h'' (  'r6   ry   r   r>   TlistifydefaultzKwargInfo[T.List[str]]_ARGS_KWr   z,KwargInfo[T.List['dependencies.Dependency']]_DEPENDENCIES_KWrq   zZKwargInfo[T.List[T.Union[build.BuildTarget, build.CustomTarget, build.CustomTargetIndex]]]_DEPENDS_KWrF   )r   r   z$KwargInfo[T.List[build.IncludeDirs]]_INCLUDE_DIRS_KWr<    z1.0.0c                R    [        U [        5      (       a  SR                  U 5      $ U $ )N
)
isinstancelistjoin)xs    r7   <lambda>r      s     
1d(;(;		!BBr6   )r   since_values	convertorzKwargInfo[str]
_PREFIX_KWrD   Fr   rJ   rK   1.3.0r   sincezT.List[KwargInfo]_COMMON_KWS1.5.0)r   r   _COMPILES_KWS0.50.0_HEADER_KWSc                    ^  \ rS rSr% \R
                  " \R                  5      rS\	S'   SU 4S jjr
\SS j5       rSS jr\\\R"                  " S5      SS j5       5       5       r\\\R"                  " S	5      SS
 j5       5       5       r\R*                  4   SS jjrSSS jjr\" S\5      \" S\\\5      \R"                  " S5      SS j5       5       5       r\" S\\R@                  45      \" S/\!Q76 \R"                  " S5      SS j5       5       5       r"\\\R"                  " S5      SS j5       5       5       r#\\\$" SS5      \R"                  " S5      SS j5       5       5       5       r%\\\R"                  " S5      SS j5       5       5       r&\" S\\5      \" S\'/\(Q76 \R"                  " S5      SS j5       5       5       r)\" S\\S S!9\" S\'/\(Q76 \R"                  " S"5      SS# j5       5       5       r*\" S$\5      \" S$\'/\(Q76 \R"                  " S%5      SS& j5       5       5       r+\" S'\5      \" S'\'/\(Q76 \R"                  " S(5      SS) j5       5       5       r,\$" S*S+5      \" S*\5      \" S*\-" S,\.\/45      \-" S-\.\/45      \-" S.\.\/45      /\(Q76 \R"                  " S/5      SS0 j5       5       5       5       r0\" S1\5      \" S1/\(Q76 \R"                  " S25      SS3 j5       5       5       r1\$" S4S+5      \" S4\5      \" S4/\(Q76 \R"                  " S55      SS6 j5       5       5       5       r2\$" S7S85      \" S7\5      \" S7/\(Q76 \R"                  " S95      SS: j5       5       5       5       r3\" S;\\R@                  45      \" S;/\!Q76 \R"                  " S<5      SS= j5       5       5       r4\" S>\\R@                  45      \" S>/\!Q76 \R"                  " S?5      SS@ j5       5       5       r5\$" SASB5      \" SA\5      \" SA/\6Q76 \R"                  " SC5      SSD j5       5       5       5       r7SSE jr8\" SF\5      \" SF/\6Q76 \R"                  " SG5      SSH j5       5       5       r9\" SI\\5      \" SI/\6Q76 \R"                  " SJ5      SSK j5       5       5       r:SSL jr;\<\" SM\5      \" SM\-" SN\=\>R~                  4SOSP9\-" SQ\@" \A\5      SO/ SRSS9\-" ST\=\/4SUSV9\-" SW\=SSXSY9\-" SZ\@" \A\5      SO/ S[9/S\ \6 5       Q76 \R"                  " S]5      SS^ j5       5       5       5       rB\CR                  S_4     SS` jjrE\" Sa\5      \" Sa\'5      \R"                  " Sb5      SSc j5       5       5       rF\" Sd\Se9\" Sd\'5      \$" SdSf5      \R"                  " Sg5      SSh j5       5       5       5       rG\$" SiSj5      \" Si\Se9\" Si\-" Sk\SlSm\H" 1 Snk5      So95      \R"                  " Sp5      SSq j5       5       5       5       rI\\" Sr\Se9\R"                  " Ss5      SSt j5       5       5       rJ\$" SuSv5      \" Su\5      \" Su\'5      \R"                  " Sw5      SSx j5       5       5       5       rK\$" SySv5      \" Sy\Se9\" Sy\'5      \R"                  " Sz5      SS{ j5       5       5       5       rL\$" S|Sv5      \\" S|\Se9\R"                  " S}5      SS~ j5       5       5       5       rM\$" SSv5      \\" S\Se9\R"                  " S5      SS j5       5       5       5       rNSSS jjrO\$" SS5      \" S\5      \" S\'5      \R"                  " S5      SS j5       5       5       5       rP\$" SS5      \\" S\Se9\R"                  " S5      SS j5       5       5       5       rQ\$" SSX5      \\\R"                  " S5      SS j5       5       5       5       rR\$" SS5      \S" SSS/SS9\" S\\R@                  \TR                  \TR                  \TR                  4S S!9\" S\-" S\SSP9\-" S\@" \A\5      SO/ S[9\X\R                  SSV9\ZR                  SSV95      \R"                  " S5      SS j5       5       5       5       5       r[Sr\U =r]$ )CompilerHolder   zT.Dict[str, itertools.count]preprocess_uidc                F   > [         TU ]  X5        U R                  U l        g r|   )r}   r~   envenvironment)r   compilerr   r   s      r7   r~   CompilerHolder.__init__   s    /88r6   c                    U R                   $ r|   )r   )r   s    r7   r   CompilerHolder.compiler   s    r6   c                   SnSn/ nU H  n[        U[        R                  5      (       a-  [        R                  " SSU R
                  U R                  S9  MO  [        U[        R                  5      (       a  U(       a  Mw  SUR                  -   nOUR                  nUR                  U5        M     U(       d  U$ [        U5      S:  a  UOUn	Uc  SnU	R                  S	R                  U5      5      U-   $ )
Nzwith dependency {}zwith dependencies {}z6compiler method "dependencies" kwarg with internal depz0.57.0locationz-lr   r   , )r   r   InternalDependencyr   
single_use
subprojectcurrent_nodeExternalLibraryrJ   appendlenformatr   )
r   depscompile_onlyendl
msg_singlemsg_manynamesdrJ   tpls
             r7   _dep_msgCompilerHolder._dep_msg   s    )
)A!\<<==%%&^`hjnjyjy/3/@/@B!\99::aff}vvLL  Ke*q.hj<Dzz$))E*+d22r6   versionc                .    U R                   R                  $ r|   )r   r   r   s      r7   version_methodCompilerHolder.version_method        }}$$$r6   	cmd_arrayc                .    U R                   R                  $ r|   )r   exelistr   s      r7   cmd_array_methodCompilerHolder.cmd_array_method   r   r6   c                t   / nUS    Hw  nUR                  U R                  R                  5       U R                  R                  5       5       H.  nUR	                  U R
                  R                  US5      5        M0     My     US   (       d  X0R
                  R                  S U R                  R                  U R                  5      -  nX0R
                  R                  S U R                  R                  U R                  5      -  nU[        R                  L aJ  UR	                  U R
                  R                  S U R                  R                  U R                  5      5        UR                  SS5      (       a)  UR	                  U R
                  R                  5       5        UR	                  US   5        U$ )NrF   FrD   rK   r>   )to_string_listr   get_source_dirget_build_dirextendr   get_include_argsget_option_compile_argsr   r   get_option_std_argsr   LINKget_option_link_argsgetget_werror_args)r   r   moder>   iidirs         r7   _determine_argsCompilerHolder._determine_args   sQ   -.A(()9)9)H)H)JDL\L\LjLjLlmDMM::4GH n / '(MM99$@P@P@\@\^b^m^mnnDMM55dD<L<L<X<XZ^ZiZijjD',,,DMM>>tTEUEUEaEacgcrcrst::h&&KK5578F6N#r6   Fc                T    [         R                  " U5      nXR                  XU5      4$ r|   )r   get_leaf_external_dependenciesr   )r   r   r   r   s       r7   _determine_dependencies&CompilerHolder._determine_dependencies   s&    ::4@]]4t<<<r6   zcompiler.alignment	alignmentc           
        US   nU R                  US   U R                  R                  S9u  pEU R                  R                  X2S   U R                  US   US9u  pgU(       a  [
        R                  " S5      OSn[
        R                  " S	[
        R                  " US
5      U[
        R                  " [        U5      5      U5        U$ )Nr   r   r   r<   r>   
extra_argsr   (cached)r   zChecking for alignment ofT)
r   r   is_crossr   r   r	   bluelogboldr;   )	r   r>   r   typenamer   msgresultcached
cached_msgs	            r7   alignment_methodCompilerHolder.alignment_method   s     7001GVZVcVcVlVl0m	00(;KTM]M]<B6N>B 1 D /5TYYz*"
,8T*C3v;1G	Ur6   zcompiler.runrunc           	     2   U R                   R                  S;  aG  [        R                  " SU R                   R	                  5        S3SU R
                  U R                  S9  US   nUS   n[        X R
                  SS	9u  pVnU(       aX  U(       aD  [        R                  " S
[        R                  " US5      SS[        R                  " U5      S5        [        SSSSSS9$ [        U[        R                  5      (       a]  U R                  R!                  U5        [        R                  R#                  UR%                  U R&                  R(                  5      5      n[*        R,                  " U R.                  U5      nU R1                  US   SS S9u  pU R                   R3                  X0R&                  UU	S9nU(       a-  UR4                  S:w  a  [7        SU(       a  U 35      eS 35      eU(       a  UR8                  (       d  [        R:                  " S5      nOKUR4                  S:X  a  [        R<                  " S5      nO$[        R:                  " SUR4                   S35      n[        R                  " S
[        R                  " US5      U
SU5        U$ )N>   cr   cppobjcobjcppfortranzcompiler.run for z	 languager   r   r   rJ   Fr   Checking ifTzruns:skipped: featuredisabledr   )r   r   r   r   r  r   r   r   r  zCould not run codezDID NOT COMPILEYESzNO ())r   languager   r   get_display_languager   r   r   r	   r  r  r   r   r   Filer   add_build_def_filefrom_absolute_filerel_to_builddirr   
source_dir	functoolspartialr   r   r  r   r   r   redgreen)r   r>   r   r  testnamer  requiredfeaturer  r   r	  r
  hs                r7   
run_methodCompilerHolder.run_method  s!    ==!!)WW!!$5dmm6X6X6Z5[[d"e")4??TEVEVXAw&>&<V__^c&d#G		(D(A7L^`d`i`ijq`rt~dqBW\]]dHMM**//5==33$$T%5%5%@%@ACD&&t';';VD
001GV[bf0g	""4)9)9j04 # 6))Q.&H7Y'Z[[RX7Y'Z[[??HH./""a'JJu%HHtF$5$5#6a89HH]DIIh$=sGQOr6   get_idc                6    U R                   R                  5       $ r|   )r   r.  r   s      r7   get_id_methodCompilerHolder.get_id_method4  s     }}##%%r6   zcompiler.get_linker_idz0.53.0get_linker_idc                6    U R                   R                  5       $ r|   )r   r2  r   s      r7   get_linker_id_method#CompilerHolder.get_linker_id_method:  s    
 }}**,,r6   symbols_have_underscore_prefixc                L    U R                   R                  U R                  5      $ )zv
Check if the compiler prefixes _ (underscore) to global C symbols
See: https://en.wikipedia.org/wiki/Name_mangling#C
)r   r6  r   r   s      r7   %symbols_have_underscore_prefix_method4CompilerHolder.symbols_have_underscore_prefix_methodA  s     }};;D<L<LMMr6   zcompiler.has_member
has_memberc           
     p   Uu  p4[        X R                  SS9u  pVnU(       a[  [        R                  " S[        R                  " US5      S[        R                  " US5      S[        R                  " U5      S5        g[
        R                  " U R                  U5      nU R                  US   5      u  pU R                  R                  X4/US	   U R                  UU	S
9u  pU(       a  [        R                  " S5      OSnU(       a5  U(       d.  [        U R                  R                  5        SU< SU< S35      eU(       a  [        R                  " S5      nO[        R                   " S5      n[        R                  " S[        R                  " US5      S[        R                  " US5      XU5        U$ )NFr   TypeTz
has memberr  r  r   r<   r  r  r   z member 	 of type  not usabler  NOChecking whether type)r   r   r	   r  r  r$  r%  r   r   r   has_membersr   r  r   r  r'  r&  )r   r>   r   r  
membernamer  r)  r*  r  r   r	  hadr  r  hadtxts                  r7   has_member_method CompilerHolder.has_member_methodK  s     $&<V__^c&d#GHHVTYYx6diiPZ\`Facuw{  xA  xA  BI  xJ  LV  W&&t';';VD
001GH	mm//,xHX040@0@;E=A 0 C /5TYYz*"
C&$--*L*L*N)OxXbWeenownz  {F  (G  H  HZZ&FXXd^F($))Hd*CtyyT:C	U
r6   zcompiler.has_membersr   )varargsmin_varargsrA  c           
        Uu  p4[         R                  " SR                  U Vs/ s H	  nSU S3PM     sn5      5      n[        X R                  SS9u  pxn	U(       aF  [         R
                  " S[         R                  " US5      SUS[         R                  " U	5      S	5        g[        R                  " U R                  U5      n
U R                  US
   5      u  pU R                  R                  X4US   U R                  U
US9u  pU(       a  [         R                  " S5      OSnU(       a5  U(       d.  [        U R                  R                  5        SU< SU< S35      eU(       a  [         R                   " S5      nO[         R"                  " S5      n[         R
                  " S[         R                  " US5      SXlUU5        U$ s  snf )Nr   "Fr   r<  Tzhas membersr  r  r   r<   r  r  r   z	 members r=  r>  r  r?  r@  )r	   r  r   r   r   r  r$  r%  r   r   r   rA  r   r  r   r  r'  r&  )r   r>   r   r  membernamesmmembersr  r)  r*  r  r   r	  rC  r  r  rD  s                    r7   has_members_method!CompilerHolder.has_members_methode  s    !%))DII&EA1#Qx&EFG&<V__^c&d#GHHVTYYx6wPbdhdmdmnudv  yC  D&&t';';VD
001GH	mm//vhGW040@0@;E=A 0 C /5TYYz*"
C&$--*L*L*N)OyYdXggpqyp|  }H  (I  J  JZZ&FXXd^F($))Hd*Cfj	B
+ 'Fs   Gzcompiler.has_functionhas_functionc                   US   n[        X R                  SS9u  pEnU(       aD  [        R                  " S[        R                  " US5      S[        R                  " U5      S5        gU R                  U5      nU R                  US   SS	9u  pU R                  R                  X2S
   U R                  UUS9u  pU(       a  [        R                  " S5      OSnU(       a1  U
(       d*  [        U R                  R                  5        SU< S35      eU
(       a  [        R                  " S5      nO[        R                  " S5      n[        R                  " S[        R                  " US5      XU5        U
$ )Nr   Fr   zHas functionTr  r  r   r   r<   r  r  r   z
 function r>  r  r?  zChecking for function)r   r   r	   r  r  r   r   r   rP  r   r  r   r  r'  r&  )r   r>   r   funcnamer  r)  r*  r  r   r	  rC  r  r  rD  s                 r7   has_function_method"CompilerHolder.has_function_method  s9    7&<V__^c&d#GHH^TYYx%>@RTXT]T]^eTfhrs))&1
001GV[0\	mm00(;KTM]M]<F>B 1 D /5TYYz*"
C&$--*L*L*N)OzZbYeep'qrrZZ&FXXd^F($))Hd*CSR\]
r6   zcompiler.has_typehas_typec                   US   n[        X R                  SS9u  pEnU(       aD  [        R                  " S[        R                  " US5      S[        R                  " U5      S5        g[
        R                  " U R                  U5      nU R                  US   5      u  pU R                  R                  X2S	   U R                  XxS
9u  pU(       a  [        R                  " S5      OSnU(       a1  U
(       d*  [        U R                  R                  5        SU< S35      eU
(       a  [        R                  " S5      nO[        R                   " S5      n[        R                  " S[        R                  " US5      XU5        U
$ )Nr   Fr   zHas typeTr  r  r   r<   r  r  r   z type r>  r  r?  zChecking for type)r   r   r	   r  r  r$  r%  r   r   r   rU  r   r  r   r  r'  r&  )r   r>   r   r  r  r)  r*  r  r   r	  rC  r  r  rD  s                 r7   has_type_methodCompilerHolder.has_type_method  s5    7&<V__^c&d#GHHZ8T!:<NPTPYPYZaPbdno&&t';';VD
001GH	mm,,Xh7GIYIY8B - W.4TYYz*"
C&$--*L*L*N)OvV^Uaal'mnnZZ&FXXd^F$dii$&?jY
r6   zcompiler.compute_intz0.40.0rT   rS   rR   compute_intc                h   US   n[         R                  " U R                  U5      nU R                  US   U R                  R
                  S9u  pVU R                  R                  X2S   US   US   US   U R                  UUS9n[        R                  " S	[        R                  " US
5      Xg5        U$ )Nr   r   r   rT   rS   rR   r<   r  zComputing int ofT)r$  r%  r   r   r   r  rY  r   r	   r  r  )r   r>   r   
expressionr  r   r	  r   s           r7   compute_int_method!CompilerHolder.compute_int_method  s     !W
&&t';';VD
001GVZVcVcVlVl0m	mm''
5M6&>(.w9I(,(8(8Z59 ( ; 	#TYYz4%@#K
r6   zcompiler.sizeofsizeofc           
        US   n[         R                  " U R                  U5      nU R                  US   U R                  R
                  S9u  pVU R                  R                  X2S   U R                  XES9u  pxU(       a  [        R                  " S5      OSn	[        R                  " S[        R                  " US	5      U[        R                  " [        U5      5      U	5        U$ )
Nr   r   r   r<   r  r  r   zChecking for size ofT)r$  r%  r   r   r   r  r^  r   r	   r  r  r  r;   )
r   r>   r   elementr  r   r	  esizer  r  s
             r7   sizeof_methodCompilerHolder.sizeof_method  s     q'&&t';';VD
001GVZVcVcVlVl0m	,,WX6FHXHX8B - W.4TYYz*"
'7D)3		#e*0Ez	Sr6   zcompiler.get_define
get_definec                   US   n[         R                  " U R                  U5      nU R                  US   5      u  pVU R                  R                  X2S   U R                  UUS9u  pxU(       a  [        R                  " S5      OSn	Uc  SOUn
[        R                  " S[        R                  " US	5      XjU	5        Ub  U$ S$ )
Nr   r   r<   r  r  r   z(undefined)zFetching value of defineT)r$  r%  r   r   r   rd  r   r	   r  r  r  )r   r>   r   r`  r  r   r	  valuer  r  	value_msgs              r7   get_define_method CompilerHolder.get_define_method  s    
 q'&&t';';VD
001GH	00:JDL\L\<F>B 1 D /5TYYz*"
%*]M	+TYYw-EsWab)u1r1r6   zcompiler.has_definer   
has_definec                   US   n[         R                  " U R                  U5      nU R                  US   S S9u  pVU R                  R                  X2S   U R                  UUS9u  pxU(       a  [        R                  " S5      OSn	Ub  [        R                  " S5      O[        R                  " S	5      n
[        R                  " S
[        R                  " US5      USX5        US L$ )Nr   r   r   r<   r  r  r   r  r?  zChecking if defineTzexists:)r$  r%  r   r   r   rd  r   r	   r  r'  r&  r  r  )r   r>   r   define_namer  r   r	  rf  r  r  r+  s              r7   has_define_method CompilerHolder.has_define_method  s    
 1g&&t';';VD
001Gd0S	00X>NPTP`P`<F>B 1 D /5TYYz*"
!&!2DJJu%tyyd'CS)UVcD  r6   zcompiler.compilescompilesc           	        US   nUS   n[        X R                  SS9u  pVnU(       aL  U(       aD  [        R                  " S[        R                  " US5      SS[        R                  " U5      S	5        g[        U[        R                  5      (       a  UR                  (       a.  [        R                  " S
SU R                  SU R                  5        U R                  R                  U5        [        R                  R                  UR                  U R                   R"                  U R                   R$                  5      5      n[&        R(                  " U R*                  U5      nU R-                  US   S S9u  pU R.                  R1                  X0R                   UU	S9u  pU(       a  U(       d  [3        SU 35      eU(       a  U(       a  [        R4                  " S5      nO[        R6                  " S5      nU(       a  [        R8                  " S5      OSn[        R                  " S[        R                  " US5      U
SX5        U$ )Nr   rJ   Fr   r  Tz	compiles:r  r  z1compiler.compiles with file created at setup time1.2.03It was broken and either errored or returned false.r   rl  r  zCould not compile r  r?  r  r   )r   r   r	   r  r  r   r   r  is_builtr   r   r   r   r   r!  absolute_pathr   r#  	build_dirr$  r%  r   r   r   rp  r   r'  r&  r  )r   r>   r   r  r(  r  r)  r*  r  r   r	  r
  r  r+  r  s                  r7   compiles_methodCompilerHolder.compiles_method  s    Aw&>&<V__^c&d#G		(D(A;Pbdhdmdmnudv  yC  DdHMM**}}%%&Y[bdhdsds&[]a]n]np//5==33""4#3#3#>#>@P@P@Z@Z[]D&&t';';VD
001Gd0S	//6F6F;E=A 0 C F&);H:'FGGJJu%HHTN28:.bJHH]DIIh$=sKQR_r6   zcompiler.linkslinksc           	     Z   US   nUS   n[        X R                  SS9u  pVnU(       aL  U(       aD  [        R                  " S[        R                  " US5      SS[        R                  " U5      S	5        gS n[        U[        R                  5      (       Ga  UR                  (       a.  [        R                  " S
SU R                  SU R                  5        U R                  R                  U5        [        R                  R                  UR                  U R                   R"                  U R                   R$                  5      5      nUR&                  n	XR(                  R*                  ;  a  U R(                  R,                  n
U R                  R.                  R0                  U
   nU	[2        ;  a  [        R4                  " SU 35        OL[2        U	   U;  a3  [        R4                  " S[2        U	    SU
R7                  5        S35        OU[2        U	      n[8        R:                  " U R<                  U5      nU R?                  US   SS S9u  pU R(                  RA                  X0R                   UUUS9u  nnU(       a$  U(       d  [C        SU(       a  U 35      eS 35      eU(       a  U(       a  [        RD                  " S5      nO[        RF                  " S5      nU(       a  [        RH                  " S5      OSn[        R                  " S[        R                  " US5      USUU5        U$ )Nr   rJ   Fr   r  Tzlinks:r  r  z.compiler.links with file created at setup timerr  rs  zUnknown suffix for test file zPassed z+ source to links method, not specified for z	 machine.r   r  )r   r  r   zCould not link r  r  r?  r  r   )%r   r   r	   r  r  r   r   r  rt  r   r   r   r   r   r!  ru  r   r#  rv  suffixr   file_suffixesfor_machinecoredata	compilersr
   warningget_lower_case_namer$  r%  r   r   ry  r   r'  r&  r  )r   r>   r   r  r(  r  r)  r*  r   r{  r}  clistr  r   r	  r
  r  r+  r  s                      r7   links_methodCompilerHolder.links_method  s    Aw&>&<V__^c&d#G		(D(A8M_aeajajkrasu  AdHMM**}}%%&VX_aeapap&[]a]n]np//5==33""4#3#3#>#>@P@P@Z@Z[]D[[F]]888"mm77((11;;KH/LL#@!GH#F+58LL7>&+A*BBmny  oN  oN  oP  nQ  QZ  "[  \$^F%;<H&&t';';VD
001GV[bf0g	,,T3C3C6>8B:> - @ F&X8Z'[\\SY8Z'[\\JJu%HHTN28:.bJHH]DIIh$=sHaQ[\r6   zcompiler.check_headerz0.47.0check_headerc                
   US   n[        X R                  SS9u  pEnU(       aD  [        R                  " S[        R                  " US5      S[        R                  " U5      S5        g[
        R                  " U R                  U5      nU R                  US   5      u  pU R                  R                  X2S	   U R                  UUS
9u  pU(       a  [        R                  " S5      OSnU(       a1  U
(       d*  [        U R                  R                  5        SU< S35      eU
(       a  [        R                  " S5      nO[        R                   " S5      n[        R                  " S[        R                  " US5      XU5        U
$ )Nr   Fr   zCheck usable headerTr  r  r   r<   r  r  r    header r>  r  r?  )r   r   r	   r  r  r$  r%  r   r   r   r  r   r  r   r  r'  r&  )r   r>   r   hnamer  r)  r*  r  r   r	  hazr  r  r+  s                 r7   check_header_method"CompilerHolder.check_header_methodL  s;   
 Q&<V__^c&d#GHH*DIIeT,BDVX\XaXabiXjlvw&&t';';VD
001GH	mm00x8H$JZJZ<F>B 1 D /5TYYz*"
C&$--*L*L*N)OxX]W``k'lmm

5!AA&		%(>
S
r6   c                   [        X R                  SS9u  p4nU(       aD  [        R                  " S[        R                  " US5      S[        R                  " U5      S5        g[
        R                  " U R                  U5      nU R                  US   5      u  pxU R                  R                  XS   U R                  XgS	9u  pU
(       a  [        R                  " S
5      OSnU(       a1  U	(       d*  [        U R                  R                  5        SU< S35      eU	(       a  [        R                  " S5      nO[        R                   " S5      n[        R                  " S[        R                  " US5      XU5        U	$ )NFr   z
Has headerTr  r  r   r<   r  r  r   r  z
 not foundr  r?  )r   r   r	   r  r  r$  r%  r   r   r   
has_headerr   r  r   r  r'  r&  )r   r  r   r  r)  r*  r  r   r	  r  r  r  r+  s                r7   _has_header_implCompilerHolder._has_header_imple  s&   &<V__^c&d#GHH\499UD#9;MtyyY`Oacmn&&t';';VD
001GH	mm..uX6FHXHX:D / Y.4TYYz*"
C&$--*L*L*N)OxX]W``j'kll

5!AAtyy5szJ
r6   zcompiler.has_headerr  c                ,    U R                  US   U5      $ Nr   )r  r   s      r7   has_header_method CompilerHolder.has_header_methodx  s     $$T!Wf55r6   zcompiler.has_header_symbolhas_header_symbolc           
     h   Uu  p4[        X R                  SS9u  pVnU(       a[  [        R                  " S[        R                  " US5      S[        R                  " US5      S[        R                  " U5      S5        g[
        R                  " U R                  U5      nU R                  US   5      u  pU R                  R                  X4US	   U R                  UU	S
9u  pU(       a2  U(       d+  [        U R                  R                  5        SU SU 35      eU(       a  [        R                  " S5      nO[        R                  " S5      nU(       a  [        R                   " S5      OSn[        R                  " S[        R                  " US5      S[        R                  " US5      XU5        U$ )NFr   HeaderTz
has symbolr  r  r   r<   r  z symbol z not found in header r  r?  r  r   )r   r   r	   r  r  r$  r%  r   r   r   r  r   r   r  r'  r&  r  )r   r>   r   r  symbolr  r)  r*  r  r   r	  r  r  r+  r  s                  r7   has_header_symbol_method'CompilerHolder.has_header_symbol_method~  sq    &<V__^c&d#GHHXtyy5|TYYvW[E\^prvr{r{  }D  sE  GQ  R&&t';';VD
001GH	mm55eVHEUW[WgWgAKCG 6 I C&$--*L*L*N)OxX^W__tuzt{'|}}

5!AA.4TYYz*"
499UD1<6SWAXZ]blm
r6   c                r    [         R                  " US U R                  U R                  R                  SS9nU$ )NT)silent)r   r   r   r   r  )r   libnamelibs      r7   notfound_libraryCompilerHolder.notfound_library  s6    **7D+/+;+;+/==+A+A268 
r6   zcompiler.find_libraryr)  Tr   rd   r   )r   r   r   re   z0.51.0)r   rc   z0.49.0r   dirsr   c              #  X   #    U  H   oR                  S UR                   3S9v   M"     g7f)header_)rJ   N)evolverJ   ).0ks     r7   	<genexpr>CompilerHolder.<genexpr>  s$     	A[(('!&&*(
+[s   (*find_libraryc                   US   n[        X R                  5      u  pEnU(       aS  [        R                  " S[        R                  " U5      S[        R                  " U5      S5        U R                  U5      $ UUS   US   US   US   US	   S
.nUS    H,  nU R                  X5      (       a  M  U R                  U5      s  $    [        U5      n	U R                  R                  R                  R                  [        S5      5      n
US   SL a  [        R                  R                  nO_US   SL a  [        R                  R                   nO<U
(       a  [        R                  R"                  nO[        R                  R$                  nU R&                  R)                  X0R                  X5      nU(       au  U(       dn  U[        R                  R$                  :X  a  SnOUR*                  R-                  5       n[/        SR1                  U R&                  R3                  5       X5      5      e[4        R6                  " X<U R                  U R&                  R8                  5      nU$ )Nr   Libraryr  r  rf   rg   rh   rj   ri   )r)  r>   r   rF   r<   rD   rd   prefer_staticre   TFzshared or staticz{} {} library {!r} not found)r   r   r	   r  r  r  r  r   r   r~  optstoreget_value_forr   r   LibTypeSTATICSHAREDPREFER_STATICPREFER_SHAREDr   r  rJ   lowerr   r   r  r   r   r  )r   r>   r   r  r  r)  r*  has_header_kwargsr+  search_dirsr  libtypelinkargs	libtype_sr  s                  r7   find_library_method"CompilerHolder.find_library_method  s    q'&<V__&U#GHHY		' 24F		RYHZ\fg((11
 !=)"#89#)*F#G_-%&>?)
 &A((>>,,W55 ' *&1((11::HHSbIcd(t#&&--GH&&&--G&&44G&&44G==--g7G7G^H(**888.	#LL..0	&'E(.t}}/Q/Q/S/8)CD D **7d>N>N+/==+A+AC
r6   Nc                Z   [        U[        5      (       a  U/nSU R                  R                  5       SR	                  U[
        R                  L a  SOS5      SR	                  SR                  U5      5      /nU=(       d    SS0n[        X0R                  SS	9u  pVnU(       a0  US
[        R                  " U5      S/-  n[        R                  " U6   gU[
        R                  L a  U R                  R                  OU R                  R                  nU" XR                  5      u  pU(       a  U	(       d  US/-  n[!        U6 eUU	(       a  [        R"                  " S5      O[        R$                  " S5      U
(       a  [        R&                  " S5      OS/-  n[        R                  " U6   U	$ )zIShared implementation for methods checking compiler and linker arguments.zCompiler forz
supports{}z linkr   zarguments {}: r)  Fr   r  r  
not usabler  r?  r  )r   r;   r   r  r   rs   rw   r   r   r   r	   r  r  has_multi_link_argumentshas_multi_argumentsr   r   r'  r&  r  )r   	argumentsr   r   logargsr  r)  r*  testr
  r  s              r7   _has_argument_impl!CompilerHolder._has_argument_impl  s]   
 i%%"IMM..0493C3C+CL""388I#67	$
 .J.&<V__^c&d#G*DIIg,>
KKGHHg9=AQAQ9Qt}}55W[WdWdWxWxi)9)9:F~%G&00!'DJJuTXXd^%+DIIj!
 	
 	'r6   zcompiler.has_argumenthas_argumentc                *    U R                  US   /US9$ Nr   )r   r  r   s      r7   has_argument_method"CompilerHolder.has_argument_method  s      &&Qy&@@r6   zcompiler.has_multi_arguments)rG  z0.37.0r  c                (    U R                  US   US9$ r  r  r   s      r7   has_multi_arguments_method)CompilerHolder.has_multi_arguments_method  s    
 &&tAwv&>>r6   z compiler.get_supported_argumentsz0.43.0r-   offz0.59.0>   r  warnrequire)r   r   	validatorget_supported_argumentsc                6   / nUS   nUS    H  nU R                  U/5      (       d]  SU R                  R                  5        SU S3nUS:X  a  [        R                  " U5        MY  US:X  a  [
        R                  " U5      eMw  UR                  U5        M     U$ )Nr-   r   Compiler for z does not support "rJ  r  r  )r  r   r  r	   r  r   MesonExceptionr   )r   r>   r   supported_argsr-   argr	  s          r7   get_supported_arguments_method-CompilerHolder.get_supported_arguments_method  s     ')#7C**C511%dmm&H&H&J%KK^_b^ccdef$LL%	)"11#66 * %%c*  r6   z!compiler.first_supported_argumentfirst_supported_argumentc                   US    HJ  nU R                  U/5      (       d  M  [        R                  " S[        R                  " U5      5        U/s  $    [        R                  " S[        R                  " S5      5        / $ )Nr   zFirst supported argument:None)r  r	   r  r  r&  r   r>   r   r  s       r7   first_supported_argument_method.CompilerHolder.first_supported_argument_method  sb     7C&&u--4diinEu  	,dhhv.>?	r6   zcompiler.has_link_argumentz0.46.0has_link_argumentc                H    U R                  US   /[        R                  US9$ Nr   )r   r   r  rs   rw   r   s      r7   has_link_argument_method'CompilerHolder.has_link_argument_method&  s)    
 &&Qyy7G7GPV&WWr6   z compiler.has_multi_link_argumentr  c                F    U R                  US   [        R                  US9$ r  r  r   s      r7   has_multi_link_arguments_method.CompilerHolder.has_multi_link_arguments_method-  s&    
 &&tAwY5E5Ef&UUr6   z%compiler.get_supported_link_argumentsget_supported_link_argumentsc                    / nUS    H:  nU R                  U/[        R                  S9(       d  M)  UR                  U5        M<     U$ )Nr   r   )r  rs   rw   r   )r   r>   r   r  r  s        r7   #get_supported_link_arguments_method2CompilerHolder.get_supported_link_arguments_method4  sK    
 ')7C&&u93C3C&DD%%c*  r6   z&compiler.first_supported_link_argumentfirst_supported_link_argumentc                   US    HW  nU R                  U/[        R                  S9(       d  M)  [        R                  " S[        R
                  " U5      5        U/s  $    [        R                  " S[        R                  " S5      5        / $ )Nr   r  zFirst supported link argument:r  )r  rs   rw   r	   r  r  r&  r  s       r7   $first_supported_link_argument_method3CompilerHolder.first_supported_link_argument_method?  sm    
 7C&&u93C3C&DD9499S>Ju  	1488F3CD	r6   c                V   SU R                   R                  5        SU S3/nU=(       d    SS0n[        X R                  SS9u  pEnU(       a0  US[        R
                  " U5      S/-  n[        R                  " U6   gU R                   R                  XR                  5      u  pxU(       a  U(       d  US	/-  n[        U6 eUU(       a  [        R                  " S
5      O[        R                  " S5      U(       a  [        R                  " S5      OS/-  n[        R                  " U6   U$ )z-Common helper for function attribute testing.r  z supports function attribute :r)  Fr   r  r  r  r  r?  r  r   )r   r  r   r   r	   r  r  has_func_attributer   r   r'  r&  r  )	r   attrr   r  r  r)  r*  rC  r  s	            r7   _has_function_attribute_impl+CompilerHolder._has_function_attribute_implK  s    DMM>>@AA^_c^ddef$
 .J.&<V__^c&d#G*DIIg,>
KKGHHgmm66t=M=MNC~%G&00!$DJJu$((4.%+DIIj!
 	
 	'
r6   zcompiler.has_function_attributez0.48.0has_function_attributec                ,    U R                  US   U5      $ r  r  r   s      r7   has_func_attribute_method(CompilerHolder.has_func_attribute_methoda  s    
 00a&AAr6   z*compiler.get_supported_function_attributes!get_supported_function_attributesc                f    US    Vs/ s H  o0R                  U5      (       d  M  UPM     sn$ s  snf r  r  )r   r>   r   as       r7   (get_supported_function_attributes_method7CompilerHolder.get_supported_function_attributes_methodh  s+    
  7K7a&G&G&J7KKKs   ..zcompiler.get_argument_syntaxget_argument_syntaxc                6    U R                   R                  5       $ r|   )r   r  r   s      r7   get_argument_syntax_method)CompilerHolder.get_argument_syntax_methodo  s    
 }}0022r6   zcompiler.preprocessz0.64.0z1.3.2rp   z-compile_args were ignored before this version)extra_messagero   z@PLAINNAME@.i1.1.0z1.4.0
preprocessc                b   U R                   R                  5       nU R                  R                  US   5      n[        R
                  " SU5      n[        S U 5       5      (       a+  [        R                  " SSU R                  U R                  S9  [        U R                  U R                  R                     5      nUS:  a+  [        R                  " SSU R                  U R                  S9  SU 3n[        R                  " UU R                  R                  U R                  U R                   UUS	   UU R                  R"                  US
   US   US   US   5      nU R                  R%                  UR&                  U5        [(        R*                  R-                  U R                  R"                  R/                  U5      U R                  R                  5      n	UR0                   V
s/ s H7  n
[        R2                  " U[(        R*                  R5                  X5      5      PM9     sn
$ s  sn
f )Nr   zT.List[SourceOutputs]c              3     #    U  H>  n[        U[        R                  [        R                  [        R                  45      v   M@     g 7fr|   )r   r   CustomTargetCustomTargetIndexGeneratedList)r  ss     r7   r  3CompilerHolder.preprocess_method.<locals>.<genexpr>  s6     rjqefz!e00%2I2I5K^K^_``jqs   AAz*compiler.preprocess with generated sourcesr  r   z'compiler.preprocess used multiple timespreprocessor_ro   rp   rF   r   rq   )r   get_preprocessorr   source_strings_to_filesTcastanyr   r   r   r   nextr   subdirr   CompileTargetr   backend
add_targetrJ   ospathrelpathget_target_private_diroutputsr  r   )r   r>   r   r   _sourcessources
tg_countertg_nametgprivate_diros              r7   preprocess_method CompilerHolder.preprocess_methodv  s    ==113*.*:*:*R*RSWXYSZ*[&&0(;rjqrrr!!"NPWY]YhYh+/+<+<> $--d.>.>.E.EFG
>!!"KWVZVeVe+/+<+<>!*.  ##OO8$$>"()>"9 	##BGGR0 ggood&6&6&>&>&U&UVX&Y[_[k[k[r[rsSUS]S]^S]a''BGGLL,HIS]^^^s   +>H,)r   )r   
'Compiler'r   r   )r   r)  )r   !T.List['dependencies.Dependency']r   rC   r   r;   r   r;   r   )r>   r   r   r   r   r=   )r   rA   r   r   r   r=   )Fr  )r   r*  r   rC   r   r;   r   z/T.Tuple[T.List['dependencies.Dependency'], str])r>   T.Tuple[str]r   z'AlignmentKw'r   r   )r>    T.Tuple['mesonlib.FileOrString']r   'CompileKW'r   r   r   )r>   T.Tuple[str, str]r   'HasKW'r   rC   )r>   zT.Tuple[str, T.List[str]]r   r/  r   rC   )r>   r+  r   r/  r   rC   )r>   r+  r   z'ComputeIntKW'r   r   )r>   r+  r   
'CommonKW'r   r   )r>   r+  r   r0  r   r;   )r>   r+  r   r0  r   rC   )r>   r,  r   r-  r   rC   )r>   r+  r   
'HeaderKW'r   rC   )r  r;   r   r1  r   rC   )r>   r.  r   r1  r   rC   )r  r;   r   'dependencies.ExternalLibrary')r>   r+  r   z'FindLibraryKW'r   r2  )r  zT.Union[str, T.List[str]]r   rs   r   T.Optional['ExtractRequired']r   rC   )r>   r+  r   'HasArgumentKW'r   rC   )r>   T.Tuple[T.List[str]]r   r4  r   rC   )r>   r5  r   z'GetSupportedArgumentKw'r   r=   )r>   r5  r   r   r   r=   r|   )r  r;   r   r3  r   rC   )r>   z(T.Tuple[T.List['mesonlib.FileOrString']]r   z'PreprocessKW'r   zT.List[build.CustomTargetIndex])^r0   r1   r2   r3   collectionsdefaultdict	itertoolscountr   r4   r~   propertyr   r   r   r   r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r  r   r  r   r,  r0  r   r4  r8  _HAS_REQUIRED_KWr   rE  rN  rS  rW  r   r   r   r\  rb  rh  rn  rw  r  r   r  r  r  r  r  r   rC   r   UserFeatureOptionr   r   r  rs   rv   r  r  r  r   r  r  r  r  r  r  r  r  r   r  r   r   r  r  r  r   r  r   r'  r5   r   r   s   @r7   r   r      s6   3>3J3J9??3[N0[$    3. i(% )  % k*% +  % 2B1F1F.KV = (#.	 k*	 + /	 NS(--$89.1=1e$  % 2 : D h'& (  & ((3o.- / 4  - >?N @  N )34')9HKHl+ , I 5. *C!L(*:I[Im, - J M2 +S1)+;JkJn- . K 2* '-%'7F+Fj) * G .( &1*C0%#x)&3/*'C?+	
 
 m,	 - 1 2	 %s+#2k2h'	 ( 3 ,	 %x0)3/'6+6l+
2 , 7 0 1
2 %w/)3/'6+6l+! , 7 0 0! '#x}})=>%66j)  * 7 ? D $sHMM&:;"3]3g&. ' 4 <.` '2+S1)8K8n- . 9 2 3*& )3/'6+6l+6 , 7 06 0#s;.==12 3 > <* +S1*tW%>%>?N-!24!=tUW_gh(T8,H=*dEB&+D#6bQ 
B[	A n-- . 2 -` .7-?-?CG!*#@LP> +S1)+;<n-A . = 2A 2C@02BC.934? 5 : D A? 2H=6D*)S%x,-GH	J
 78 9 E > 7E89 : F  ,h70#6.0@A12X 3 B 7 8X 2H=6D46FG89V : H E >V 7B;SI<= > J  C 8(C<cJ=> ? K  D, 18<5s;35EF67B 8 G < =B <hG@#NABL C O  HL .9343 5   :3 %x0+W~6F  WF  G)CHZHZ\a\s\suz  vI  vI  4J  XY  Z(C9."3D#">VXYg.) l+_ , Z G 1_r6   r   r!   )]
__future__r   r6  enumr$  r  r8  typingr  r   r   r   r   r   r	   r  r
   r   compilers.compilersr   interpreterbaser   r   r   r   r   r   r   r   interpreterbase.decoratorsr   r   r   r   r   interpreterobjectsr   r   type_checkingr   r   r   TYPE_CHECKINGr   r    r!   r"   r#   r   r$   r%   r&   r'   typing_extensionsr(   r)   r+   r9   rA   rH   rM   rP   rV   r[   r^   ra   rm   Enumrs   ry   r   r;   r   r4   
Dependencyr   BuildTargetr  r  r   IncludeDirsr   r   rC   _NO_BUILTIN_ARGS_KW_NAME_KW
_WERROR_KWr   r  r   r   r;  r   r.   r6   r7   <module>rN     s   #    	        1 2H H H d c  M B B??)$7:*&43 36i 6	 
M? 6= 6
x 8_ /  B): Bay a		 'k2 ': $-
dC 	$
   BKdL334	B >  ktdU..0B0BED[D[\]	kg  :CdE--.	: 6  '
D#
&'BD
N D   14G VS"-xuGD
 #+,<>NPZ\o!p p %-h8HJZ\o$.$/$6$6We$T$V  V #."4"48U"S!bVa!b b%%GUC f_\*- f_r6   