§
    ƒnóc  ã                  ó>  — d dl mZ 	 d dlZd dlmZmZmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZmZmZmZ dd	lmZ dd
lmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d e¦  «        Z  G d!„ d"e¦  «        Z! G d#„ d$e¦  «        Z" G d%„ d&e¦  «        Z# G d'„ d(e¦  «        Z$ G d)„ d*e¦  «        Z% G d+„ d,e¦  «        Z& G d-„ d.e¦  «        Z' G d/„ d0e¦  «        Z( G d1„ d2e¦  «        Z) G d3„ d4e¦  «        Z* G d5„ d6e¦  «        Z+ G d7„ d8e¦  «        Z, G d9„ d:e¦  «        Z- G d;„ d<ee¦  «        Z. G d=„ d>e¦  «        Z/ G d?„ d@e¦  «        Z0 G dA„ dBe¦  «        Z1 G dC„ dDe¦  «        Z2 G dE„ dFe¦  «        Z3 G dG„ dHe¦  «        Z4 G dI„ dJe¦  «        Z5 G dK„ dLe¦  «        Z6 G dM„ dNe¦  «        Z7dS )Oé    )ÚannotationsN)Ú	TypedDictÚLiteralÚProtocolé   )Úbuild)Úcoredata)ÚCompiler)ÚMachineChoiceÚFileÚFileModeÚFileOrString)ÚCMakeSubprojectOptions)ÚExternalProgramc                  ó(   — e Zd ZU dZded<   ded<   dS )ÚFuncAddProjectArgsa  Keyword 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]ÚlanguageN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    ú?/usr/lib/python3/dist-packages/mesonbuild/interpreter/kwargs.pyr   r      s6   € € € € € € ðð ð ÐÐÑØÐÐÑÐÐr   r   c                  ód   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   dS )ÚBaseTestz Shared base for the Rust module.z(T.List[T.Union[str, File, build.Target]]ÚargsÚboolÚshould_failÚintÚtimeoutúT.Optional[str]Úworkdirz6T.List[T.Union[build.CustomTarget, build.BuildTarget]]ÚdependsÚpriorityúbuild.EnvironmentVariablesÚenvr   ÚsuiteNr   r   r   r   r    r    #   sr   € € € € € € à*Ð*à2Ð2Ð2Ñ2ØÐÐÑØ€L€L�LØÐÐÑØCÐCÐCÑCØ€M€M�MØ#Ð#Ð#Ñ#ØÐÐÑÐÐr   r    c                  ó   — e Zd ZU dZded<   dS )ÚFuncBenchmarkz8Keyword Arguments shared between `test` and `benchmark`.z+Literal['exitcode', 'tap', 'gtest', 'rust']ÚprotocolNr   r   r   r   r.   r.   1   s$   € € € € € € àBÐBà9Ð9Ð9Ñ9Ð9Ð9r   r.   c                  ó   — e Zd ZU dZded<   dS )ÚFuncTestz†Keyword Arguments for `test`

    `test` only adds the `is_prallel` argument over benchmark, so inherintance
    is helpful here.
    r"   Úis_parallelNr   r   r   r   r1   r1   8   s*   € € € € € € ðð ð ÐÐÑÐÐr   r1   c                  ó   — e Zd ZU dZded<   dS )ÚExtractRequiredzìKeyword 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 it's arguments from this class.
    z)T.Union[bool, coredata.UserFeatureOption]ÚrequiredNr   r   r   r   r4   r4   C   s*   € € € € € € ðð ð 8Ð7Ð7Ñ7Ð7Ð7r   r4   c                  ó   — e Zd ZU dZded<   dS )ÚExtractSearchDirszlKeyword arguments consumed by the `extract_search_dirs` function.

    See the not in `ExtractRequired`
    r   ÚdirsNr   r   r   r   r7   r7   N   s*   € € € € € € ðð ð
 ÐÐÑÐÐr   r7   c                  óF   — e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   dS )ÚFuncGeneratorz,Keyword rguments for the generator function.r   Ú	argumentsÚoutputr&   Údepfiler"   Úcaptureú6T.List[T.Union[build.BuildTarget, build.CustomTarget]]r(   Nr   r   r   r   r:   r:   X   sQ   € € € € € € à6Ð6àÐÐÑØÐÐÑØÐÐÑØ€N€N�NØCÐCÐCÑCÐCÐCr   r:   c                  ó(   — e Zd ZU dZded<   ded<   dS )ÚGeneratorProcessz(Keyword Arguments for generator.process.r&   Úpreserve_path_fromr   Ú
extra_argsNr   r   r   r   rA   rA   c   s0   € € € € € € à2Ð2à'Ð'Ð'Ñ'ØÐÐÑÐÐr   rA   c                  óF   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   dS )	Ú!DependencyMethodPartialDependencyz: Keyword Arguments for the dep.partial_dependency methods r"   Úcompile_argsÚ	link_argsÚlinksÚincludesÚsourcesNr   r   r   r   rE   rE   j   sF   € € € € € € àDÐDàÐÐÑØ€O€O�OØ€K€K�KØ€N€N�NØ€M€M�M€M€Mr   rE   c                  ó   — e Zd ZU ded<   dS )Ú!BuildTargeMethodExtractAllObjectsr"   Ú	recursiveN©r   r   r   r   r   r   r   rL   rL   t   s   € € € € € € Ø€O€O�O€O€Or   rL   c                  óB   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
S )ÚFuncInstallSubdirÚstrÚinstall_dirr"   Ústrip_directoryr   Úexclude_filesÚexclude_directoriesr   Úinstall_modeNrN   r   r   r   rP   rP   w   sN   € € € € € € àÐÐÑØÐÐÑØÐÐÑØ$Ð$Ð$Ñ$ØÐÐÑÐÐr   rP   c                  ó8   — e Zd ZU ded<   ded<   ded<   ded<   d	S )
ÚFuncInstallDatarQ   rR   úT.List[FileOrString]rJ   r   Úrenamer   rV   NrN   r   r   r   rX   rX   €   sB   € € € € € € àÐÐÑØ!Ð!Ð!Ñ!ØÐÐÑØÐÐÑÐÐr   rX   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚFuncInstallHeadersr&   rR   r   rV   ÚsubdirNrN   r   r   r   r\   r\   ˆ   ó6   € € € € € € à Ð Ð Ñ ØÐÐÑØÐÐÑÐÐr   r\   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚFuncInstallManr&   rR   r   rV   ÚlocaleNrN   r   r   r   r`   r`   �   r^   r   r`   c                  ó   — e Zd ZU ded<   dS )ÚFuncImportModuler"   ÚdisablerNrN   r   r   r   rc   rc   –   s   € € € € € € à€N€N�N€N€Nr   rc   c                  ó   — e Zd ZU ded<   dS )ÚFuncIncludeDirectoriesr"   Ú	is_systemNrN   r   r   r   rf   rf   ›   s   € € € € € € à€O€O�O€O€Or   rf   c                  ó   — e Zd ZU ded<   dS )ÚFuncAddLanguagesúT.Optional[bool]r   NrN   r   r   r   ri   ri   Ÿ   s   € € € € € € àÐÐÑÐÐr   ri   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )Ú	RunTargetzRT.List[T.Union[str, build.BuildTarget, build.CustomTarget, ExternalProgram, File]]Úcommandr?   r(   r*   r+   NrN   r   r   r   rl   rl   £   s6   € € € € € € à_Ð_Ð_Ñ_ØCÐCÐCÑCØ#Ð#Ð#Ñ#Ð#Ð#r   rl   c                  óº   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dS )ÚCustomTargetr"   Úbuild_alwaysrj   Úbuild_always_staleÚbuild_by_defaultr>   úkT.List[T.Union[str, build.BuildTarget, build.CustomTarget, build.CustomTargetIndex, ExternalProgram, File]]rm   ÚconsolerY   Údepend_filesr?   r(   r&   r=   r*   r+   Úfeedú˜T.List[T.Union[str, build.BuildTarget, build.CustomTarget, build.CustomTargetIndex, build.ExtractedObjects, build.GeneratedList, ExternalProgram, File]]ÚinputÚinstallz&T.List[T.Union[str, T.Literal[False]]]rR   r   rV   zT.List[T.Optional[str]]Úinstall_tagr   r<   NrN   r   r   r   ro   ro   ª   sê   € € € € € € àÐÐÑØ(Ð(Ð(Ñ(Ø&Ð&Ð&Ñ&Ø€M€M�MðMð Mð Mñ Mà€M€M�MØ&Ð&Ð&Ñ&ØCÐCÐCÑCØÐÐÑØ#Ð#Ð#Ñ#Ø€J€J�Jð_ð _ð _ñ _à€M€M�MØ7Ð7Ð7Ñ7ØÐÐÑØ(Ð(Ð(Ñ(ØÐÐÑÐÐr   ro   c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   dS )ÚAddTestSetupz%T.List[T.Union[str, ExternalProgram]]Úexe_wrapperr"   Úgdbr$   Útimeout_multiplierÚ
is_defaultr   Úexclude_suitesr*   r+   NrN   r   r   r   r|   r|   À   sW   € € € € € € à6Ð6Ð6Ñ6Ø€I€I�IØÐÐÑØÐÐÑØÐÐÑØ#Ð#Ð#Ñ#Ð#Ð#r   r|   c                  óB   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
S )ÚProjectzT.Optional[FileOrString]Úversionr&   Úmeson_versionr   Údefault_optionsÚlicenserQ   Úsubproject_dirNrN   r   r   r   rƒ   rƒ   Ê   sN   € € € € € € à%Ð%Ð%Ñ%Ø"Ð"Ð"Ñ"Ø Ð Ð Ñ ØÐÐÑØÐÐÑÐÐr   rƒ   c                  ó   — e Zd ZdZdd„ZdS )Ú_FoundProtozrProtocol for subdir arguments.

    This allows us to define any object that has a found(self) -> bool method
    Úreturnr"   c                ó   — d S )Nr   )Úselfs    r   Úfoundz_FoundProto.foundÚ   s   € € € r   N)r‹   r"   )r   r   r   r   rŽ   r   r   r   rŠ   rŠ   Ó   s(   € € € € € ðð ð
 !Ð Ð Ð Ð Ð r   rŠ   c                  ó   — e Zd ZU ded<   dS )ÚSubdirzT.List[_FoundProto]Úif_foundNrN   r   r   r   r�   r�   Ý   s   € € € € € € à!Ð!Ð!Ñ!Ð!Ð!r   r�   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚSummaryrQ   Úsectionr"   Úbool_ynr&   Úlist_sepNrN   r   r   r   r“   r“   â   s0   € € € € € € à€L€L�LØ€M€M�MØÐÐÑÐÐr   r“   c                  ó$   — e Zd ZU ded<   ded<   dS )ÚFindProgramr   r   r   r„   NrN   r   r   r   r˜   r˜   é   s*   € € € € € € àÐÐÑØÐÐÑÐÐr   r˜   c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )Ú
RunCommandr"   Úcheckrj   r>   r*   r+   NrN   r   r   r   rš   rš   ï   s3   € € € € € € à€K€K�KØÐÐÑØ#Ð#Ð#Ñ#Ð#Ð#r   rš   c                  ó   — e Zd ZU ded<   dS )ÚFeatureOptionRequirer&   Úerror_messageNrN   r   r   r   r�   r�   ö   s   € € € € € € à"Ð"Ð"Ñ"Ð"Ð"r   r�   c                  ó$   — e Zd ZU ded<   ded<   dS )ÚDependencyPkgConfigVarr&   Údefaultr   Údefine_variableNrN   r   r   r   r    r    û   s*   € € € € € € àÐÐÑØ Ð Ð Ñ Ð Ð r   r    c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	S )
ÚDependencyGetVariabler&   ÚcmakeÚ	pkgconfigÚ
configtoolÚinternalÚdefault_valuer   Úpkgconfig_defineNrN   r   r   r   r¤   r¤     sZ   € € € € € € àÐÐÑØÐÐÑØÐÐÑØÐÐÑØ"Ð"Ð"Ñ"Ø!Ð!Ð!Ñ!Ð!Ð!r   r¤   c                  ó   — e Zd ZU ded<   dS )ÚConfigurationDataSetr&   ÚdescriptionNrN   r   r   r   r¬   r¬     s   € € € € € € à Ð Ð Ñ Ð Ð r   r¬   c                  óB   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   dS )ÚVcsTagrs   rm   r&   Úfallbackrw   rx   r   r<   rQ   Úreplace_stringNrN   r   r   r   r¯   r¯     sf   € € € € € € ðMð Mð Mñ MàÐÐÑð_ð _ð _ñ _àÐÐÑØÐÐÑÐÐr   r¯   c                  ó’   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   d	ed<   ded<   ded<   ded<   ded<   dS )ÚConfigureFilerQ   r<   r"   r>   z%T.Literal['meson', 'cmake', 'cmake@']ÚformatzT.Literal['c', 'nasm']Úoutput_formatr&   r=   rj   ry   zT.Union[str, T.Literal[False]]rR   r   rV   rz   ÚencodingzST.Optional[T.List[T.Union[build.Executable, ExternalProgram, Compiler, File, str]]]rm   rY   rx   zRT.Optional[T.Union[T.Dict[str, T.Union[str, int, bool]], build.ConfigurationData]]ÚconfigurationNrN   r   r   r   r³   r³     s¥   € € € € € € à€K€K�KØ€M€M�MØ1Ð1Ð1Ñ1Ø)Ð)Ð)Ñ)ØÐÐÑØÐÐÑØ/Ð/Ð/Ñ/ØÐÐÑØ Ð Ð Ñ Ø€M€M�MØ`Ð`Ð`Ñ`ØÐÐÑØeÐeÐeÑeÐeÐer   r³   c                  ó$   — e Zd ZU ded<   ded<   dS )Ú
Subprojectr   r†   r„   NrN   r   r   r   r¹   r¹   +  s*   € € € € € € à Ð Ð Ñ ØÐÐÑÐÐr   r¹   c                  ó8   — e Zd ZU ded<   ded<   ded<   ded<   dS )ÚDoSubprojectr   r†   r„   Úcmake_optionsz"T.Optional[CMakeSubprojectOptions]ÚoptionsNrN   r   r   r   r»   r»   1  sB   € € € € € € à Ð Ð Ñ ØÐÐÑØÐÐÑØ/Ð/Ð/Ñ/Ð/Ð/r   r»   )8Ú
__future__r   ÚtypingÚTÚtyping_extensionsr   r   r   Ú r   r	   Ú	compilersr
   Úmesonlibr   r   r   r   Úmodules.cmaker   Úprogramsr   r   r    r.   r1   r4   r7   r:   rA   rE   rL   rP   rX   r\   r`   rc   rf   ri   rl   ro   r|   rƒ   rŠ   r�   r“   r˜   rš   r�   r    r¤   r¬   r¯   r³   r¹   r»   r   r   r   ú<module>rÇ      su  ðð #Ð "Ð "Ð "Ð "Ð "à (à Ð Ð Ð à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ˜ñ ô ð ðð ð ð ð ˆyñ ô ð ð:ð :ð :ð :ð :�Hñ :ô :ð :ðð ð ð ð ˆ}ñ ô ð ð8ð 8ð 8ð 8ð 8�iñ 8ô 8ð 8ðð ð ð ð ˜	ñ ô ð ðDð Dð Dð Dð D�Iñ Dô Dð Dðð ð ð ð �yñ ô ð ðð ð ð ð ¨	ñ ô ð ðð ð ð ð ¨	ñ ô ð ðð ð ð ð ˜	ñ ô ð ðð ð ð ð �iñ ô ð ðð ð ð ð ˜ñ ô ð ðð ð ð ð �Yñ ô ð ðð ð ð ð �ñ ô ð ð
ð ð ð ð ˜Yñ ô ð ðð ð ð ð �ñ ô ð ð$ð $ð $ð $ð $�	ñ $ô $ð $ðð ð ð ð �9ñ ô ð ð,$ð $ð $ð $ð $�9ñ $ô $ð $ðð ð ð ð ˆiñ ô ð ð!ð !ð !ð !ð !�(ñ !ô !ð !ð"ð "ð "ð "ð "ˆYñ "ô "ð "ð
ð ð ð ð ˆiñ ô ð ðð ð ð ð �/Ð#4ñ ô ð ð$ð $ð $ð $ð $�ñ $ô $ð $ð#ð #ð #ð #ð #˜9ñ #ô #ð #ð
!ð !ð !ð !ð !˜Yñ !ô !ð !ð"ð "ð "ð "ð "˜Iñ "ô "ð "ð!ð !ð !ð !ð !˜9ñ !ô !ð !ðð ð ð ð ˆYñ ô ð ðfð fð fð fð f�Iñ fô fð fð"ð ð ð ð �ñ ô ð ð0ð 0ð 0ð 0ð 0�?ñ 0ô 0ð 0ð 0ð 0r   