+
    UBi7                    B   ^ RI Ht  ^ RIt^ RIHtHtHtHt ^RI	H
t
 ^RI	Ht ^RIHt ^RIHtHtHt ^RIHtHtHtHtHt ^R	IHt ^R
IHt ^RIHt ^RIHtHt ]P@                  ]!]]
PD                  ]3,          t#]Rm,          t$ ! R R]4      t% ! R R]4      t& ! R R]&4      t' ! R R]'4      t( ! R R]4      t) ! R R]4      t* ! R R]4      t+ ! R R]4      t, ! R R]4      t- ! R R ]4      t. ! R! R"]4      t/ ! R# R$]4      t0 ! R% R&]4      t1 ! R' R(]4      t2 ! R) R*])4      t3 ! R+ R,]4      t4 ! R- R.])4      t5 ! R/ R0]4      t6 ! R1 R2]4      t7 ! R3 R4]4      t8 ! R5 R6]4      t9 ! R7 R8]4      t: ! R9 R:]4      t; ! R; R<]4      t< ! R= R>])]*4      t= ! R? R@]4      t> ! RA RB]4      t? ! RC RD]4      t@ ! RE RF]4      tA ! RG RH]4      tB ! RI RJ]4      tC ! RK RL]4      tD ! RM RN])4      tE ! RO RP])4      tF ! RQ RR]4      tG ! RS RT]G4      tH ! RU RV]4      tI ! RW RX]H4      tJ ! RY RZ]4      tK ! R[ R\]H]K]I4      tL ! R] R^]4      tM ! R_ R`]H]M]I4      tN ! Ra Rb]H]I4      tO ! Rc Rd]H]M]K]I4      tP ! Re Rf]P4      tQ ! Rg Rh]G4      tR ! Ri Rj]4      tS ! Rk Rl])4      tTR# )n    )annotationsN)	TypedDictLiteralProtocolNotRequired)build)options)Compiler)
DependencyDependencyMethodsIncludeType)EnvironmentVariablesMachineChoiceFileFileModeFileOrString)	OptionKey)CMakeSubprojectOptions)ExternalProgram)PkgConfigDefineTypeSourcesVarargsTypec                  0    ] tR t^t$ RtR]R&   R]R&   RtR# )FuncAddProjectArgszKeyword Arguments for the add_*_arguments family of arguments.

including `add_global_arguments`, `add_project_arguments`, and their
link variants

Because of the use of a convertor function, we get the native keyword as
a MachineChoice instance already.
r   nativeT.List[str]language N__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       B/usr/lib/python3.14/site-packages/mesonbuild/interpreter/kwargs.pyr   r      s     r&   r   c                  b    ] tR t^(t$ RtR]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   R]R&   RtR# )BaseTestz Shared base for the Rust module.boolshould_failinttimeoutT.Optional[str]workdirz6T.List[T.Union[build.CustomTarget, build.BuildTarget]]dependspriorityr   envr   suiter   Nr   r   r&   r'   r)   r)   (   s-    *LCCM	r&   r)   c                  0    ] tR t^5t$ RtR]R&   R]R&   RtR# )FuncBenchmarkz8Keyword Arguments shared between `test` and `benchmark`.zT.List[TestArgs]argsz+Literal['exitcode', 'tap', 'gtest', 'rust']protocolr   Nr   r   r&   r'   r5   r5   5   s    B
99r&   r5   c                  &    ] tR t^=t$ RtR]R&   RtR# )FuncTestzzKeyword Arguments for `test`

`test` only adds the `is_parallel` argument over benchmark, so inheritance
is helpful here.
r*   is_parallelr   Nr   r   r&   r'   r9   r9   =   s     r&   r9   c                  &    ] tR t^Ht$ RtR]R&   RtR# )ExtractRequiredzKeyword Arguments consumed by the `extract_required_kwargs` function.

Any function that uses the `required` keyword argument which accepts either
a boolean or a feature option should inherit its arguments from this class.
z(T.Union[bool, options.UserFeatureOption]requiredr   Nr   r   r&   r'   r<   r<   H   s     76r&   r<   c                  &    ] tR t^St$ RtR]R&   RtR# )ExtractSearchDirszdKeyword arguments consumed by the `extract_search_dirs` function.

See the not in `ExtractRequired`
r   dirsr   Nr   r   r&   r'   r?   r?   S   s    
 r&   r?   c                  N    ] tR t^]t$ RtR]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )FuncGeneratorz,Keyword rguments for the generator function.r   	argumentsoutputr.   depfiler*   capture6T.List[T.Union[build.BuildTarget, build.CustomTarget]]r0   r   Nr   r   r&   r'   rB   rB   ]   s"    6NCCr&   rB   c                  :    ] tR t^ht$ RtR]R&   R]R&   R]R&   RtR	# )
GeneratorProcessz(Keyword Arguments for generator.process.r.   preserve_path_fromr   
extra_argsr   r2   r   Nr   r   r&   r'   rI   rI   h   s    2''	r&   rI   c                  N    ] tR t^pt$ RtR]R&   R]R&   R]R&   R]R&   R]R&   RtR	# )
!DependencyMethodPartialDependencyz9Keyword Arguments for the dep.partial_dependency methods r*   compile_args	link_argslinksincludessourcesr   Nr   r   r&   r'   rM   rM   p   s    DOKNMr&   rM   c                  "    ] tR t^zt$ R]R&   RtR# )!BuildTargeMethodExtractAllObjectsr*   	recursiver   Nr   r    r!   r"   r$   r%   r   r&   r'   rT   rT   z   s    Or&   rT   c                  T    ] tR t^}t$ R]R&   R]R&   R]R&   R]R&   R]R	&   R
]R&   RtR# )FuncInstallSubdirstrinstall_dirr*   strip_directoryr   exclude_filesexclude_directoriesr   install_modeT.Optional[bool]follow_symlinksr   NrV   r   r&   r'   rX   rX   }   s&    $$%%r&   rX   c                  J    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )FuncInstallDatarY   rZ   T.List[FileOrString]rR   r   renamer   r^   r_   r`   r   NrV   r   r&   r'   rb   rb      s     !!%%r&   rb   c                  @    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   RtR	# )
FuncInstallHeadersr.   rZ   r   r^   subdirr_   r`   r   NrV   r   r&   r'   rf   rf      s      %%r&   rf   c                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )FuncInstallManr.   rZ   r   r^   localer   NrV   r   r&   r'   ri   ri      s      r&   ri   c                  "    ] tR t^t$ R]R&   RtR# )FuncImportModuler*   disablerr   NrV   r   r&   r'   rl   rl      s    Nr&   rl   c                  "    ] tR t^t$ R]R&   RtR# )FuncIncludeDirectoriesr*   	is_systemr   NrV   r   r&   r'   ro   ro      s    Or&   ro   c                  "    ] tR t^t$ R]R&   RtR# )FuncAddLanguagesr_   r   r   NrV   r   r&   r'   rr   rr      s    r&   rr   c                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )		RunTargetzRT.List[T.Union[str, build.BuildTarget, build.CustomTarget, ExternalProgram, File]]commandrG   r0   r   r2   r   NrV   r   r&   r'   rt   rt      s    __CC	r&   rt   c                      ] tR t^t$ 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]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R tR!# )"CustomTargetr*   build_alwaysr_   build_always_stalebuild_by_defaultrY   build_subdirrF   zCT.List[T.Union[str, build.BuildTargetTypes, ExternalProgram, File]]ru   consolerc   depend_filesrG   r0   r.   rE   r   r2   feedlT.List[T.Union[str, build.BuildTarget, build.GeneratedTypes, build.ExtractedObjects, ExternalProgram, File]]inputinstallz&T.List[T.Union[str, T.Literal[False]]]rZ   r   r^   zT.List[T.Optional[str]]install_tagr   rD   r   NrV   r   r&   r'   rw   rw      sp    ((&&MPPM&&CC	
JJ JM77((r&   rw   c                  T    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R	&   R
]R&   RtR# )AddTestSetupz%T.List[T.Union[str, ExternalProgram]]exe_wrapperr*   gdbr,   timeout_multiplier
is_defaultr   exclude_suitesr   r2   r   NrV   r   r&   r'   r   r      s%    66	I	r&   r   c                  T    ] tR t^t$ R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )ProjectzT.Optional[FileOrString]versionr.   meson_versionr   default_optionslicenselicense_filesrY   subproject_dirr   NrV   r   r&   r'   r   r      s&    %%""  r&   r   c                  &    ] tR t^tRtR R ltRtR# )_FoundProtozjProtocol for subdir arguments.

This allows us to define any object that has a found(self) -> bool method
c                   V ^8  d   QhRR/# )   returnr*   r   )formats   "r'   __annotate___FoundProto.__annotate__   s      t r&   c                	    R # )Nr   )selfs   &r'   found_FoundProto.found   s    Sr&   r   N)r   r    r!   r"   r#   r   r%   r   r&   r'   r   r      s    
 ! r&   r   c                  "    ] tR t^t$ R]R&   RtR# )SubdirzT.List[_FoundProto]if_foundr   NrV   r   r&   r'   r   r          !!r&   r   c                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )	SummaryrY   sectionr*   bool_ynr.   list_sepr   NrV   r   r&   r'   r   r      s    LMr&   r   c                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )	FindProgram1T.Dict[OptionKey, options.ElementaryOptionValues]r   r   r   r   r   r   NrV   r   r&   r'   r   r      s    FFr&   r   c                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )	
RunCommandr*   checkr_   rF   r   r2   r   NrV   r   r&   r'   r   r      s    K	r&   r   c                  "    ] tR tRt$ R]R&   RtR# )FeatureOptionRequirei  r.   error_messager   NrV   r   r&   r'   r   r     s    ""r&   r   c                  ,    ] tR tRt$ R]R&   R]R&   RtR# )DependencyPkgConfigVari  r.   defaultr   define_variabler   NrV   r   r&   r'   r   r     s    ((r&   r   c                  ^    ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )DependencyGetVariablei  r.   cmake	pkgconfig
configtoolinternalsystemdefault_valuer   pkgconfig_definer   NrV   r   r&   r'   r   r     s,    ""))r&   r   c                  "    ] tR tRt$ R]R&   RtR# )ConfigurationDataSeti  r.   descriptionr   NrV   r   r&   r'   r   r     s      r&   r   c                  r    ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   R]R&   R]R&   R]R&   RtR# )VcsTagi  zAT.List[T.Union[str, build.GeneratedTypes, ExternalProgram, File]]ru   r.   fallbackr   r   r   rD   rY   replace_stringr*   r   r   rZ   r   r^   r   NrV   r   r&   r'   r   r     s=    NNJ JM    r&   r   c                      ] tR tRt$ 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]R&   R
]R&   R]R&   RtR# )ConfigureFilei)  rY   rD   r*   rF   z%T.Literal['meson', 'cmake', 'cmake@']r   zT.Literal['c', 'json', 'nasm']output_formatr.   rE   r_   r   zT.Union[str, T.Literal[False]]rZ   r   r^   r   encodingzST.Optional[T.List[T.Union[build.Executable, ExternalProgram, Compiler, File, str]]]ru   rc   r   zRT.Optional[T.Union[T.Dict[str, T.Union[str, int, bool]], build.ConfigurationData]]configuration
macro_namer{   r   NrV   r   r&   r'   r   r   )  sY    KM1111//  M``eer&   r   c                  ,    ] tR tRt$ R]R&   R]R&   RtR# )
Subprojecti<  r   r   r   r   r   NrV   r   r&   r'   r   r   <  s    FFr&   r   c                  @    ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R	tR
# )DoSubprojectiB  r   r   r   r   cmake_optionsz"T.Optional[CMakeSubprojectOptions]r	   r   NrV   r   r&   r'   r   r   B  s    FF//r&   r   c                      ] tR tRt$ Rt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]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R &   R]R!&   R"tR## )$_BaseBuildTargetiJ  zArguments used by all BuildTarget like functions.

This really exists because Jar is so different than all of the other
BuildTarget functions.
r*   rz   rY   build_rpathrc   extra_filesgnu_symbol_visibilityr   r   r^   install_rpathimplicit_include_directoriesz0T.List[T.Union[str, File, build.GeneratedTypes]]link_dependsr.   link_languagename_prefixname_suffixr   r   zT.List[build.ObjectTypes]objectsz+T.Dict[str, options.ElementaryOptionValues]override_optionszNotRequired[T.List[File]]r}   r   	resourcesvala_header	vala_vapivala_girr   Nr   r   r&   r'   r   r   J  s     %%M"&&BB""    &&AA++  r&   r   c                     ] tR tRt$ Rt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]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%&   R&tR'# )(_BuildTargetih  z%Arguments shared by non-JAR functionsT.List[T.Union[str, int]]d_debugz'T.List[T.Union[str, build.IncludeDirs]]d_import_dirsd_module_versionsr*   
d_unittestzWT.Optional[Literal['bin', 'lib', 'rlib', 'dylib', 'cdylib', 'staticlib', 'proc-macro']]rust_crate_typeT.Dict[str, str]rust_dependency_mapzLiteral['c', 'cpp']swift_interoperability_moderY   swift_module_namer   rR   r   c_pchcpp_pchc_argscpp_args	cuda_argsfortran_argsd_args	objc_argsobjcpp_args	rust_argszT.List[T.Union[str, File]]	vala_argscs_args
swift_argscython_args	nasm_args	masm_argsr   Nr   r   r&   r'   r   r   h  s    /&&::00ll))!44))r&   r   c                  "    ] tR tRt$ R]R&   RtR# )_LibraryMixini  zT.Optional[RustAbi]rust_abir   NrV   r   r&   r'   r   r     r   r&   r   c                  ^    ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   RtR# )
Executablei  r_   export_dynamicgui_appzT.Optional[T.Union[str, bool]]implibpieKT.Optional[T.Union[str, File, build.CustomTarget, build.CustomTargetIndex]]vs_module_defsr.   win_subsystemz0T.Optional[Literal['application', 'executable']]android_exe_typer   NrV   r   r&   r'   r   r     s,    $$**	__""FFr&   r   c                  ,    ] tR tRt$ R]R&   R]R&   RtR# )_StaticLibMixini  r*   prelinkr_   picr   NrV   r   r&   r'   r
  r
    s    M	r&   r
  c                      ] tR tRtRtR# )StaticLibraryi  r   Nr   r    r!   r"   r%   r   r&   r'   r  r        r&   r  c                  @    ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R	tR
# )_SharedLibMixini  zT.Optional[T.Tuple[str, str]]darwin_versionsr.   	soversionr   r  r  r   NrV   r   r&   r'   r  r    s    22__r&   r  c                      ] tR tRtRtR# )SharedLibraryi  r   Nr  r   r&   r'   r  r    r  r&   r  c                  "    ] tR tRt$ R]R&   RtR# )SharedModulei  r  r  r   NrV   r   r&   r'   r  r    s    __r&   r  c                  4   ] tR tRt$ Rt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]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&   R]R&   R]R&   R]R &   R!tR"# )#Libraryi  z9For library, both_library, and as a base for build_targetzNotRequired[T.List[str]]c_static_argsc_shared_argscpp_static_argscpp_shared_argscuda_static_argscuda_shared_argsfortran_static_argsfortran_shared_argsd_static_argsd_shared_argsobjc_static_argsobjc_shared_argsobjcpp_static_argsobjcpp_shared_argsrust_static_argsrust_shared_argsz'NotRequired[T.List[T.Union[str, File]]]vala_static_argsvala_shared_argscs_static_argscs_shared_argsswift_static_argsswift_shared_argscython_static_argscython_shared_argsnasm_static_argsnasm_shared_argsmasm_static_argsmasm_shared_argsr   Nr   r   r&   r'   r  r    s    C++++----....1111++++....0000....====,,,,////0000........r&   r  c                  "    ] tR tRt$ R]R&   RtR# )BuildTargeti  znLiteral['executable', 'shared_library', 'static_library', 'shared_module', 'both_libraries', 'library', 'jar']target_typer   NrV   r   r&   r'   r8  r8    s    N Nr&   r8  c                  @    ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R
tR# )Jari  rY   
main_classz#T.Optional[build.StructuredSources]java_resourceszST.Union[str, File, build.GeneratedTypes, build.ExtractedObjects, build.BuildTarget]rR   r   	java_argsr   NrV   r   r&   r'   r;  r;    s    O77``r&   r;  c                      ] tR tRt$ 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]R&   RtR# )FuncDeclareDependencyi  r   rN   z'T.List[T.Union[build.IncludeDirs, str]]r   r   r   zT.List[Dependency]dependenciesrc   r   include_directoriesrO   zQT.List[T.Union[build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex]]
link_wholezT.List[build.LibTypes]	link_withzT.List[build.ExtractedObjects]r   z3T.List[T.Union[FileOrString, build.GeneratedTypes]]rR   r   	variablesr.   r   r   NrV   r   r&   r'   r@  r@    sP    ::00$$%%@@aa%%++@@r&   r@  c                      ] tR tRt$ 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]R&   R]R&   R]R&   R]R&   R]R&   R]R&   RtR# ) FuncDependencyi  r_   allow_fallbackr   
cmake_argscmake_module_pathrY   cmake_package_version
componentsr   r   zT.Union[str, T.List[str], None]r   r   include_typer.   r   r*   mainr   methodmodulesr   r   not_found_messageoptional_modulesprivate_headersstaticr   r   NrV   r   r&   r'   rG  rG    sm    $$""FF--
J!!r&   rG  )rustc)U
__future__r   typingTtyping_extensionsr   r   r   r    r   r	   	compilersr
   dependencies.baser   r   r   mesonlibr   r   r   r   r   r   modules.cmaker   programsr   type_checkingr   r   UnionrY   TargetTestArgsRustAbir   r)   r5   r9   r<   r?   rB   rI   rM   rT   rX   rb   rf   ri   rl   ro   rr   rt   rw   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  r8  r;  r@  rG  r   r&   r'   <module>rf     s   # (  G G     J J X X  2 & B773ellO;<
+
 
y 
:H :} 7i 7	 DI Dy 	 	 &	 &&i && &Y  
Y  	 9 ,9 i !( !"Y "
i /#4  #9 #
)Y )*I *!9 !Y I & 0? 0y <# >"I "
G Gi 	L/= 	`i `	L/= 	`< `
/lO_m /DN' N
 I "_ r&   