+
    UBi                    $  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt	^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^RIHtHt ^R	IHt ^R
IHtHtHtHtHtHtHtHt ^RIHtH t H!t!H"t" ^RIH#t# ^RI$H%t%H&t& ^RI'H(t(H)t)H*t*H+t+ ]	PX                  '       d   ^RI-H.t. ^RIH/t/ ^RIH0t0H1t1 ^RI2H3t3H4t4 ^RI-H5t5 ^RIH6t6 ^ RI7H8t8H9t9  ! R R]84      t: ! R R]84      t; ! R R]84      t< ! R R]<]34      t= ! R R]<4      t> ! R  R!]>4      t? ! R" R#]>]34      t@ ! R$ R%]>]34      tA ! R& R']34      tB ! R( R)]3]44      tC ! R* R+]84      tD ! R, R-]P                  4      tF ! R. R/]R0,          4      tG]!! R1]! ]H]I4      R2. R37      tJR4]KR5&   ]!! R6]! ]H]P                  4      R2. R37      tMR7]KR8&   ]!! R9]! ]H]P                  ]P                  ]P                  34      R2. R37      tQR:]KR;&   ]!! R<]I]! ]H]I4      3R=]HR>/R? R@7      tRRA]KRB&   ]!! RC]SRDRE7      tT]!! RF]IR=RE7      tU]!! RG]SRDRHRI7      tV]J]M](]R]T.tWRJ]KRK&   ]U]J]M](]T]V])P                  ! RLRDRM7      .tYRJ]KRN&   ])P                  ! RORDRM7      .]WOtZRJ]KRP&   ])P                  ! RHRDRM7      t[ ! RQ RR]RS,          4      t\R# )T    )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)INCLUDE_DIRECTORIESREQUIRED_KWin_set_validatorNoneType)Interpreter)Compiler)TYPE_varTYPE_kwargs)ExtractRequiredExtractSearchDirs)SourceOutputs)TV_LoggableList)	TypedDictLiteralc                  "    ] tR t^&t$ R]R&   RtR# )GetSupportedArgumentKwz!Literal['warn', 'require', 'off']checked N__name__
__module____qualname____firstlineno____annotations____static_attributes__r,       D/usr/lib/python3.14/site-packages/mesonbuild/interpreter/compiler.pyr*   r*   &   s    22r4   r*   c                  6    ] tR t^*t$ R]R&   R]R&   R]R&   RtR# )	AlignmentKwstrprefixT.List[str]argsT.List[dependencies.Dependency]r   r,   Nr-   r,   r4   r5   r7   r7   *   s    55r4   r7   c                  6    ] tR t^0t$ R]R&   R]R&   R]R&   RtR# )	BaseCompileKWboolno_builtin_argszT.List[build.IncludeDirs]include_directoriesr:   r;   r,   Nr-   r,   r4   r5   r>   r>   0   s    66r4   r>   c                  6    ] tR t^5t$ R]R&   R]R&   R]R&   RtR# )		CompileKWr8   namer<   r   r?   werrorr,   Nr-   r,   r4   r5   rC   rC   5   s    	55r4   rC   c                  ,    ] tR t^;t$ R]R&   R]R&   RtR# )CommonKWr8   r9   r<   r   r,   Nr-   r,   r4   r5   rG   rG   ;   s    55r4   rG   c                  6    ] tR t^@t$ R]R&   R]R&   R]R&   RtR# )ComputeIntKWzT.Optional[int]guesshighlowr,   Nr-   r,   r4   r5   rI   rI   @   s    r4   rI   c                      ] tR t^FtRtR# )HeaderKWr,   Nr.   r/   r0   r1   r3   r,   r4   r5   rN   rN   F       r4   rN   c                      ] tR t^ItRtR# )HasKWr,   NrO   r,   r4   r5   rR   rR   I   rP   r4   rR   c                      ] tR t^LtRtR# )HasArgumentKWr,   NrO   r,   r4   r5   rT   rT   L   rP   r4   rT   c                  r    ] tR t^Ot$ R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   R]R&   R]R&   R]R&   RtR# )FindLibraryKWr?   disablerr:   has_headersstaticheader_argsr<   header_dependencies'T.List[T.Union[build.IncludeDirs, str]]header_include_directoriesheader_no_builtin_argsr8   header_prefixz(T.Union[bool, options.UserFeatureOption]header_requiredr,   Nr-   r,   r4   r5   rV   rV   O   s8       ! <<$KK $$AAr4   rV   c                  J    ] tR t^^t$ R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )PreprocessKWr8   outputr:   compile_argsr\   rA   r<   r   zT.List[build.BuildTargetTypes]dependsr,   Nr-   r,   r4   r5   rb   rb   ^   s    !!DD55//r4   rb   c                  "    ] tR t^ftRt^ t^tRtR# )	_TestModez/Whether we're doing a compiler or linker check.r,   N)r.   r/   r0   r1   __doc__COMPILERLINKERr3   r,   r4   r5   rg   rg   f   s    9HFr4   rg   c                  V  a  ] tR t^ntR V 3R llt]]]P                  ! R4      R R l4       4       4       t	]]]P                  ! R4      R R l4       4       4       t
]]]P                  ! R	4      R
 R l4       4       4       t]]]P                  ! R4      R R l4       4       4       tRtV ;t# )TryRunResultHolderc                    V ^8  d   QhRRRR/# )   res'RunResult'interpreter'Interpreter'r,   )formats   "r5   __annotate__TryRunResultHolder.__annotate__o   s     + +K +m +r4   c                	&   < \         SV `  W4       R # N)super__init__)selfro   rq   	__class__s   &&&r5   ry   TryRunResultHolder.__init__o   s    *r4   
returncodec               $    V ^8  d   QhRRRRRR/# )rn   r;   T.List['TYPE_var']kwargs'TYPE_kwargs'returnintr,   )rs   s   "r5   rt   ru   u   s#     + +&8 +- +TW +r4   c                	.    V P                   P                  # rw   )held_objectr}   rz   r;   r   s   &&&r5   returncode_method$TryRunResultHolder.returncode_methodr   s     ***r4   compiledc               $    V ^8  d   QhRRRRRR/# rn   r;   r   r   r   r   r?   r,   )rs   s   "r5   rt   ru   {   s#     ) )$6 ) )RV )r4   c                	.    V P                   P                  # rw   )r   r   r   s   &&&r5   compiled_method"TryRunResultHolder.compiled_methodx   s     (((r4   stdoutc               $    V ^8  d   QhRRRRRR/# rn   r;   r   r   r   r   r8   r,   )rs   s   "r5   rt   ru      #     ' '"4 'm 'PS 'r4   c                	.    V P                   P                  # rw   )r   r   r   s   &&&r5   stdout_method TryRunResultHolder.stdout_method~        &&&r4   stderrc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   ru      r   r4   c                	.    V P                   P                  # rw   )r   r   r   s   &&&r5   stderr_method TryRunResultHolder.stderr_method   r   r4   r,   )r.   r/   r0   r1   ry   r   r   r   methodr   r   r   r   r3   __classcell__r{   s   @r5   rl   rl   n   s    + + l++ ,  + j)) *  ) h'' (  ' h'' (  'r4   rl   r
   r;   TlistifydefaultzKwargInfo[T.List[str]]_ARGS_KWr   z,KwargInfo[T.List['dependencies.Dependency']]_DEPENDENCIES_KWre   z)KwargInfo[T.List[build.BuildTargetTypes]]_DEPENDS_KWr9    z1.0.0c                T    \        V \        4      '       d   R P                  V 4      # T # )
)
isinstancelistjoin)xs   &r5   <lambda>r      s     
1d(;(;		!BBr4   )r   since_values	convertorzKwargInfo[str]
_PREFIX_KWr@   Fr   rD   rE   1.3.0r   sincezT.List[KwargInfo]_COMMON_KWS1.5.0)r   r   _COMPILES_KWS0.50.0_HEADER_KWSc                  j  a  ] tR t^t$ ]P
                  ! ]P                  4      tR]	R&   R V 3R llt
]R R l4       tR R lt]]]P"                  ! R	4      R
 R l4       4       4       t]]]P"                  ! R4      R R l4       4       4       t]P*                  3R R lltRR R llt]! R]4      ]! R]]]4      ]P"                  ! R4      R R l4       4       4       t]! R]]P@                  34      ]! R.]!O5!  ]P"                  ! R4      R R l4       4       4       t"]]]P"                  ! R4      R R l4       4       4       t#]]]$! RR 4      ]P"                  ! R!4      R" R# l4       4       4       4       t%]]]P"                  ! R$4      R% R& l4       4       4       t&]! R']]4      ]! R']'.](O5!  ]P"                  ! R(4      R) R* l4       4       4       t)]! R+]]^R,7      ]! R+]'.](O5!  ]P"                  ! R-4      R. R/ l4       4       4       t*]! R0]4      ]! R0]'.](O5!  ]P"                  ! R14      R2 R3 l4       4       4       t+]! R4]4      ]! R4]'.](O5!  ]P"                  ! R54      R6 R7 l4       4       4       t,]$! R8R94      ]! R8]4      ]! R8]-! R:].]/34      ]-! R;].]/34      ]-! R<].]/34      .](O5!  ]P"                  ! R=4      R> R? l4       4       4       4       t0]! R@]4      ]! R@.](O5!  ]P"                  ! RA4      RB RC l4       4       4       t1]$! RDR94      ]! RD]4      ]! RD.](O5!  ]P"                  ! RE4      RF RG l4       4       4       4       t2]$! RHRI4      ]! RH]4      ]! RH.](O5!  ]P"                  ! RJ4      RK RL l4       4       4       4       t3]! RM]]P@                  34      ]! RM.]!O5!  ]P"                  ! RN4      RO RP l4       4       4       t4]! RQ]]P@                  34      ]! RQ.]!O5!  ]P"                  ! RR4      RS RT l4       4       4       t5]$! RURV4      ]! RU]4      ]! RU.]6O5!  ]P"                  ! RW4      RX RY l4       4       4       4       t7RZ R[ lt8]! R\]4      ]! R\.]6O5!  ]P"                  ! R]4      R^ R_ l4       4       4       t9]! R`]]4      ]! R`.]6O5!  ]P"                  ! Ra4      Rb Rc l4       4       4       t:Rd Re lt;]<]! Rf]4      ]! Rf]-! Rg]=]>P~                  3RhRi7      ]-! Rj]@! ]A]4      Rh. RkRl7      ]-! Rm]=]/3RnRo7      ]-! Rp]=RRqRr7      ]-! Rs]@! ]A]4      Rh. Rt7      .Ru ]6 4       O5!  ]P"                  ! Rv4      Rw Rx l4       4       4       4       tB]CP                  Ry3Rz R{ lltE]! R|]4      ]! R|]'4      ]P"                  ! R}4      R~ R l4       4       4       tF]! R]R7      ]! R]'4      ]$! RR4      ]P"                  ! R4      R R l4       4       4       4       tG]$! RR4      ]! R]R7      ]! R]-! R]RR]H! 0 Rm4      R7      4      ]P"                  ! R4      R R l4       4       4       4       tI]]! R]R7      ]P"                  ! R4      R R l4       4       4       tJ]$! RR4      ]! R]4      ]! R]'4      ]P"                  ! R4      R R l4       4       4       4       tK]$! RR4      ]! R]R7      ]! R]'4      ]P"                  ! R4      R R l4       4       4       4       tL]$! RR4      ]]! R]R7      ]P"                  ! R4      R R l4       4       4       4       tM]$! RR4      ]]! R]R7      ]P"                  ! R4      R R l4       4       4       4       tNRR R lltO]$! RR4      ]! R]4      ]! R]'4      ]P"                  ! R4      R R l4       4       4       4       tP]$! RR4      ]]! R]R7      ]P"                  ! R4      R R l4       4       4       4       tQ]$! RRq4      ]]]P"                  ! R4      R R l4       4       4       4       tR]$! RR4      ]S! RRR.RR7      ]! R]]P@                  ]TP                  ]TP                  ]TP                  3^R,7      ]! R]-! R]RRi7      ]-! R]@! ]A]4      Rh. Rt7      ]X]P                  RRo7      ]ZP                  RRo7      4      ]P"                  ! R4      R R l4       4       4       4       4       t[Rt\V ;t]# )CompilerHolderzT.Dict[str, itertools.count]preprocess_uidc                    V ^8  d   QhRRRR/# )rn   compiler
'Compiler'rq   rr   r,   )rs   s   "r5   rt   CompilerHolder.__annotate__   s     $ $ $- $r4   c                	H   < \         SV `  W4       V P                  V n        R # rw   )rx   ry   envenvironment)rz   r   rq   r{   s   &&&r5   ry   CompilerHolder.__init__   s    /88r4   c                   V ^8  d   QhRR/# )rn   r   r   r,   )rs   s   "r5   rt   r      s        *  r4   c                	    V P                   # rw   )r   )rz   s   &r5   r   CompilerHolder.compiler   s    r4   c               (    V ^8  d   QhRRRRRRRR/# )rn   deps!T.List['dependencies.Dependency']compile_onlyr?   endlr8   r   r,   )rs   s   "r5   rt   r      s+     3 3> 3d 3Z] 3be 3r4   c                	   R pRp. pV F  p\        V\        P                  4      '       d1   \        P                  ! RRV P
                  V P                  R7       KS  \        V\        P                  4      '       d   V'       d   K}  RVP                  ,           pMVP                  pVP                  V4       K  	  V'       g   V# \        V4      ^8  d   TMTp	Vf   RpV	P                  RP                  V4      4      V,           # )zwith dependency {}zwith dependencies {}z6compiler method "dependencies" kwarg with internal depz0.57.0locationz-lr   , )r   r   InternalDependencyr   
single_use
subprojectcurrent_nodeExternalLibraryrD   appendlenrs   r   )
rz   r   r   r   
msg_singlemsg_manynamesdrD   tpls
   &&&&      r5   _dep_msgCompilerHolder._dep_msg   s    )
)A!\<<==%%&^`hjnjyjy/3/@/@B!\99::aff}vvLL  Ke*q.hj<Dzz$))E*+d22r4   versionc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   r      s#     % %#5 %} %QT %r4   c                	.    V P                   P                  # rw   )r   r   r   s   &&&r5   version_methodCompilerHolder.version_method        }}$$$r4   	cmd_arrayc               $    V ^8  d   QhRRRRRR/# )rn   r;   r   r   r   r   r:   r,   )rs   s   "r5   rt   r      s#     % %%7 % %S^ %r4   c                	.    V P                   P                  # rw   )r   exelistr   s   &&&r5   cmd_array_methodCompilerHolder.cmd_array_method   r   r4   c               $    V ^8  d   QhRRRRRR/# )rn   r   r>   moder   r   r:   r,   )rs   s   "r5   rt   r      s#      m .KVr4   c                	L   . pV P                   P                  VR R7       Fw  pVP                  V P                  P	                  4       V P                  P                  4       4       F.  pVP                  V P                  P                  VR4      4       K0  	  Ky  	  VR,          '       g   W0P                  P                  RV P                  4      ,          pW0P                  P                  RV P                  4      ,          pV\        P                  J d6   VP                  V P                  P                  RV P                  4      4       VP                  RR4      '       d*   VP                  V P                  P!                  4       4       VP                  VR,          4       V# )1.10.0strings_sinceFr@   NrE   r;   )rq   extract_incdirsto_string_listr   get_source_dirget_build_dirextendr   get_include_argsget_option_compile_argsr   get_option_std_argsr   LINKget_option_link_argsgetget_werror_args)rz   r   r   r;   iidirs   &&&   r5   _determine_argsCompilerHolder._determine_args   s2   !!11&1QA(()9)9)H)H)JDL\L\LjLjLlmDMM::4GH n R '((MM99$PPDMM55dDOOLLD',,,DMM>>tT__UV::h&&KK5578F6N#r4   Fc               (    V ^8  d   QhRRRRRRRR/# )	rn   r   r   r   r?   r   r8   r   z/T.Tuple[T.List['dependencies.Dependency'], str]r,   )rs   s   "r5   rt   r      s0     = =,M =]a =qt =  @o =r4   c                	T    \         P                  ! V4      pWP                  WV4      3# rw   )r   get_leaf_external_dependenciesr   )rz   r   r   r   s   &&&&r5   _determine_dependencies&CompilerHolder._determine_dependencies   s&    ::4@]]4t<<<r4   zcompiler.alignment	alignmentc               $    V ^8  d   QhRRRRRR/# )rn   r;   T.Tuple[str]r   z'AlignmentKw'r   r   r,   )rs   s   "r5   rt   r      s!     	 	\ 	= 	S 	r4   c           
     	   V^ ,          pV P                  VR,          V P                  P                  R7      w  rEV P                  P                  W2R,          VR,          VR7      w  rgV'       d   \        P
                  ! R4      MRp\        P                  ! R\        P                  ! VR	4      V\        P                  ! \        V4      4      V4       V# )
r   r   r   r9   r;   
extra_argsr   (cached)r   zChecking for alignment ofT)	r  r   is_crossr  r   bluelogboldr8   )	rz   r;   r   typenamer   msgresultcached
cached_msgs	   &&&      r5   alignment_methodCompilerHolder.alignment_method   s     7001GVZVcVcVlVl0m	00(;K<B6N>B 1 D /5TYYz*"
,8T*C3v;1G	Ur4   zcompiler.runrunc               $    V ^8  d   QhRRRRRR/# )rn   r;    T.Tuple['mesonlib.FileOrString']r   'CompileKW'r   rp   r,   )rs   s   "r5   rt   r     s#      ?  Yd r4   c           	     	f   V P                   P                  R9  dK   \        P                  ! RV P                   P	                  4        R2RV P
                  V P                  R7       V^ ,          pVR,          p\        W P
                  RR7      w  rVpV'       d]   V'       dE   \        P                  ! R\        P                  ! VR	4      R
R\        P                  ! V4      R4       \        R	^ RRRR7      # \        V\        P                  4      '       d^   V P                  P!                  V4       \        P                  P#                  VP%                  V P&                  P(                  4      4      p\*        P,                  ! V P.                  V4      pV P1                  VR,          RRR7      w  rV P                   P3                  W8V	R7      pV'       d0   VP4                  ^ 8w  d   \7        RV'       d	   V 24      hR 24      hV'       d   VP8                  '       g   \        P:                  ! R4      pMLVP4                  ^ 8X  d   \        P<                  ! R4      pM$\        P:                  ! RVP4                   R24      p\        P                  ! R\        P                  ! VR	4      V
R
V4       V# )r   zcompiler.run for z	 languager   r   rD   Fr   Checking ifTzruns:skipped: featuredisabledr   )r   r}   r   r   r  r   Nr   r   r
  zCould not run codezDID NOT COMPILEYESzNO ()>   cr   cppobjcobjcppfortran)r   languager   r   get_display_languager   r   r   r   r  r  r
   r   r   Filerq   add_build_def_filefrom_absolute_filerel_to_builddirr   
source_dir	functoolspartialr   r  r  r}   r   r   redgreen)rz   r;   r   r!  testnamer  requiredfeaturer  r   r  r  hs   &&&          r5   
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	""4T"R))Q.&H7Y'Z[[RX7Y'Z[[???HH./""a'JJu%HHtF$5$5#6a89HH]DIIh$=sGQOr4   get_idc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   r   0  s#     & &"4 &m &PS &r4   c                	6    V P                   P                  4       # rw   )r   r:  r   s   &&&r5   get_id_methodCompilerHolder.get_id_method-  s     }}##%%r4   zcompiler.get_linker_idz0.53.0get_linker_idc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   r   7  s#     - -); -] -WZ -r4   c                	6    V P                   P                  4       # rw   )r   r?  r   s   &&&r5   get_linker_id_method#CompilerHolder.get_linker_id_method3  s    
 }}**,,r4   symbols_have_underscore_prefixc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   r   =  s$     > >:L >Vc >hl >r4   c                6    V P                   P                  4       # )zv
Check if the compiler prefixes _ (underscore) to global C symbols
See: https://en.wikipedia.org/wiki/Name_mangling#C
)r   rD  r   s   &&&r5   %symbols_have_underscore_prefix_method4CompilerHolder.symbols_have_underscore_prefix_method:  s     }};;==r4   zcompiler.has_member
has_memberc               $    V ^8  d   QhRRRRRR/# )rn   r;   T.Tuple[str, str]r   'HasKW'r   r?   r,   )rs   s   "r5   rt   r   G  s"      &7  T r4   c           
     	   Vw  r4\        W P                  R R7      w  rVpV'       d]   \        P                  ! R\        P                  ! VR4      R\        P                  ! VR4      R\        P                  ! V4      R4       R # \
        P                  ! V P                  V4      pV P                  VR,          4      w  rV P                  P                  W4.VR,          WR	7      w  rV'       d   \        P                  ! R
4      MRpV'       d7   V'       g/   \        V P                  P                  4        RV: RV: R24      hV'       d   \        P                  ! R4      pM\        P                  ! R4      p\        P                  ! R\        P                  ! VR4      R\        P                  ! VR4      WV4       V# )Fr   TypeTz
has memberr  r  r   r9   r
  r  r   z member 	 of type  not usabler"  NOChecking whether type)r   r   r   r  r  r0  r1  r   r  r   has_membersr  r   r*  r3  r2  )rz   r;   r   r  
membernamer  r5  r6  r  r   r  hadr  r  hadtxts   &&&            r5   has_member_method CompilerHolder.has_member_methodD  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//,xHX;E 0 Z.4TYYz*"
C&$--*L*L*N)OxXbWeenownz  {F  (G  H  HZZ&FXXd^F($))Hd*CtyyT:C	U
r4   zcompiler.has_members)varargsmin_varargsrS  c               $    V ^8  d   QhRRRRRR/# )rn   r;   zT.Tuple[str, T.List[str]]r   rL  r   r?   r,   )rs   s   "r5   rt   r   _  s#      '@ ' VZ r4   c           
     	   Vw  r4\         P                  ! R P                  V Uu. uF	  pRV R2NK  	  up4      4      p\        W P                  RR7      w  rxp	V'       dH   \         P
                  ! R\         P                  ! VR4      RVR\         P                  ! V	4      R4       R# \        P                  ! V P                  V4      p
V P                  VR	,          4      w  rV P                  P                  W4VR
,          WR7      w  rV'       d   \         P                  ! R4      MRpV'       d7   V'       g/   \        V P                  P                  4        RV: RV: R24      hV'       d   \         P                  ! R4      pM\         P                   ! R4      p\         P
                  ! R\         P                  ! VR4      RWlVV4       V# u upi )r   "Fr   rN  Tzhas membersr  r  r   r9   r
  r  r   z	 members rO  rP  r"  rQ  rR  )r   r  r   r   r   r  r0  r1  r   r  r   rS  r  r   r*  r3  r2  )rz   r;   r   r  membernamesmmembersr  r5  r6  r  r   r  rU  r  r  rV  s   &&&              r5   has_members_method!CompilerHolder.has_members_method\  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//vhGW;E 0 Z.4TYYz*"
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               $    V ^8  d   QhRRRRRR/# rn   r;   r  r   rL  r   r?   r,   )rs   s   "r5   rt   r   y  s!       g $ r4   c                	   V^ ,          p\        W P                  RR7      w  rEpV'       dF   \        P                  ! R\        P                  ! VR4      R\        P                  ! V4      R4       R# V P                  V4      pV P                  VR,          RR7      w  rV P                  P                  W2R	,          VVR
7      w  rV'       d   \        P                  ! R4      MRpV'       d3   V
'       g+   \        V P                  P                  4        RV: R24      hV
'       d   \        P                  ! R4      pM\        P                  ! R4      p\        P                  ! R\        P                  ! VR4      WV4       V
# )r   Fr   zHas functionTr  r  r   r	  r9   r
  r  r   z
 function rP  r"  rQ  zChecking for function)r   r   r   r  r  r   r  r   rc  r  r   r*  r3  r2  )rz   r;   r   funcnamer  r5  r6  r  r   r  rU  r  r  rV  s   &&&           r5   has_function_method"CompilerHolder.has_function_methodv  s1    7&<V__^c&d#GHH^TYYx%>@RTXT]T]^eTfhrs))&1
001GV[0\	mm00(;K<F>B 1 D /5TYYz*"
C&$--*L*L*N)OzZbYeep'qrrZZ&FXXd^F($))Hd*CSR\]
r4   zcompiler.has_typehas_typec               $    V ^8  d   QhRRRRRR/# re  r,   )rs   s   "r5   rt   r     s!      L ' d r4   c                	"   V^ ,          p\        W P                  RR7      w  rEpV'       dF   \        P                  ! R\        P                  ! VR4      R\        P                  ! V4      R4       R# \
        P                  ! V P                  V4      pV P                  VR,          4      w  rV P                  P                  W2R,          WxR	7      w  rV'       d   \        P                  ! R
4      MRpV'       d3   V
'       g+   \        V P                  P                  4        RV: R24      hV
'       d   \        P                  ! R4      pM\        P                  ! R4      p\        P                  ! R\        P                  ! VR4      WV4       V
# )r   Fr   zHas typeTr  r  r   r9   r
  r  r   z type rP  r"  rQ  zChecking for type)r   r   r   r  r  r0  r1  r   r  r   rj  r  r   r*  r3  r2  )rz   r;   r   r  r  r5  r6  r  r   r  rU  r  r  rV  s   &&&           r5   has_type_methodCompilerHolder.has_type_method  s-    7&<V__^c&d#GHHZ8T!:<NPTPYPYZaPbdno&&t';';VD
001GH	mm,,Xh7G8B - W.4TYYz*"
C&$--*L*L*N)OvV^Uaal'mnnZZ&FXXd^F$dii$&?jY
r4   zcompiler.compute_intz0.40.0rL   rK   rJ   compute_intc               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   z'ComputeIntKW'r   r   r,   )rs   s   "r5   rt   r     s"      | ^ PS r4   c           
     	   V^ ,          p\         P                  ! V P                  V4      pV P                  VR,          V P                  P
                  R7      w  rVV P                  P                  W2R,          VR,          VR,          VR,          WER7      p\        P                  ! R\        P                  ! VR	4      Wg4       V# )
r   r   r	  rL   rK   rJ   r9   r
  zComputing int ofT)
r0  r1  r   r  r   r  ro  r   r  r  )rz   r;   r   
expressionr  r   r  ro   s   &&&     r5   compute_int_method!CompilerHolder.compute_int_method  s     !W
&&t';';VD
001GVZVcVcVlVl0m	mm''
5M6&>(.w9I3= ( R 	#TYYz4%@#K
r4   zcompiler.sizeofsizeofc               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   
'CommonKW'r   r   r,   )rs   s   "r5   rt   r     s!     	 	, 	
 	s 	r4   c           
     	   V^ ,          p\         P                  ! V P                  V4      pV P                  VR,          V P                  P
                  R7      w  rVV P                  P                  W2R,          WER7      w  rxV'       d   \        P                  ! R4      MRp	\        P                  ! R\        P                  ! VR4      V\        P                  ! \        V4      4      V	4       V# )	r   r   r	  r9   r
  r  r   zChecking for size ofT)r0  r1  r   r  r   r  ru  r   r  r  r  r8   )
rz   r;   r   elementr  r   r  esizer  r  s
   &&&       r5   sizeof_methodCompilerHolder.sizeof_method  s     q'&&t';';VD
001GVZVcVcVlVl0m	,,WX6F8B - W.4TYYz*"
'7D)3		#e*0Ez	Sr4   zcompiler.get_define
get_definec               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   rw  r   r8   r,   )rs   s   "r5   rt   r     s!     	2 	2l 	2J 	23 	2r4   c                	   V^ ,          p\         P                  ! V P                  V4      pV P                  VR,          4      w  rVV P                  P                  W2R,          WER7      w  rxV'       d   \        P                  ! R4      MRp	Vf   RMTp
\        P                  ! R\        P                  ! VR4      WjV	4       Ve   V# R# )	r   r   r9   r
  r  r   z(undefined)zFetching value of defineT)
r0  r1  r   r  r   r}  r   r  r  r  )rz   r;   r   ry  r  r   r  valuer  r  	value_msgs   &&&        r5   get_define_method CompilerHolder.get_define_method  s    
 q'&&t';';VD
001GH	00:J<F 1 [.4TYYz*"
%*]M	+TYYw-EsWab)u1r1r4   zcompiler.has_definer   
has_definec               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   rw  r   r?   r,   )rs   s   "r5   rt   r     s!     
! 
!l 
!J 
!4 
!r4   c                	   V^ ,          p\         P                  ! V P                  V4      pV P                  VR,          RR7      w  rVV P                  P                  W2R,          WER7      w  rxV'       d   \        P                  ! R4      MRp	Ve   \        P                  ! R4      M\        P                  ! R	4      p
\        P                  ! R
\        P                  ! VR4      VRW4       VRJ# )r   r   Nr   r9   r
  r  r   r"  rQ  zChecking if defineTzexists:)r0  r1  r   r  r   r}  r   r  r3  r2  r  r  )rz   r;   r   define_namer  r   r  r  r  r  r7  s   &&&        r5   has_define_method CompilerHolder.has_define_method  s    
 1g&&t';';VD
001Gd0S	00X>N<F 1 [.4TYYz*"
!&!2DJJu%tyyd'CS)UVcD  r4   zcompiler.compilescompilesc               $    V ^8  d   QhRRRRRR/# rn   r;   r  r   r  r   r?   r,   )rs   s   "r5   rt   r     s#        $D  k  ^b  r4   c           	     	   V^ ,          pVR,          p\        W P                  RR7      w  rVpV'       dO   V'       dE   \        P                  ! R\        P                  ! VR4      RR\        P                  ! V4      R4       R# \        V\        P                  4      '       d   VP                  '       d/   \        P                  ! R	R
V P                  RV P                  4       V P                  P                  V4       \        P                  P                  VP                  V P                   P"                  V P                   P$                  4      4      p\&        P(                  ! V P*                  V4      pV P-                  VR,          RR7      w  rV P.                  P1                  VVV	R7      w  rV'       d   V'       g   \3        RV 24      hV'       d   V'       d   \        P4                  ! R4      pM\        P6                  ! R4      pV'       d   \        P8                  ! R4      MRp\        P                  ! R\        P                  ! VR4      V
RW4       V# )r   rD   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   Nr  r
  zCould not compile r"  rQ  r  r   )r   r   r   r  r  r   r   r+  is_builtr   r   r   rq   r,  r-  absolute_pathr   r/  	build_dirr0  r1  r   r  r   r  r   r3  r2  r  )rz   r;   r   r!  r4  r  r5  r6  r  r   r  r  r  r7  r  s   &&&            r5   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	//;E=A 0 C F&);H:'FGGJJu%HHTN28:.bJHH]DIIh$=sKQR_r4   zcompiler.linkslinksc               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r     s#     . .!A .; .[_ .r4   c           	     	   V^ ,          pVR,          p\        W P                  RR7      w  rVpV'       dO   V'       dE   \        P                  ! R\        P                  ! VR4      RR\        P                  ! V4      R4       R# R	p\        V\        P                  4      '       Ed   VP                  '       d/   \        P                  ! R
RV P                  RV P                  4       V P                  P                  V4       \        P                  P                  VP                  V P                   P"                  V P                   P$                  4      4      pVP&                  p	WP(                  P*                  9  d   V P(                  P,                  p
V P                  P.                  P0                  V
,          pV	\2        9  d   \        P4                  ! RV 24       M]\2        V	,          V9  d8   \        P4                  ! R\2        V	,           RV
P7                  4        R24       MV\2        V	,          ,          p\8        P:                  ! V P<                  V4      pV P?                  VR,          RR	R7      w  rV P(                  PA                  VVVVR7      w  ppV'       d'   V'       g   \C        RV'       d	   V 24      hR 24      hV'       d   V'       d   \        PD                  ! R4      pM\        PF                  ! R4      pV'       d   \        PH                  ! R4      MRp\        P                  ! R\        P                  ! VR4      VRVV4       V# )r   rD   Fr   r  Tzlinks:r  r  Nz.compiler.links with file created at setup timer  r  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"  rQ  r  r   )%r   r   r   r  r  r   r   r+  r  r   r   r   rq   r,  r-  r  r   r/  r  suffixr   file_suffixesfor_machinecoredata	compilersr	   warningget_lower_case_namer0  r1  r   r  r  r   r3  r2  r  )rz   r;   r   r!  r4  r  r5  r6  r   r  r  clistr  r   r  r  r  r7  r  s   &&&                r5   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	,,T6>8B:> - @ F&X8Z'[\\SY8Z'[\\JJu%HHTN28:.bJHH]DIIh$=sHaQ[\r4   zcompiler.check_headerz0.47.0check_headerc               $    V ^8  d   QhRRRRRR/# rn   r;   r  r   
'HeaderKW'r   r?   r,   )rs   s   "r5   rt   r   B  s!       j T r4   c                	$   V^ ,          p\        W P                  RR7      w  rEpV'       dF   \        P                  ! R\        P                  ! VR4      R\        P                  ! V4      R4       R# \
        P                  ! V P                  V4      pV P                  VR,          4      w  rV P                  P                  W2R,          VVR	7      w  rV'       d   \        P                  ! R
4      MRpV'       d3   V
'       g+   \        V P                  P                  4        RV: R24      hV
'       d   \        P                  ! R4      pM\        P                  ! R4      p\        P                  ! R\        P                  ! VR4      WV4       V
# )r   Fr   zCheck usable headerTr  r  r   r9   r
  r  r    header rP  r"  rQ  )r   r   r   r  r  r0  r1  r   r  r   r  r  r   r*  r3  r2  )rz   r;   r   hnamer  r5  r6  r  r   r  hazr  r  r7  s   &&&           r5   check_header_method"CompilerHolder.check_header_method>  s3   
 Q&<V__^c&d#GHH*DIIeT,BDVX\XaXabiXjlvw&&t';';VD
001GH	mm00x8H<F>B 1 D /5TYYz*"
C&$--*L*L*N)OxX]W``k'lmm

5!AA&		%(>
S
r4   c               $    V ^8  d   QhRRRRRR/# )rn   r  r8   r   r  r   r?   r,   )rs   s   "r5   rt   r   W  s!      c : $ r4   c                	   \        W P                  R R7      w  r4pV'       dF   \        P                  ! R\        P                  ! VR4      R\        P                  ! V4      R4       R # \
        P                  ! V P                  V4      pV P                  VR,          4      w  rxV P                  P                  WR,          WgR7      w  rV
'       d   \        P                  ! R	4      MR
pV'       d3   V	'       g+   \        V P                  P                  4        RV: R24      hV	'       d   \        P                  ! R4      pM\        P                  ! R4      p\        P                  ! R\        P                  ! VR4      WV4       V	# )Fr   z
Has headerTr  r  r   r9   r
  r  r   r  z
 not foundr"  rQ  )r   r   r   r  r  r0  r1  r   r  r   
has_headerr  r   r*  r3  r2  )rz   r  r   r  r5  r6  r  r   r  r  r  r  r7  s   &&&          r5   _has_header_implCompilerHolder._has_header_implW  s   &<V__^c&d#GHH\499UD#9;MtyyY`Oacmn&&t';';VD
001GH	mm..uX6F:D / Y.4TYYz*"
C&$--*L*L*N)OxX]W``j'kll

5!AAtyy5szJ
r4   zcompiler.has_headerr  c               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   m  s!     6 6l 6J 64 6r4   c                	4    V P                  V^ ,          V4      # r   )r  r   s   &&&r5   has_header_method CompilerHolder.has_header_methodj  s     $$T!Wf55r4   zcompiler.has_header_symbolhas_header_symbolc               $    V ^8  d   QhRRRRRR/# )rn   r;   rK  r   r  r   r?   r,   )rs   s   "r5   rt   r   s  s#      -> 
 W[ r4   c           
     	z   Vw  r4\        W P                  R R7      w  rVpV'       d]   \        P                  ! R\        P                  ! VR4      R\        P                  ! VR4      R\        P                  ! V4      R4       R # \
        P                  ! V P                  V4      pV P                  VR,          4      w  rV P                  P                  W4VR,          VV	R	7      w  rV'       d4   V'       g,   \        V P                  P                  4        R
V RV 24      hV'       d   \        P                  ! R4      pM\        P                  ! R4      pV'       d   \        P                  ! R4      MRp\        P                  ! R\        P                  ! VR4      R\        P                  ! VR4      WV4       V# )Fr   HeaderTz
has symbolr  r  r   r9   r
  z symbol z not found in header r"  rQ  r  r   )r   r   r   r  r  r0  r1  r   r  r   r  r   r*  r3  r2  r  )rz   r;   r   r  symbolr  r5  r6  r  r   r  r  r  r7  r  s   &&&            r5   has_header_symbol_method'CompilerHolder.has_header_symbol_methodp  sh    &<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5eVHEUAKCG 6 I C&$--*L*L*N)OxX^W__tuzt{'|}}

5!AA.4TYYz*"
499UD1<6SWAXZ]blm
r4   c                    V ^8  d   QhRRRR/# )rn   libnamer8   r   'dependencies.ExternalLibrary'r,   )rs   s   "r5   rt   r     s       0N r4   c                	x    \         P                  ! VR V P                  V P                  P                  RR7      pV# )NT)silent)r   r   r   r   r)  )rz   r  libs   && r5   notfound_libraryCompilerHolder.notfound_library  s6    **7D+/+;+;+/==+A+A268 
r4   zcompiler.find_libraryr5  Tr   rX   r   )r   r   r   rY   z0.51.0)r   rW   z0.49.0r   dirsr   c              #  	^   "   T F#  qP                  R VP                   2R7      x  K%  	  R# 5i)header_)rD   N)evolverD   ).0ks   & r5   	<genexpr>CompilerHolder.<genexpr>  s'     	A[(('!&&*(
+
+[s   +-find_libraryc               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   z'FindLibraryKW'r   r  r,   )rs   s   "r5   rt   r     s"     / / /o /Rp /r4   c                	D   V^ ,          p\        W P                  4      w  rEpV'       dT   \        P                  ! R\        P                  ! V4      R\        P                  ! V4      R4       V P                  V4      # V P                  P                  VRRR7      pRVRVR	,          R
VR,          RVRVR,          RVR,          /pVR,           F-  p	V P                  W4      '       d   K  V P                  V4      u # 	  \        V4      p
V P                  P                  P                  P                  \        R4      4      pVR,          RJ d   \        P                   P"                  pMeVR,          RJ d   \        P                   P$                  pM=V'       d   \        P                   P&                  pM\        P                   P(                  pV P*                  P-                  W:V4      pV'       dx   V'       gp   V\        P                   P(                  8X  d   RpMVP.                  P1                  4       p\3        RP5                  V P*                  P7                  4       W4      4      h\8        P:                  ! W=V P                  V P*                  P<                  4      pV# )r   Libraryr  r  r]   r   )keyr   r5  r;   rZ   r   r[   rA   r9   r_   r@   r^   rX   prefer_staticrY   TFzshared or staticz{} {} library {!r} not found)r   r   r   r  r  r  rq   r   r  r   r   r  optstoreget_value_forr   r   LibTypeSTATICSHAREDPREFER_STATICPREFER_SHAREDr   r  rD   lowerr   rs   r*  r   r   r)  )rz   r;   r   r  r  r5  r6  rA   has_header_kwargsr7  search_dirsr  libtypelinkargs	libtype_sr  s   &&&             r5   find_library_method"CompilerHolder.find_library_method  s.    q'&<V__&U#GHHY		' 24F		RYHZ\fg((11"..>>vKgw>  A
 F=)F#89!#6f_-v&>?)
 &&A((>>,,W55 ' *&1((11::HHSbIcd(t#&&--GH&&&--G&&44G&&44G==--gGLH(**888.	#LL..0	&'E(.t}}/Q/Q/S/8)CD D **7d>N>N+/==+A+AC
r4   Nc               (    V ^8  d   QhRRRRRRRR/# )	rn   	argumentszT.Union[str, T.List[str]]r   rg   r   T.Optional['ExtractRequired']r   r?   r,   )rs   s   "r5   rt   r     s,      ,E !*#@LPr4   c                ~   \        V\        4      '       d   V.pRV P                  P                  4       RP	                  V\
        P                  J d   RMR4      RP	                  RP                  V4      4      .pT;'       g    RR/p\        W0P                  RR	7      w  rVpV'       d7   VR
\        P                  ! V4      R.,          p\        P                  ! V!   R# V\
        P                  J d   V P                  P                  MV P                  P                  pV! V4      w  rV'       d   V	'       g   VR.,          p\        V!  hTV	'       d   \        P                   ! R4      M\        P"                  ! R4      V
'       d   \        P$                  ! R4      MR.,          p\        P                  ! V!   V	# )zIShared implementation for methods checking compiler and linker arguments.zCompiler forz
supports{}z linkr   zarguments {}: r5  Fr   r  r  
not usabler"  rQ  r  )r   r8   r   r*  rs   rg   rj   r   r   r   r   r  r  has_multi_link_argumentshas_multi_argumentsr   r3  r2  r  )rz   r  r   r   logargsr  r5  r6  testr  r  s   &&&&       r5   _has_argument_impl!CompilerHolder._has_argument_impl  sY   
 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F~%G&00!'DJJuTXXd^%+DIIj!
 	
 	'r4   zcompiler.has_argumenthas_argumentc               $    V ^8  d   QhRRRRRR/# rn   r;   r  r   'HasArgumentKW'r   r?   r,   )rs   s   "r5   rt   r     s'     A A Ao ARV Ar4   c                	8    V P                  V^ ,          .VR7      # r   )r   r  r   s   &&&r5   has_argument_method"CompilerHolder.has_argument_method  s      &&Qy&@@r4   zcompiler.has_multi_arguments)rY  z0.37.0r  c               $    V ^8  d   QhRRRRRR/# rn   r;   T.Tuple[T.List[str]]r   r  r   r?   r,   )rs   s   "r5   rt   r     s#     ? ?/C ?_ ?ae ?r4   c                	6    V P                  V^ ,          VR7      # r  r  r   s   &&&r5   has_multi_arguments_method)CompilerHolder.has_multi_arguments_method  s    
 &&tAwv&>>r4   z compiler.get_supported_argumentsz0.43.0r+   offz0.59.0)r   r   	validatorget_supported_argumentsc               $    V ^8  d   QhRRRRRR/# )rn   r;   r  r   z'GetSupportedArgumentKw'r   r:   r,   )rs   s   "r5   rt   r      s$      3G Qi ny r4   c                	L   . pVR ,          pV^ ,           F  pV P                  V.4      '       g`   RV P                  P                  4        RV R2pVR8X  d   \        P                  ! V4       K[  VR8X  d   \
        P                  ! V4      hKz  VP                  V4       K  	  V# )r+   Compiler for z does not support "r]  warnrequire)r  r   r*  r   r  r   MesonExceptionr   )rz   r;   r   supported_argsr+   argr  s   &&&    r5   get_supported_arguments_method-CompilerHolder.get_supported_arguments_method  s     ')#77C**C511%dmm&H&H&J%KK^_b^ccdef$LL%	)"11#66 * %%c*  r4   z!compiler.first_supported_argumentfirst_supported_argumentc               $    V ^8  d   QhRRRRRR/# rn   r;   r  r   r   r   r:   r,   )rs   s   "r5   rt   r     s$      4H R_ do r4   c                	   V^ ,           FK  pV P                  V.4      '       g   K  \        P                  ! R\        P                  ! V4      4       V.u # 	  \        P                  ! R\        P                  ! R4      4       . # )r   zFirst supported argument:None)r  r   r  r  r2  rz   r;   r   r  s   &&& r5   first_supported_argument_method.CompilerHolder.first_supported_argument_method  sd     77C&&u--4diinEu  	,dhhv.>?	r4   zcompiler.has_link_argumentz0.46.0has_link_argumentc               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r     s'     X X\ X? XW[ Xr4   c                	V    V P                  V^ ,          .\        P                  VR7      # r   )r   r   r  rg   rj   r   s   &&&r5   has_link_argument_method'CompilerHolder.has_link_argument_method  s)    
 &&Qyy7G7GPV&WWr4   z compiler.has_multi_link_argumentr  c               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   %  s)     V V4H VRa Vfj Vr4   c                	T    V P                  V^ ,          \        P                  VR7      # r  r  r   s   &&&r5   has_multi_link_arguments_method.CompilerHolder.has_multi_link_arguments_method!  s&    
 &&tAwY5E5Ef&UUr4   z%compiler.get_supported_link_argumentsget_supported_link_argumentsc               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   ,  s$      8L Vc hs r4   c                	    . pV^ ,           F>  pV P                  V.\        P                  R7      '       g   K-  VP                  V4       K@  	  V# )r   r   )r  rg   rj   r   )rz   r;   r   r  r  s   &&&  r5   #get_supported_link_arguments_method2CompilerHolder.get_supported_link_arguments_method(  sM    
 ')77C&&u93C3C&DD%%c*  r4   z&compiler.first_supported_link_argumentfirst_supported_link_argumentc               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   7  s$      9M Wd it r4   c                	,   V^ ,           F[  pV P                  V.\        P                  R7      '       g   K-  \        P                  ! R\        P
                  ! V4      4       V.u # 	  \        P                  ! R\        P                  ! R4      4       . # )r   r!  zFirst supported link argument:r  )r  rg   rj   r   r  r  r2  r  s   &&& r5   $first_supported_link_argument_method3CompilerHolder.first_supported_link_argument_method3  so    
 77C&&u93C3C&DD9499S>Ju  	1488F3CD	r4   c               $    V ^8  d   QhRRRRRR/# )rn   attrr8   r   r  r   r?   r,   )rs   s   "r5   rt   r   ?  s#       >[ gk r4   c                t   RV P                   P                  4        RV R2.pT;'       g    RR/p\        W P                  RR7      w  rEpV'       d7   VR\        P
                  ! V4      R.,          p\        P                  ! V!   R# V P                   P                  V4      w  rxV'       d   V'       g   VR	.,          p\        V!  hTV'       d   \        P                  ! R
4      M\        P                  ! R4      V'       d   \        P                  ! R4      MR.,          p\        P                  ! V!   V# )z-Common helper for function attribute testing.r  z supports function attribute :r5  Fr   r  r  r  r"  rQ  r  r   )r   r*  r   r   r   r  r  has_func_attributer   r3  r2  r  )	rz   r*  r   r  r  r5  r6  rU  r  s	   &&&      r5   _has_function_attribute_impl+CompilerHolder._has_function_attribute_impl?  s    DMM>>@AA^_c^ddef$
 ..J.&<V__^c&d#G*DIIg,>
KKGHHgmm66t<C~%G&00!$DJJu$((4.%+DIIj!
 	
 	'
r4   zcompiler.has_function_attributez0.48.0has_function_attributec               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   Y  s'     B Bl BO BX\ Br4   c                	4    V P                  V^ ,          V4      # r  r.  r   s   &&&r5   has_func_attribute_method(CompilerHolder.has_func_attribute_methodU  s    
 00a&AAr4   z*compiler.get_supported_function_attributes!get_supported_function_attributesc               $    V ^8  d   QhRRRRRR/# r  r,   )rs   s   "r5   rt   r   `  s)     L L=Q L[h Lmx Lr4   c                	n    V^ ,           Uu. uF  q0P                  V4      '       g   K  VNK  	  up# u upi r  r3  )rz   r;   r   as   &&& r5   (get_supported_function_attributes_method7CompilerHolder.get_supported_function_attributes_method\  s-    
  7K7a&G&G&J7KKKs   22zcompiler.get_argument_syntaxget_argument_syntaxc               $    V ^8  d   QhRRRRRR/# r   r,   )rs   s   "r5   rt   r   g  s#     3 3/A 3= 3]` 3r4   c                	6    V P                   P                  4       # rw   )r   r<  r   s   &&&r5   get_argument_syntax_method)CompilerHolder.get_argument_syntax_methodc  s    
 }}0022r4   zcompiler.preprocessz0.64.0z1.3.2rd   z-compile_args were ignored before this version)extra_messagerc   z@PLAINNAME@.i1.1.0z1.4.0
preprocessc               $    V ^8  d   QhRRRRRR/# )rn   r;   z(T.Tuple[T.List['mesonlib.FileOrString']]r   z'PreprocessKW'r   zT.List[build.CustomTargetIndex]r,   )rs   s   "r5   rt   r   v  s-     _ _&N _Xf _  lK _r4   c                	   V P                   P                  4       pV P                  P                  V^ ,          4      p\        P
                  ! RV4      p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d/   \        P                  ! RRV P                  V P                  R7       \        V P                  V P                  P                  ,          4      pV^ 8  d/   \        P                  ! RRV P                  V P                  R7       R	V 2p\        P                  ! VV P                  P                  V P                  V P                   VVR
,          VV P                  P"                  VR,          V P                  P%                  VRR7      VR,          VR,          4      pV P                  P'                  VP(                  V4       \*        P,                  P/                  V P                  P"                  P1                  V4      V P                  P                  4      p	VP2                   U
u. uF7  p
\        P4                  ! V\*        P,                  P7                  W4      4      NK9  	  up
# u up
i )r   zT.List[SourceOutputs]c              3     "   T F>  p\        V\        P                  \        P                  \        P                  34      x  K@  	  R # 5irw   )r   r   CustomTargetCustomTargetIndexGeneratedList)r  ss   & r5   r  3CompilerHolder.preprocess_method.<locals>.<genexpr>z  s6     rjqefz!e00%2I2I5K^K^_``jqs   AATFz*compiler.preprocess with generated sourcesrB  r   z'compiler.preprocess used multiple timespreprocessor_rc   rd   r   r   r   re   )r   get_preprocessorrq   source_strings_to_filesTcastanyr   r   r   r   nextr   subdirr   CompileTargetr   backendr   
add_targetrD   ospathrelpathget_target_private_diroutputsrH  r   )rz   r;   r   r   _sourcessources
tg_countertg_nametgprivate_diros   &&&        r5   preprocess_method CompilerHolder.preprocess_methodj  s    ==113*.*:*:*R*RSWXYSZ*[&&0(;3rjqr333rjqrrr!!"NPWY]YhYh+/+<+<> $--d.>.>.E.EFG
>!!"KWVZVeVe+/+<+<>!*.  ##OO8$$>",,V8,L>"9 	##BGGR0 ggood&6&6&>&>&U&UVX&Y[_[k[k[r[rsSUS]S]^S]a''BGGLL,HIS]^^^s   =J)r   )Fr,  >   r  r  r  rw   )^r.   r/   r0   r1   collectionsdefaultdict	itertoolscountr   r2   ry   propertyr   r   r   r   r   r   r   r   r   r   r   r  r   r8   r   r   r   r   r  r   r+  r   r8  r=  r   rB  rG  _HAS_REQUIRED_KWr   rW  ra  rh  rm  r   r   r   rs  r{  r  r  r  r  r   r  r  r  r  r  r   r?   r   UserFeatureOptionr   r   r  rg   ri   r  r  r  r   r	  r  r  r  r"  r'  r.  r4  r:  r?  r   r   rG  rH  rI  r   r  r   rc  r3   r   r   s   @r5   r   r      s   3>3J3J9??3[N0[$ $    3. i(% )  % k*% +  % 2B1F1F = (#.	 k*	 + /	 NS(--$89.1=1e$ % 2 :B h'& (  & ((3o.- / 4  - >?> @  > )34')9HKHl+ , I 5* *C!L(*:I[Im, - J M. +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 /d .7-?-?CG> +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_r4   r   r    )]__conditional_annotations__
__future__r   re  enumr0  rW  rg  typingrO  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   r   TYPE_CHECKINGrq   r   r    r!   r"   r   r#   r$   r%   r&   typing_extensionsr'   r(   r*   r7   r>   rC   rG   rI   rN   rR   rT   rV   rb   Enumrg   rl   r   r8   r   r2   
Dependencyr   BuildTargetrG  rH  r   r   r?   _NO_BUILTIN_ARGS_KW_NAME_KW
_WERROR_KWr   r  r   r   rj  r   )rl  s   @r5   <module>r}     s   # "    	        1 2H H H d c  M W W???)$7:*&43 36i 6	 
M? 6= 6
x 8_ /  B): B0y 0		 'k2 ': $-
dC 	$
   BKdL334	B >  :CdU..0B0BED[D[\]	:6  '
D#
&'BD
N D   14G VS"-xuGD
 #+,<>QS]_r!s s %-h8HJ]_r$.$/$6$6We$T$V  V #."4"48U"S!bVa!b b%%GUC `_\*- `_r4   