+
    UBi)                       ^ RI Ht ^ RIt^ RIt^RIHtHt ^RIH	t	 ^RIH
t
 ^RIHtHt ^RIHtHtHt ^RIHt ]P&                  '       d'   ^R	IHt ^R
IHt ^RIHtHt ^RIHt ^RIHt ^RIHt  ! R R4      t ! R R]4      t  ! R R] 4      t!]PD                   ! R R4      4       t# ! R R] 4      t$ ! R R]$4      t% ! R R]$4      t&R R lt' ! R R 4      t( ! R! R"]PR                  4      t* ! R# R$]PR                  4      t+ ! R% R&]PR                  4      t, ! R' R(]PR                  4      t- ! R) R*]PR                  4      t.R# )+    )annotationsN)buildmesonlib)	OptionKey)IncludeDirs)noKwargs	noPosargs)relpathHoldableObjectMachineChoice)ExternalProgram)Interpreter)ProgramVersionFunc)TYPE_varTYPE_kwargs)OverrideProgram)
Dependency)ElementaryOptionValuesc                      ] tR t^tRtR R ltRR R lltRRRR	]P                  3R
 R llt	RR R llt
RR R lltRR R lltR]P                  3R R lltR]P                  R3R R lltR R ltR R ltRtR# )ModuleStatezObject passed to all module methods.

This is a WIP API provided to modules, it should be extended to have everything
needed so modules does not touch any other part of Meson internal APIs.
c                    V ^8  d   QhRRRR/#    interpreterz'Interpreter'returnNone )formats   "@/usr/lib/python3.14/site-packages/mesonbuild/modules/__init__.py__annotate__ModuleState.__annotate__    s     5 5M 5d 5    c                	   Wn         VP                  P                  4       V n        \	        VP                  P                  4       VP                  P                  4       4      V n        VP                  V n        VP                  V n        VP                  V n	        VP                  P                  V n        VP                  V n        VP                  V n        VP                  V n        VP                   V n        VP"                  P$                  V n        VP"                  P&                  V n        VP"                  P)                  4       V n        VP"                  P-                  4       V n        VP"                  P0                  P2                  V n        VP"                  P4                  P2                  P7                  VP                  / 4      V n        VP                  V n
        R # N)_interpreterenvironmentget_source_dirsource_rootr
   get_build_dirbuild_to_src
subprojectsubdirroot_subdircurrent_nodelinenocurrent_linenoactive_projectnameproject_nameproject_versionbackendr   targetsdataget_headersheadersget_manmanglobal_argshostprojects_argsgetproject_args)selfr   s   &&r   __init__ModuleState.__init__    sm   '&22AAC#K$;$;$J$J$L$/$;$;$I$I$KM%00!((&22)66==&22'::*:: #**"((00%%**	"((446$$,,.&,,88=='--;;@@DD[E[E[]_`'44r"   c               $    V ^8  d   QhRRRRRR/# )r   include_dirsz+T.Iterable[T.Union[str, build.IncludeDirs]]prefixstrr   T.List[str]r   )r   s   "r   r    r!   9   s$      -X be q| r"   c                	   V'       g   . # V P                   P                  4       pV P                   P                  4       p. pV F  p\        V\        4      '       d   WR V 2.,          pK(  TP                  VP                  W44       Uu. uF  qr V 2NK
  	  up4       TP                  VP                  4        Uu. uF  qr V 2NK
  	  up4       K  	  V# u upi u upi r$   )r&   r'   r)   
isinstancerF   extendto_string_listget_extra_build_dirs)r@   rD   rE   srcdirbuilddirdirs_strdirsis   &&&     r   get_include_argsModuleState.get_include_args9   s    I!!002##113 " D$$$xv.//9L9LV9^ _9^A8A39^ _`9R9R9T U9TA8A39T UV !  !` Us   	C
;C
TN Fc               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r   progz=T.Union[mesonlib.FileOrString, T.List[mesonlib.FileOrString]]requiredboolversion_funczT.Optional[ProgramVersionFunc]wantedzT.Union[str, T.List[str]]silentfor_machiner   r   zCT.Union[ExternalProgram, build.OverrideExecutable, OverrideProgram]r   )r   s   "r   r    r!   J   sY     j j!^ j#j#Aj 7j FJj #0	j JM	jr"   c           	     	r    \        V\        4      '       g   V.pV P                  P                  WVWEVR 7      # ))rW   rY   rZ   r[   r\   )rI   listr%   find_program_impl)r@   rV   rW   rY   rZ   r[   r\   s   &&&&&&&r   find_programModuleState.find_programJ   sC    
 $%%6D  224Ye:@]h 3 j 	jr"   c               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r   namerF   depnamevarnamerW   rX   rZ   T.Optional[str]r   zET.Union[build.OverrideExecutable, ExternalProgram, 'OverrideProgram']r   )r   s   "r   r    r!   T   s@     I Ic IC I# I I)I5zIr"   c           	     	8   V P                   P                  V.. 4      pVe   V# V P                  P                  \        P
                  V4      pVe   \        P                  ! W4      # V P                  VRRVR7      pVP                  4       '       dw   VP                  R8X  df   VP                  VR7      p	V	'       dL   \        V	4      pVP                  4       '       g)   RV: RV: RV	: R	V R
2	p
\        P                  ! V
4      hV# V P                  WVR7      # )NTF)nativerW   rZ   	pkgconfig)ri   zDependency z tool variable z contains erroneous value: z:

This is a distributor issue -- please report it to your z
 provider.)rW   rZ   )r%   program_from_overridesr&   lookup_binary_entryr   HOSTr   
from_entry
dependencyfound	type_nameget_variabler   MesonExceptionr`   )r@   rc   rd   re   rW   rZ   progobj	prog_listdepvaluemsgs   &&&&&&     r   	find_toolModuleState.find_toolT   s    ##::D62FN $$889K9KTR	 "--d>> oogdU6oR99;;3==K7$$w$7E)%0}}(?7+Mhinhq rVV]U^^hjC"11#66    HHr"   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   rd   rF   rh   rX   rW   rZ   rf   r   z'Dependency'r   )r   s   "r   r    r!   o   s8     W W# Wt Wt W*W6BWr"   c                	v    R VRV/pV'       d   WER&   V P                   P                  V P                  V.V4      # )rh   rW   version)r%   func_dependencyr.   )r@   rd   rh   rW   rZ   kwargss   &&&&& r   rn   ModuleState.dependencyo   s@    '/X&N &9   001B1BWIvVVr"   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   argszTT.Tuple[str, T.Union[build.Executable, build.Jar, 'ExternalProgram', mesonlib.File]]workdirrf   envz+T.Union[T.List[str], T.Dict[str, str], str]dependsz6T.List[T.Union[build.CustomTarget, build.BuildTarget]]r   r   r   )r   s   "r   r    r!   y   sB     J Jm J%J=J MJ Y]Jr"   c                	x    R VRVRV/p\        V4      pV P                  P                  V P                  We4       R# )r   r   r   N)r^   r%   	func_testr.   )r@   r   r   r   r   r~   	real_argss   &&&&&  r   testModuleState.testy   sA     WW J	##D$5$5yIr"   c               (    V ^8  d   QhRRRRRRRR/# )r   rc   rF   r+   machiner   r   r   r   )r   s   "r   r    r!      s0     f fs f f)fCYfr"   c                	t    V P                   P                  P                  P                  \	        WV4      4      # r$   )r&   coredataoptstoreget_value_forr   )r@   rc   r+   r   s   &&&&r   
get_optionModuleState.get_option   s-    ((11??	$\c@deer"   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   rc   rF   r+   r   r   langrf   r   rX   r   )r   s   "r   r    r!      s9     N N3 NC N(5N%4N@DNr"   c                	^    \        WV4      pWPP                  P                  P                  9   # r$   )r   r%   user_defined_optionscmd_line_options)r@   rc   r+   r   r   keys   &&&&& r   is_user_defined_option"ModuleState.is_user_defined_option   s+     '2''<<MMMMr"   c                    V ^8  d   QhRRRR/# )r   rP   z%T.Iterable[T.Union[str, IncludeDirs]]r   zT.Iterable[IncludeDirs]r   )r   s   "r   r    r!      s      A A)N ASj Ar"   c              #     "   V F=  p\        V\        4      '       d   Vx  K  V P                  P                  V.4      x  K?  	  R# 5i)zConvert raw include directory arguments to only IncludeDirs

:param dirs: An iterable of strings and IncludeDirs
:return: None
:yield: IncludeDirs objects
N)rI   r   r%   build_incdir_object)r@   rP   ds   && r   process_include_dirs ModuleState.process_include_dirs   s<      A![))'';;QC@@	 s   AAc               $    V ^8  d   QhRRRRRR/# )r   r   rF   r\   r   r   r   r   )r   s   "r   r    r!      s&     C C C= CT Cr"   c                	B    V P                   P                  V.R V4       R# TN)r%   add_languages)r@   r   r\   s   &&&r   add_languageModuleState.add_language   s    ''kBr"   )r%   r4   r*   r0   r.   r6   r&   r;   r8   r:   r?   r2   r3   r-   r(   r,   r+   r5   )z-Ir   )FTN)NNN)__name__
__module____qualname____firstlineno____doc__rA   rR   r   rl   r`   rx   rn   r   r   r   r   r   __static_attributes__r   r"   r   r   r      s~    52$ '+DH9;E2?2D2D	jI6WJ 79,9,>,>f CE8E8J8J7;NAC Cr"   r   c                  &    ] tR t^tRtR R ltRtR# )ModuleObjectz3Base class for all objects returned by modules
    c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r    ModuleObject.__annotate__   s      $ r"   c                	    / V n         R # r$   methods)r@   s   &r   rA   ModuleObject.__init__   s      	r"   r   N)r   r   r   r   r   rA   r   r   r"   r   r   r      s     r"   r   c                      ] tR t^tRtR# )MutableModuleObjectr   Nr   r   r   r   r   r   r"   r   r   r          r"   r   c                  ^    ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R# )
ModuleInfozMetadata about a Module.rF   rc   Nrf   added
deprecatedFrX   unstable
stabilizedr   )r   r   r   r   r   __annotations__r   r   r   r   r   r   r"   r   r   r      s4     #
I!E?!"&J&Hd"&J&r"   r   c                     a  ] tR t^t$ RtR]R&   R V 3R llt]]R R l4       4       t	]
R R	 l4       tR
 R ltRtV ;t# )NewExtensionModule5Class for modern modules

provides the found method.
r   INFOc                   V ^8  d   QhRR/# r   r   )r   s   "r   r    NewExtensionModule.__annotate__   s      $ r"   c                	r   < \         SV `  4        V P                  P                  R V P                  /4       R# )ro   N)superrA   r   updatefound_method)r@   	__class__s   &r   rA   NewExtensionModule.__init__   s0    T&&
 	r"   c               (    V ^8  d   QhRRRRRRRR/# )	r   statez'ModuleState'r   zT.List['TYPE_var']r~   z'TYPE_kwargs'r   rX   r   )r   s   "r   r    r      s+      - 7I S` ei r"   c                	"    V P                  4       # r$   )ro   )r@   r   r   r~   s   &&&&r   r   NewExtensionModule.found_method   s     zz|r"   c                   V ^8  d   QhRR/# r   r   rX   r   )r   s   "r   r    r      s      4 r"   c                 	    R # )Tr   r   r"   r   ro   NewExtensionModule.found   s    r"   c                    V ^8  d   QhRRRR/# )r   bzbuild.Buildr   r   r   )r   s   "r   r    r      s      { t r"   c                	    R # r$   r   )r@   r   s   &&r   postconf_hook NewExtensionModule.postconf_hook   s    r"   r   )r   r   r   r   r   r   rA   r	   r   r   staticmethodro   r   r   __classcell__r   s   @r   r   r      sT    
        r"   r   c                  .   a  ] tR t^tR V 3R lltRtV ;t# )ExtensionModulec                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r    ExtensionModule.__annotate__   s     ' 'M 'd 'r"   c                	0   < \         SV `  4        Wn        R # r$   )r   rA   r   )r@   r   r   s   &&r   rA   ExtensionModule.__init__   s    &r"   )r   )r   r   r   r   rA   r   r   r   s   @r   r   r      s    ' 'r"   r   c                  H   a  ] tR t^tRtR V 3R llt]R R l4       tRtV ;t	# )NotFoundExtensionModuler   c                    V ^8  d   QhRRRR/# )r   rc   rF   r   r   r   )r   s   "r   r    $NotFoundExtensionModule.__annotate__   s     % %S %T %r"   c                	D   < \         SV `  4        \        V4      V n        R # r$   )r   rA   r   r   )r@   rc   r   s   &&r   rA    NotFoundExtensionModule.__init__   s    t$	r"   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r    r      s      4 r"   c                 	    R # )Fr   r   r"   r   ro   NotFoundExtensionModule.found   s    r"   )r   )
r   r   r   r   r   rA   r   ro   r   r   r   s   @r   r   r      s&    
% %  r"   r   c                    V ^8  d   QhRRRR/# )r   fnamezmesonlib.FileOrStringr   rX   r   )r   s   "r   r    r       s     ( (2 (t (r"   c                <    V P                  R4      R,          pVR9   # )zt
Check if the file is a library-like file generated by a module-specific
target, such as GirTarget or TypelibTarget
.>   girtypelib)split)r   suffixs   & r   is_module_libraryr      s#    
 [[b!F'''r"   c                  "    ] tR t^tR R ltRtR# )ModuleReturnValuec               $    V ^8  d   QhRRRRRR/# )r   return_valuezT.Optional['TYPE_var']new_objectszCT.Sequence[T.Union['TYPE_var', 'mesonlib.ExecutableSerialisation']]r   r   r   )r   s   "r   r    ModuleReturnValue.__annotate__   s)     h h%; hahfjhr"   c                	N    Wn         \        V\        4      '       g   Q hW n        R # r$   )r   rI   r^   r   )r@   r   r   s   &&&r   rA   ModuleReturnValue.__init__   s!    (+t,,,,\gr"   )r   r   N)r   r   r   r   rA   r   r   r"   r   r   r      s    h hr"   r   c                  &    ] tR t^t$ . tR]R&   RtR# )GResourceTargetrG   source_dirsr   N)r   r   r   r   r   r   r   r   r"   r   r   r      s    !K!r"   r   c                      ] tR tRtRtR# )GResourceHeaderTargeti  r   Nr   r   r"   r   r  r    r   r"   r  c                      ] tR tRtRtR# )	GirTargeti  r   Nr   r   r"   r   r  r    r   r"   r  c                      ] tR tRtRtR# )TypelibTargeti  r   Nr   r   r"   r   r  r    r   r"   r  c                      ] tR tRtRtR# )
VapiTargeti
  r   Nr   r   r"   r   r  r  
  r   r"   r  )/
__future__r   dataclassestypingTrT   r   r   optionsr   r   interpreterbase.decoratorsr   r	   r
   r   r   programsr   TYPE_CHECKINGr   r   interpreter.interpreterr   interpreterbaser   r   r   dependenciesr   r   r   r   r   	dataclassr   r   r   r   r   r   CustomTargetr   r  r  r  r  r   r"   r   <module>r     s   #      < = = &???)<7*)0FC FCP> 	, 	 ' ' ' <'( '
0  (h h"e(( "	E.. 		"" 		E&& 		## 	r"   