§
    ‹ã÷c“U  ã                   ó°  — d dl Z d dlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZmZ dd	lmZmZmZmZ dd
lmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlm Z m!Z! ej"        r^d dl#m$Z$ ddl%m&Z& ddl'm(Z( ddl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-¦  «        Z0 G d„ de-¦  «        Z1 G d„ de¦  «        Z2dS )é    Né   )Úmesonlib)Údependencies)Úbuild)Úmlog)ÚMachineChoiceÚ	OptionKey)ÚOverrideProgramÚExternalProgram)ÚENV_KWÚENV_METHOD_KWÚENV_SEPARATOR_KWÚenv_convertor_with_method)
ÚMesonInterpreterObjectÚ
FeatureNewÚFeatureDeprecatedÚtyped_pos_argsÚnoArgsFlatteningÚ	noPosargsÚnoKwargsÚtyped_kwargsÚ	KwargInfoÚInterpreterExceptioné   )ÚMesonVersionString)Ú	NATIVE_KWÚNoneType)ÚLiteral)ÚExecutableSerialisation)ÚCompiler)ÚTYPE_kwargsÚTYPE_var)ÚInterpreter)Ú	TypedDictc                   óD   — e Zd ZU ej        ed<   ej        e         ed<   dS )ÚFuncOverrideDependencyÚnativeÚstaticN)	Ú__name__Ú
__module__Ú__qualname__r   r   Ú__annotations__ÚTÚOptionalÚbool© ó    úB/usr/lib/python3/dist-packages/mesonbuild/interpreter/mesonmain.pyr&   r&      s4   € € € € € € àÔ&Ð&Ð&Ñ&Ø”
˜4Ô Ð Ð Ñ Ð Ð r1   r&   c                   ó$   — e Zd ZU eed<   eed<   dS )ÚAddInstallScriptKWÚskip_if_destdirÚinstall_tagN)r)   r*   r+   r/   r,   Ústrr0   r1   r2   r4   r4   $   s*   € € € € € € àÐÐÑØÐÐÑÐÐr1   r4   c                   ó$   — e Zd ZU ej        ed<   dS )ÚNativeKWr'   N)r)   r*   r+   r   r   r,   r0   r1   r2   r9   r9   )   s!   € € € € € € àÔ&Ð&Ð&Ñ&Ð&Ð&r1   r9   c                   ó0   — e Zd ZU ed         ed<   eed<   dS )ÚAddDevenvKW)ÚsetÚprependÚappendÚmethodÚ	separatorN)r)   r*   r+   r   r,   r7   r0   r1   r2   r;   r;   -   s+   € € € € € € ØÐ2Ô3Ð3Ð3Ñ3Øˆˆ‰ˆˆr1   r;   c                   óð  ‡ — e Zd Zdeˆ fd„Zdedej        eej        e	j
        ef         dej        e         d	d
fd„Zdedej        ej        eej        e	j        e	j        e	j        ef                  d	ej        e         fd„Z edeej        e	j
        efeej        e	j        e	j        e	j        ef¬¦  «         ed ededd¬¦  «         edeefd¬¦  «        ¦  «        dej        ej        eej        e	j
        ef         ej        ej        eej        e	j        e	j        e	j        ef                  f         ddd	dfd„¦   «         ¦   «         Z edeej        efeej        ef¬¦  «        edej        ej        eej        ef         ej        ej        eej        ef                  f         ddd	dfd„¦   «         ¦   «         Z edeej        efeej        ef¬¦  «        edej        ej        eej        ef         ej        ej        eej        ef                  f         ddd	dfd„¦   «         ¦   «         Zeedej        d         ddd	efd „¦   «         ¦   «         Zeedej        d         ddd	efd!„¦   «         ¦   «         Zeedej        d         ddd	efd"„¦   «         ¦   «         Z ee e!d#d$d%¦  «        dej        d         ddd	efd&„¦   «         ¦   «         ¦   «         Z"ee e!d'd$d(¦  «        dej        d         ddd	efd)„¦   «         ¦   «         ¦   «         Z#ee e$d*d$¦  «        dej        d         ddd	efd+„¦   «         ¦   «         ¦   «         Z%ee e$d,d$¦  «        dej        d         ddd	efd-„¦   «         ¦   «         ¦   «         Z&ee e$d.d/¦  «        dej        d         ddd	efd0„¦   «         ¦   «         ¦   «         Z'ee e$d1d/¦  «        dej        d         ddd	efd2„¦   «         ¦   «         ¦   «         Z(ee e!d3d4d5¦  «        dej        d         ddd	efd6„¦   «         ¦   «         ¦   «         Z)ee e$d7d4¦  «        dej        d         ddd	efd8„¦   «         ¦   «         ¦   «         Z*d	efd9„Z+eedej        d         ddd	efd:„¦   «         ¦   «         Z, ed;e¦  «         ed;e-¦  «        dej        e         dd<d	d=fd>„¦   «         ¦   «         Z.eedej        d         ddd	efd?„¦   «         ¦   «         Z/eedej        d         ddd	efd@„¦   «         ¦   «         Z0 edAe¦  «        edej        e         ddd	dfdB„¦   «         ¦   «         Z1 e$dCdD¦  «         edCeej        ee	j
        f¦  «        edej        eej        ej        ee	j
        f         f         ddd	dfdE„¦   «         ¦   «         ¦   «         Z2 edFe- edGeefd¬¦  «        ¦  «         edFee3j4        ¦  «         e$dFdH¦  «        dej        ee3j4        f         ddId	dfdJ„¦   «         ¦   «         ¦   «         Z5	 dfdedKe3j4        ddIdGej6        e         dLed	dfdM„Z7eedej        d         ddd	efdN„¦   «         ¦   «         Z8 e$dOdP¦  «        eedej        d         ddd	ej        e         fdQ„¦   «         ¦   «         ¦   «         Z9eedej        d         ddd	e:fdR„¦   «         ¦   «         Z;eedej        d         ddd	efdS„¦   «         ¦   «         Z<dTedUej6        e=         dVe>d	e=fdW„Z?e@ e!dXd/dY¦  «         edXee=g¬Z¦  «        edej        eej6        e=         f         ddd	e=fd[„¦   «         ¦   «         ¦   «         ¦   «         ZAe@ e$d\dH¦  «         ed\ee=g¬Z¦  «         ed\e-¦  «        dej        eej6        e=         f         dd<d	e=fd]„¦   «         ¦   «         ¦   «         ¦   «         ZB e$d^d/¦  «         ed^e¦  «         ed^e-¦  «        dej        e         dd<d	efd_„¦   «         ¦   «         ¦   «         ZC e$d`d/¦  «         edaeD eEjF        db¬¦  «        ¦  «         ed`eeGeHe	jI        f¦  «        dej        ej        eeGeHe	jI        f                  ddcd	dfdd„¦   «         ¦   «         ¦   «         ZJˆ xZKS )gÚ	MesonMainr   úbuild.BuildÚinterpreterr#   c                 óL  •— t          ¦   «                              |j        ¬¦  «         || _        || _        | j                             i d| j        “d| j        “d| j	        “d| j
        “d| j        “d| j        “d| j        “d	| j        “d
| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “| j        | j        | j        | j        | j        | j        | j        | j        | j         | j!        | j"        | j#        dœ¥¦  «         d S )N©Ú
subprojectÚget_compilerÚis_cross_buildÚhas_exe_wrapperÚcan_run_host_binariesÚis_unityÚis_subprojectÚcurrent_source_dirÚcurrent_build_dirÚsource_rootÚ
build_rootÚproject_source_rootÚproject_build_rootÚglobal_source_rootÚglobal_build_rootÚadd_install_scriptÚadd_postconf_scriptÚadd_dist_script)Úinstall_dependency_manifestÚoverride_dependencyÚoverride_find_programÚproject_versionÚproject_licenseÚversionÚproject_nameÚget_cross_propertyÚget_external_propertyÚhas_external_propertyÚbackendÚ
add_devenv)$ÚsuperÚ__init__rG   r   rD   ÚmethodsÚupdateÚget_compiler_methodÚis_cross_build_methodÚhas_exe_wrapper_methodÚcan_run_host_binaries_methodÚis_unity_methodÚis_subproject_methodÚcurrent_source_dir_methodÚcurrent_build_dir_methodÚsource_root_methodÚbuild_root_methodÚproject_source_root_methodÚproject_build_root_methodÚglobal_source_root_methodÚglobal_build_root_methodÚadd_install_script_methodÚadd_postconf_script_methodÚadd_dist_script_methodÚ"install_dependency_manifest_methodÚoverride_dependency_methodÚoverride_find_program_methodÚproject_version_methodÚproject_license_methodÚversion_methodÚproject_name_methodÚget_cross_property_methodÚget_external_property_methodÚhas_external_property_methodÚbackend_methodÚadd_devenv_method)Úselfr   rD   Ú	__class__s      €r2   rf   zMesonMain.__init__3   s«  ø€ Ý‰Œ×Ò KÔ$:ÐÑ;Ô;Ð;ØˆŒ
Ø&ˆÔØŒ×Òð ˜^¨TÔ-Eð Ø-¨tÔ/Iðà.°Ô0Kðð 5°dÔ6Wðð (¨Ô)=ð	ð
 -¨dÔ.Gðð 2°4Ô3Qðð 1°$Ô2Oðð +¨DÔ,Cðð *¨4Ô+Aðð 3°DÔ4Sðð 2°4Ô3Qðð 2°4Ô3Qðð 1°$Ô2Oðð 2°4Ô3Qðð 3°DÔ4Sðð  /°Ô0Kð!ð" =AÔ<cØ48Ô4SØ6:Ô6WØ04Ô0KØ04Ô0KØ(,Ô(;Ø-1Ô-EØ37Ô3QØ6:Ô6WØ6:Ô6WØ(,Ô(;Ø+/Ô+Að9ð ð ñ 	 ô 	 ð 	 ð 	 ð 	 r1   ÚnameÚprogÚargsÚreturnr   c                 ó*  — g }t          |t          j        t          f¦  «        r;t	          j        d|› �d| j        | j        ¬¦  «         |                     |¦  «         not          |t          j
        ¦  «        r%t	          j        d|› �d| j        | j        ¬¦  «         | j                             |g¦  «        }|                     |¦  «         |                     |¦  «         | j        j                             |¦  «        }| j        j        |_        |S )Nz?Passing executable/found program object to script parameter of ú0.55.0©Úlocationz+Passing file object to script parameter of ú0.57.0)Ú
isinstancer   Ú
Executabler   r   Ú
single_userG   Úcurrent_noder>   r   ÚFilerD   Úfind_program_implÚextendrc   Úget_executable_serialisation)r†   rˆ   r‰   rŠ   ÚlargsÚfoundÚess          r2   Ú_find_source_scriptzMesonMain._find_source_scriptV   s"  € ð JLˆå�d�UÔ-­Ð?Ñ@Ô@ð 		 ÝÔ!Ð"jÐdhÐ"jÐ"jØ"*¨D¬OÀdÔFWðYñ Yô Yð Yà�LŠL˜ÑÔÐÐå˜$¥¤Ñ.Ô.ð ]ÝÔ%Ð&ZÐTXÐ&ZÐ&ZØ&.°´È$ÔJ[ð]ñ ]ô ]ð ]àÔ$×6Ò6¸°vÑ>Ô>ˆEØ�LŠL˜ÑÔÐà�Š�TÑÔÐØÔÔ%×BÒBÀ5ÑIÔIˆØÔ(Ô3ˆŒØˆ	r1   c                 óÜ  ‡— g }d}|D �]5Št          ‰t          ¦  «        r|                     ‰¦  «         Œ.t          ‰t          j        ¦  «        r:d}|                     ‰                     | j        j        j        ¦  «        ¦  «         Œ‚t          ‰t          j
        t          j        t          j        f¦  «        rfd}|                     ˆfd„‰                     ¦   «         D ¦   «         ¦  «         t          ‰t          j        ¦  «        rd‰j        _        �Œd‰_        �Œ|                     ‰j        ¦  «         d}�Œ7|r+t%          j        d|› d�d| j        j        | j        ¬¦  «         |S )NFTc                 ót   •— g | ]4}t           j                             ‰                     ¦   «         |¦  «        ‘Œ5S r0   )ÚosÚpathÚjoinÚ
get_subdir)Ú.0ÚoÚas     €r2   ú
<listcomp>z2MesonMain._process_script_args.<locals>.<listcomp>{   s1   ø€ Ð#]Ð#]Ð#]È¥B¤G§L¢L°·²±´ÀÑ$CÔ$CÐ#]Ð#]Ð#]r1   z	Calling "zP" with File, CustomTarget, Index of CustomTarget, Executable, or ExternalProgramr�   rŽ   )r‘   r7   r>   r   r•   Úrel_to_builddirrD   ÚenvironmentÚ
source_dirr   ÚBuildTargetÚCustomTargetÚCustomTargetIndexr—   Úget_outputsÚtargetÚbuild_by_defaultÚcommandr   r“   rG   r”   )r†   rˆ   rŠ   Úscript_argsÚnewr¥   s        @r2   Ú_process_script_argszMesonMain._process_script_argsk   s‡  ø€ ð ˆØˆØð 	ñ 	ˆAÝ˜!�SÑ!Ô!ð Ø×"Ò" 1Ñ%Ô%Ð%Ð%Ý˜A�xœ}Ñ-Ô-ð Ø�Ø×"Ò" 1×#4Ò#4°TÔ5EÔ5QÔ5\Ñ#]Ô#]Ñ^Ô^Ð^Ð^Ý˜A¥Ô 1µ5Ô3EÅuÔG^Ð_Ñ`Ô`ð Ø�Ø×"Ò"Ð#]Ð#]Ð#]Ð#]ÈQÏ]Ê]É_Ì_Ð#]Ñ#]Ô#]Ñ^Ô^Ð^õ ˜a¥Ô!8Ñ9Ô9ð .Ø04�A”HÔ-Ñ-à)-�AÔ&Ñ&à×"Ò" 1¤9Ñ-Ô-Ð-Ø�‘àð 	SÝÔ!ð1˜Dð 1ð 1ð 1à˜$Ô*Ô5ÀÔ@QðSñ Sô Sð Sð Ðr1   zmeson.add_install_script)Úvarargsr5   Fr�   )ÚdefaultÚsincer6   z0.60.0)r¶   Úkwargsr4   Nc                 óê   — |                       d|d         ¦  «        }|                      d|d         |¦  «        }|d         |_        |d         |_        | j        j                             |¦  «         d S )NrV   r   r   r5   r6   )r³   rœ   r5   Útagr   Úinstall_scriptsr>   ©r†   rŠ   r·   r±   Úscripts        r2   rw   z#MesonMain.add_install_script_method�   ss   € ð ×/Ò/Ð0DÀdÈ1ÄgÑNÔNˆØ×)Ò)Ð*>ÀÀQÄÈÑUÔUˆØ!'Ð(9Ô!:ˆÔØ˜MÔ*ˆŒ
ØŒ
Ô"×)Ò)¨&Ñ1Ô1Ð1Ð1Ð1r1   zmeson.add_postconf_scriptr!   c                 ó¶   — |                       d|d         ¦  «        }|                      d|d         |¦  «        }| j        j                             |¦  «         d S )NrW   r   r   )r³   rœ   r   Úpostconf_scriptsr>   r»   s        r2   rx   z$MesonMain.add_postconf_script_method¥   sY   € ð ×/Ò/Ð0EÀtÈAÄwÑOÔOˆØ×)Ò)Ð*?ÀÀaÄÈ+ÑVÔVˆØŒ
Ô#×*Ò*¨6Ñ2Ô2Ð2Ð2Ð2r1   zmeson.add_dist_scriptc                 ó‚  — |d         r't          j        dd| j        j        | j        ¬¦  «         | j        j        dk    r't          j        dd| j        j        | j        ¬¦  «         |                      d|d         ¦  «        }|                      d|d	         |¦  «        }| j        j         	                    |¦  «         d S )
Nr   z1Calling "add_dist_script" with multiple argumentsz0.49.0rŽ   Ú z)Calling "add_dist_script" in a subprojectú0.58.0rX   r   )
r   r“   rD   rG   r”   r³   rœ   r   Údist_scriptsr>   r»   s        r2   ry   z MesonMain.add_dist_script_method´   sÛ   € ð �Œ7ð 	eÝÔ!Ð"UØ"*¨DÔ,<Ô,GÐRVÔRcðeñ eô eð eàÔÔ&¨"Ò,Ð,ÝÔ!Ð"MØ"*¨DÔ,<Ô,GÐRVÔRcðeñ eô eð eà×/Ò/Ð0AÀ4ÈÄ7ÑKÔKˆØ×)Ò)Ð*;¸TÀ!¼WÀkÑRÔRˆØŒ
Ô×&Ò& vÑ.Ô.Ð.Ð.Ð.r1   r"   c                 óŒ   — | j         j        j        }| j         j        }|dk    r|S t          j                             ||¦  «        S ©NrÀ   )rD   r¨   r©   ÚsubdirrŸ   r    r¡   ©r†   rŠ   r·   ÚsrcÚsubs        r2   ro   z#MesonMain.current_source_dir_methodÉ   sA   € ð ÔÔ*Ô5ˆØÔÔ%ˆØ�"Š9ˆ9ØˆJÝŒw�|Š|˜C Ñ%Ô%Ð%r1   c                 óŒ   — | j         j        j        }| j         j        }|dk    r|S t          j                             ||¦  «        S rÄ   )rD   r¨   Ú	build_dirrÅ   rŸ   r    r¡   rÆ   s        r2   rp   z"MesonMain.current_build_dir_methodÒ   sA   € ð ÔÔ*Ô4ˆØÔÔ%ˆØ�"Š9ˆ9ØˆJÝŒw�|Š|˜C Ñ%Ô%Ð%r1   c                 ó$   — | j         j        j        S ©N)rD   rc   rˆ   ©r†   rŠ   r·   s      r2   r„   zMesonMain.backend_methodÛ   s   € ð ÔÔ'Ô,Ð,r1   zmeson.source_rootz0.56.0zFuse meson.project_source_root() or meson.global_source_root() instead.c                 ó$   — | j         j        j        S rÌ   ©rD   r¨   r©   rÍ   s      r2   rq   zMesonMain.source_root_methodà   ó   € ð ÔÔ+Ô6Ð6r1   zmeson.build_rootzDuse meson.project_build_root() or meson.global_build_root() instead.c                 ó$   — | j         j        j        S rÌ   ©rD   r¨   rÊ   rÍ   s      r2   rr   zMesonMain.build_root_methodæ   ó   € ð ÔÔ+Ô5Ð5r1   zmeson.project_source_rootc                 óŒ   — | j         j        j        }| j         j        }|dk    r|S t          j                             ||¦  «        S rÄ   )rD   r¨   r©   Úroot_subdirrŸ   r    r¡   rÆ   s        r2   rs   z$MesonMain.project_source_root_methodì   sA   € ð ÔÔ*Ô5ˆØÔÔ*ˆØ�"Š9ˆ9ØˆJÝŒw�|Š|˜C Ñ%Ô%Ð%r1   zmeson.project_build_rootc                 óŒ   — | j         j        j        }| j         j        }|dk    r|S t          j                             ||¦  «        S rÄ   )rD   r¨   rÊ   rÕ   rŸ   r    r¡   rÆ   s        r2   rt   z#MesonMain.project_build_root_methodö   sA   € ð ÔÔ*Ô4ˆØÔÔ*ˆØ�"Š9ˆ9ØˆJÝŒw�|Š|˜C Ñ%Ô%Ð%r1   zmeson.global_source_rootrÁ   c                 ó$   — | j         j        j        S rÌ   rÏ   rÍ   s      r2   ru   z#MesonMain.global_source_root_method   rÐ   r1   zmeson.global_build_rootc                 ó$   — | j         j        j        S rÌ   rÒ   rÍ   s      r2   rv   z"MesonMain.global_build_root_method  rÓ   r1   zmeson.has_exe_wrapperr�   z(use meson.can_run_host_binaries instead.c                 ó*   — |                       ¦   «         S rÌ   ©Ú_can_run_host_binaries_implrÍ   s      r2   rk   z MesonMain.has_exe_wrapper_method  ó   € ð ×/Ò/Ñ1Ô1Ð1r1   zmeson.can_run_host_binariesc                 ó*   — |                       ¦   «         S rÌ   rÚ   rÍ   s      r2   rl   z&MesonMain.can_run_host_binaries_method  rÜ   r1   c                 ó¢   — | j         j                             ¦   «         o0| j         j                             ¦   «         o| j         j        j        d u  S rÌ   )r   r¨   rI   Úneed_exe_wrapperÚexe_wrapper)r†   s    r2   rÛ   z%MesonMain._can_run_host_binaries_impl  sN   € àŒJÔ"×1Ò1Ñ3Ô3ð 7ØŒJÔ"×3Ò3Ñ5Ô5ð7àŒJÔ"Ô.°$Ð6ð
ð 	
r1   c                 ó>   — | j         j                             ¦   «         S rÌ   )r   r¨   rI   rÍ   s      r2   rj   zMesonMain.is_cross_build_method  s   € ð ŒzÔ%×4Ò4Ñ6Ô6Ð6r1   zmeson.get_compilerr9   r    c                 óÎ   — |d         }|d         }| j         j        j        |         }	 ||         S # t          $ r) t	          d|› d|                     ¦   «         › d�¦  «        ‚w xY w)Nr   r'   z'Tried to access compiler for language "z", not specified for z	 machine.)rD   ÚcoredataÚ	compilersÚKeyErrorr   Úget_lower_case_name)r†   rŠ   r·   ÚcnameÚfor_machineÚclists         r2   ri   zMesonMain.get_compiler_method$  s´   € ð �Q”ˆØ˜XÔ&ˆØÔ Ô)Ô3°KÔ@ˆð	[Ø˜”<ÐøÝð 	[ð 	[ð 	[Ý&ð  (ZÐQVð  (Zð  (ZÐmx÷  nMò  nMñ  nOô  nOð  (Zð  (Zð  (Zñ  [ô  [ð  [ð	[øøøs	   ©1 ±3A$c                 ó®   — | j         j        j                             t	          d¦  «        ¦  «        }|dk    p|dk    o| j                              ¦   «         S )NÚunityÚonÚsubprojects)rD   r¨   rã   Ú
get_optionr	   rM   )r†   rŠ   r·   Úoptvals       r2   rm   zMesonMain.is_unity_method/  sP   € ð Ô!Ô-Ô6×AÒAÅ)ÈGÑBTÔBTÑUÔUˆØ˜Š~Ð_ &¨MÒ"9Ð"^¸dÔ>N×>\Ò>\Ñ>^Ô>^Ð_r1   c                 ó4   — | j                              ¦   «         S rÌ   )rD   rM   rÍ   s      r2   rn   zMesonMain.is_subproject_method5  s   € ð Ô×-Ò-Ñ/Ô/Ð/r1   z!meson.install_dependency_manifestc                 ó*   — |d         | j         _        d S )Nr   )r   Údep_manifest_namerÍ   s      r2   rz   z,MesonMain.install_dependency_manifest_method:  s   € ð (,¨A¤wˆŒ
Ô$Ð$Ð$r1   zmeson.override_find_programz0.46.0c                 óh  — |\  }}t          |t          j        ¦  «        rw|                     | j        j        j        | j        j        j        ¦  «        }t          j	         
                    |¦  «        st          d|› d�¦  «        ‚t          ||g¦  «        }| j                             ||¦  «         d S )NzTried to override z! with a file that does not exist.)r‘   r   r•   Úabsolute_pathrD   r¨   r©   rÊ   rŸ   r    Úexistsr   r
   Úadd_find_program_override)r†   rŠ   r·   rˆ   ÚexeÚabspaths         r2   r|   z&MesonMain.override_find_program_method?  s°   € ð ‰	ˆˆcÝ�c�8œ=Ñ)Ô)ð 	3Ø×'Ò'¨Ô(8Ô(DÔ(OØ(,Ô(8Ô(DÔ(NñPô PˆGå”7—>’> 'Ñ*Ô*ð iÝ*Ð+gÀÐ+gÐ+gÐ+gÑhÔhÐhÝ! $¨¨	Ñ2Ô2ˆCØÔ×2Ò2°4¸Ñ=Ô=Ð=Ð=Ð=r1   zmeson.override_dependencyr(   z0.54.0r&   c                 ó|  — |\  }}|st          d¦  «        ‚t          d| j        j        ¬¦  «        }| j        j                             |¦  «        }t          |t          ¦  «        s
J d¦   «         ‚|d         }|€�|                      |||d ¬¦  «         |dk    r|                      |||d¬¦  «         d S |dk    r|                      |||d	¬¦  «         d S |                      |||d¬¦  «         |                      |||d	¬¦  «         d S |                      |||d d¬
¦  «         |                      ||||¬¦  «         d S )Nz3First argument must be a string and cannot be emptyÚdefault_libraryrF   zfor mypyr(   )r(   TÚsharedF)r(   Ú
permissive)	r   r	   rD   rG   rã   rî   r‘   r7   Ú_override_dependency_impl)r†   rŠ   r·   rˆ   ÚdepÚoptkeyrú   r(   s           r2   r{   z$MesonMain.override_dependency_methodL  s„  € ð ‰	ˆˆcØð 	^Ý&Ð'\Ñ]Ô]Ð]åÐ,¸Ô9IÔ9TÐUÑUÔUˆØÔ*Ô3×>Ò>¸vÑFÔFˆÝ˜/­3Ñ/Ô/Ð;Ð;°Ñ;Ô;Ð;Ø˜Ô!ˆØˆ>ð ×*Ò*¨4°°fÀTÐ*ÑJÔJÐJØ (Ò*Ð*Ø×.Ò.¨t°S¸&ÈÐ.ÑNÔNÐNÐNÐNØ  HÒ,Ð,Ø×.Ò.¨t°S¸&ÈÐ.ÑOÔOÐOÐOÐOà×.Ò.¨t°S¸&ÈÐ.ÑNÔNÐNØ×.Ò.¨t°S¸&ÈÐ.ÑOÔOÐOÐOÐOð ×*Ò*¨4°°fÀTÐVZÐ*Ñ[Ô[Ð[Ø×*Ò*¨4°°fÀVÐ*ÑLÔLÐLÐLÐLr1   rþ   rü   c                 óú  — t          j        d|                     ¦   «         ¦  «        }|€|d= n||d<   t          j        ||¦  «        }|d         }| j        j        |                              |¦  «        }	|	rR|rd S d}
t          j	        |	j
        j        |	j
        j        ¦  «        }t          |
                     ||¦  «        ¦  «        ‚t          j        || j        j        ¦  «        | j        j        |         |<   d S )NzT.Dict[str, T.Any]r(   r'   zUTried to override dependency {!r} which has already been resolved or overridden at {})r-   ÚcastÚcopyr   Úget_dep_identifierr   Údependency_overridesÚgetr   Úget_error_location_stringÚnodeÚfilenameÚlinenor   ÚformatÚDependencyOverriderD   r”   )r†   rˆ   rþ   r·   r(   rü   ÚnkwargsÚ
identifierrè   ÚoverrideÚmr�   s               r2   rý   z#MesonMain._override_dependency_impls  sô   € õ ”&Ð-¨v¯{ª{©}¬}Ñ=Ô=ˆØˆ>Ø˜Ð!Ð!à &ˆG�HÑÝ!Ô4°T¸7ÑCÔCˆ
Ø˜XÔ&ˆØ”:Ô2°;Ô?×CÒCÀJÑOÔOˆØð 	AØð Ø�ØgˆAÝÔ5°h´mÔ6LÈhÌmÔNbÑcÔcˆHÝ& q§x¢x°°hÑ'?Ô'?Ñ@Ô@Ð@åÔ$ S¨$Ô*:Ô*GÑHÔHð 	Œ
Ô'¨Ô4°ZÑ@Ð@Ð@r1   c                 óD   — | j         j        | j        j                 j        S rÌ   )r   Údep_manifestrD   Úactive_projectnamer^   rÍ   s      r2   r}   z MesonMain.project_version_methodˆ  s   € ð ŒzÔ& tÔ'7Ô'JÔKÔSÐSr1   zmeson.project_license()z0.45.0c                 óD   — | j         j        | j        j                 j        S rÌ   )r   r  rD   r  ÚlicenserÍ   s      r2   r~   z MesonMain.project_license_method�  s   € ð ŒzÔ& tÔ'7Ô'JÔKÔSÐSr1   c                 ó>   — t          | j        j        j        ¦  «        S rÌ   )r   rD   rã   r^   rÍ   s      r2   r   zMesonMain.version_method“  s   € õ " $Ô"2Ô";Ô"CÑDÔDÐDr1   c                 ó   — | j         j        S rÌ   )rD   r  rÍ   s      r2   r€   zMesonMain.project_name_method˜  s   € ð ÔÔ2Ð2r1   ÚpropnameÚfallbackÚmachinec                 ó´   — 	 | j         j        j        |         |         S # t          $ r. |�|cY S t	          d|                     ¦   «         › d|› �¦  «        ‚w xY w)zGShared implementation for get_cross_property and get_external_property.NzUnknown property for z
 machine: )rD   r¨   Ú
propertiesrå   r   ræ   )r†   r  r  r  s       r2   Ú__get_external_property_implz&MesonMain.__get_external_property_impl�  s{   € ð	tØÔ#Ô/Ô:¸7ÔCÀHÔMÐMøÝð 	tð 	tð 	tØÐ#Ø���Ý&Ð'r¸w×?ZÒ?ZÑ?\Ô?\Ð'rÐ'rÐhpÐ'rÐ'rÑsÔsÐsð	tøøøs   ‚ ŸA¯(Azmeson.get_cross_propertyz)Use meson.get_external_property() instead)Úoptargsc                 óN   — |\  }}|                       ||t          j        ¦  «        S rÌ   )Ú&_MesonMain__get_external_property_implr   ÚHOST©r†   rŠ   r·   r  r  s        r2   r�   z#MesonMain.get_cross_property_method¦  s)   € ð
 "Ñˆ�(Ø×0Ò0°¸8Å]ÔEWÑXÔXÐXr1   zmeson.get_external_propertyc                 óF   — |\  }}|                       |||d         ¦  «        S )Nr'   )r  r!  s        r2   r‚   z&MesonMain.get_external_property_method®  s+   € ð
 "Ñˆ�(Ø×0Ò0°¸8ÀVÈHÔEUÑVÔVÐVr1   zmeson.has_external_propertyc                 óP   — |d         }|| j         j        j        |d                  v S )Nr   r'   )rD   r¨   r  )r†   rŠ   r·   Ú	prop_names       r2   rƒ   z&MesonMain.has_external_property_method¶  s+   € ð ˜”Gˆ	Ø˜DÔ,Ô8ÔCÀFÈ8ÔDTÔUÐUÐUr1   rd   r¨   z0.62.0r;   c                 ó   — |d         }t          j        |¦  «        }|rt          j        d|› �¦  «        ‚t	          ||d         |d         ¦  «        }t          |t          j        ¦  «        sJ ‚| j        j                             |¦  «         d S )Nr   z"add_devenv": r?   r@   )	r   Ú	validatorr   ÚInvalidArgumentsr   r‘   ÚEnvironmentVariablesÚdevenvr>   )r†   rŠ   r·   ÚenvÚmsgÚ	converteds         r2   r…   zMesonMain.add_devenv_method½  s“   € ð
 �1ŒgˆÝÔ˜sÑ#Ô#ˆØð 	AÝÔ(Ð)?¸#Ð)?Ð)?Ñ@Ô@Ð@Ý-¨c°6¸(Ô3CÀVÈKÔEXÑYÔYˆ	Ý˜)¥UÔ%?Ñ@Ô@Ð@Ð@Ð@ØŒ
Ô× Ò  Ñ+Ô+Ð+Ð+Ð+r1   )r   rC   rD   r#   )F)Lr)   r*   r+   rf   r7   r-   ÚUnionr   r•   r   r’   r   ÚListrœ   ÚSequencerª   r«   r¬   r³   r   r   r   r/   r   ÚTuplerw   r   rx   ry   r   ro   rp   r„   r   rq   rr   r   rs   rt   ru   rv   rk   rl   rÛ   rj   r   ri   rm   rn   rz   r|   r   Ú
Dependencyr{   r.   rý   r}   r~   r   r   r€   Úobjectr   r  r   r�   r‚   rƒ   r   r   ÚevolveÚlistÚdictr(  r…   Ú__classcell__)r‡   s   @r2   rB   rB   2   sÂ  ø€ € € € € ð! ð ! ð ! ð ! ð ! ð ! ðFØðØ#$¤7¨3°´¸uÔ?OÐQ`Ð+`Ô#aðà”&˜”+ðà";ðð ð ð ð*#Øð#Ø#$¤:¨a¬gØ�X”] EÔ$5°uÔ7IØÔ'Øð!ô/ô $ð#ð
 ”6˜#”;ð#ð #ð #ð #ðJ €^Ø"Ø	ˆhŒm˜UÔ-¨Ð?Ø�h”m UÔ%6¸Ô8JÈEÔLcÐetÐuðñ ô ð
 €\Ø"Øˆ	Ð# T°5ÀÐIÑIÔIØˆ	�- # x ¸ÐAÑAÔAñô ð
	2à”'˜!œ' # x¤}°eÔ6FÈÐ"WÔXØœ& ¤¨¨h¬m¸UÔ=NÐPUÔPbÐdiÔd{ð  ~Mð  *Mô  "Nô  OðOô Pð	2ð )ð		2ð .2ð		2ð 	2ð 	2ñô ñô ð	2ð €^Ø#Ø	ˆhŒm˜_Ð-Ø�h”m _Ð5ðñ ô ð
 ð3à”'˜!œ' # x¤}°oÐ"EÔFØœ& ¤¨¨h¬m¸_Ð)LÔ!MÔNðOô Pð3ð "ð	3ð '+ð	3ð 3ð 3ñ „Xñô ð3ð €^ØØ	ˆhŒm˜_Ð-Ø�h”m _Ð5ðñ ô ð
 ð/à”'˜!œ' # x¤}°oÐ"EÔFØœ& ¤¨¨h¬m¸_Ð)LÔ!MÔNðOô Pð/ð "ð	/ð '+ð	/ð /ð /ñ „Xñô ð/ð Øð&¨a¬f°ZÔ.@ð &È-ð &Ð\_ð &ð &ð &ñ „Xñ „Yð&ð Øð&¨Q¬V°JÔ-?ð &Èð &Ð[^ð &ð &ð &ñ „Xñ „Yð&ð Øð- 1¤6¨*Ô#5ð -¸}ð -ÐQTð -ð -ð -ñ „Xñ „Yð-ð ØØÐÐ*¨HÐ6~ÑÔð7 q¤v¨jÔ'9ð 7À=ð 7ÐUXð 7ð 7ð 7ñ @Ôñ „Xñ „Yð7ð ØØÐÐ)¨8Ð5{Ñ|Ô|ð6 a¤f¨ZÔ&8ð 6À-ð 6ÐTWð 6ð 6ð 6ñ }Ô|ñ „Xñ „Yð6ð ØØ€ZÐ+¨XÑ6Ô6ð&¨q¬v°jÔ/Að &È=ð &Ð]`ð &ð &ð &ñ 7Ô6ñ „Xñ „Yð&ð ØØ€ZÐ*¨HÑ5Ô5ð&¨a¬f°ZÔ.@ð &È-ð &Ð\_ð &ð &ð &ñ 6Ô5ñ „Xñ „Yð&ð ØØ€ZÐ*¨HÑ5Ô5ð7¨a¬f°ZÔ.@ð 7È-ð 7Ð\_ð 7ð 7ð 7ñ 6Ô5ñ „Xñ „Yð7ð ØØ€ZÐ)¨8Ñ4Ô4ð6¨Q¬V°JÔ-?ð 6Èð 6Ð[^ð 6ð 6ð 6ñ 5Ô4ñ „Xñ „Yð6ð ØØÐÐ.°Ð:dÑeÔeð2¨1¬6°*Ô+=ð 2À}ð 2ÐY]ð 2ð 2ð 2ñ fÔeñ „Xñ „Yð2ð ØØ€ZÐ-¨xÑ8Ô8ð2°´¸
Ô1Cð 2È]ð 2Ð_cð 2ð 2ð 2ñ 9Ô8ñ „Xñ „Yð2ð
¨Tð 
ð 
ð 
ð 
ð Øð7¨!¬&°Ô*<ð 7Àmð 7ÐX\ð 7ð 7ð 7ñ „Xñ „Yð7ð €^Ð(¨#Ñ.Ô.Ø€\Ð&¨	Ñ2Ô2ð[¨¬°¬ð [¸jð [ÈZð [ð [ð [ñ 3Ô2ñ /Ô.ð[ð Øð` A¤F¨:Ô$6ð `Àð `ÐRVð `ð `ð `ñ „Xñ „Yð`ð Øð0¨¬°
Ô);ð 0À]ð 0ÐW[ð 0ð 0ð 0ñ „Xñ „Yð0ð €^Ð7¸Ñ=Ô=Øð/°q´w¸s´|ð /È]ð /Ð_cð /ð /ð /ñ „Xñ >Ô=ð/ð €ZÐ-¨xÑ8Ô8Ø€^Ð1°3¸¼ÈÐY^ÔYiÐ8jÑkÔkØð>°´¸¸a¼gÀhÄmÐUdÐfkÔfvÐFvÔ>wÐ9wÔ1xð >ð  CPð >ð  UYð >ð >ð >ñ „Xñ lÔkñ 9Ô8ð>ð €\Ø#ØØˆ	�(˜T 8Ð,°HÐ=Ñ=Ô=ñô ð
 €^Ð/°°lÔ6MÑNÔNØ€ZÐ+¨XÑ6Ô6ðM¨q¬w°s¸LÔ<SÐ7SÔ/Tð MÐ^vð MÐ{ð Mð Mð Mñ 7Ô6ñ OÔNñô ðMðB PUðIð I¨cð I¸Ô8Oð IÐYqð IØ*+¬*°TÔ*:ðIØHLðIØY]ðIð Ið Ið Ið* ØðT¨1¬6°*Ô+=ð TÀ}ð TÐY\ð Tð Tð Tñ „Xñ „YðTð €ZÐ)¨8Ñ4Ô4ØØðT¨1¬6°*Ô+=ð TÀ}ð TÐYZÔY_Ð`cÔYdð Tð Tð Tñ „Xñ „Yñ 5Ô4ðTð ØðE 1¤6¨*Ô#5ð E¸}ð EÐQcð Eð Eð Eñ „Xñ „YðEð Øð3¨¬¨zÔ(:ð 3ÀMð 3ÐVYð 3ð 3ð 3ñ „Xñ „Yð3ðt°Sð tÀAÄJÈvÔDVð tÐanð tÐsyð tð tð tð tð ØÐÐ1°8Ð=hÑiÔiØ€^Ð.°¸f¸XÐFÑFÔFØðY¨a¬g°c¸1¼:ÀfÔ;MÐ6MÔ.Nð YÐXeð YÐjpð Yð Yð Yñ „Xñ GÔFñ jÔiñ ÔðYð Ø€ZÐ-¨xÑ8Ô8Ø€^Ð1°3ÀÀÐIÑIÔIØ€\Ð/°Ñ;Ô;ðW°´¸¸a¼jÈÔ>PÐ9PÔ1Qð WÐ[eð WÐjpð Wð Wð Wñ <Ô;ñ JÔIñ 9Ô8ñ ÔðWð €ZÐ-¨xÑ8Ô8Ø€^Ð1°3Ñ7Ô7Ø€\Ð/°Ñ;Ô;ðV°´¸´ð VÀzð VÐVZð Vð Vð Vñ <Ô;ñ 8Ô7ñ 9Ô8ðVð €Z�˜hÑ'Ô'Ø€\�- Ð0GÐ0@Ô0GÈhÐ0WÑ0WÔ0WÑXÔXØ€^�L 3¨¨d°EÔ4NÐ"OÑPÔPð, a¤g¨a¬g°c¸4ÀÀuÔGaÐ6aÔ.bÔ&cð ,Ø"/ð,Ø48ð,ð ,ð ,ñ QÔPñ YÔXñ (Ô'ð,ð ,ð ,ð ,ð ,r1   rB   )3rŸ   Útypingr-   rÀ   r   r   r   r   r   r	   Úprogramsr
   r   Úinterpreter.type_checkingr   r   r   r   Úinterpreterbaser   r   r   r   r   r   r   r   r   r   Ú
primitivesr   Útype_checkingr   r   ÚTYPE_CHECKINGÚtyping_extensionsr   Úbackend.backendsr   rä   r    r!   r"   rD   r#   r$   r&   r4   r9   r;   rB   r0   r1   r2   ú<module>r@     s×  ðð
 
€	€	€	Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð +Ð *Ð *Ð *Ð *Ð *Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à„?ð Ø)Ð)Ð)Ð)Ð)Ð)Ø:Ð:Ð:Ð:Ð:Ð:Ø$Ð$Ð$Ð$Ð$Ð$Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø(Ð(Ð(Ð(Ð(Ð(à+Ð+Ð+Ð+Ð+Ð+ð!ð !ð !ð !ð ! ñ !ô !ð !ð
ð ð ð ð ˜Yñ ô ð ð
'ð 'ð 'ð 'ð '�9ñ 'ô 'ð 'ðð ð ð ð �iñ ô ð ð
V,ð V,ð V,ð V,ð V,Ð&ñ V,ô V,ð V,ð V,ð V,r1   