§
    ƒnócÞ7  ã                  óh  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	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mZmZmZmZ d dlmZ d dlmZ d d	lmZmZmZ d
dl m!Z! g d¢Z"ddddœZ#d„ Zd„ Z$d'd„Z%dZ&d(d„Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d „ Z0d!„ Z1d"„ Z2d#„ Z3d$„ Z4d%„ Z5d&„ Z6dS ))é    )ÚannotationsN)Úglob)ÚPath)Údetect_ninja)ÚMesonExceptionÚRealPathActionÚ	quiet_gitÚwindows_proof_rmtreeÚsetup_vsenv)Úadd_arguments)Úwrap)ÚmlogÚbuildÚcoredataé   )Úrun_exe)ÚgztarÚxztarÚzipz.tar.gzz.tar.xzú.zipc                ó  — |                       ddt          d¬¦  «         |                       ddd¬¦  «         |                       d	d
d¬¦  «         |                       ddd¬¦  «         |                       ddd¬¦  «         d S )Nú-CÚwdz#directory to cd into before running)ÚdestÚactionÚhelpz--allow-dirtyÚ
store_truez8Allow even when repository contains uncommitted changes.)r   r   z	--formatsr   zZComma separated list of archive types to create. Supports xztar (default), gztar, and zip.)Údefaultr   z--include-subprojectszEInclude source code of subprojects that have been used for the build.z
--no-testsz)Do not build and test generated packages.)Úadd_argumentr   )Úparsers    ú2/usr/lib/python3/dist-packages/mesonbuild/mdist.pyr   r   +   sÔ   € Ø
×Ò˜ 4µØBð ñ Dô Dð Dà
×Ò˜°ØWð ñ Yô Yð Yà
×Ò˜¨WØyð ñ {ô {ð {à
×ÒÐ/¸Ødð ñ fô fð fà
×Ò˜¨\ØHð ñ Jô Jð Jð Jð Jó    c           	     ó¦  — | dz   }t          j        ¦   «         }|                     t          | d¦  «                             ¦   «         ¦  «         t          |dd¬¦  «        5 }|                     d                     |                     ¦   «         t          j	         
                    | ¦  «        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
.sha256sumÚrbÚwzutf-8)Úencodingz{} *{}
)ÚhashlibÚsha256ÚupdateÚopenÚreadÚwriteÚformatÚ	hexdigestÚosÚpathÚbasename)ÚfnameÚhashnameÚmÚfs       r!   Úcreate_hashr6   8   s  € Ø�|Ñ#€HÝŒÑÔ€AØ‡H‚H�T�%˜ÑÔ×#Ò#Ñ%Ô%Ñ&Ô&Ð&Ý	ˆh˜ gÐ	.Ñ	.Ô	.ð K°!ð 	
�Š�
×!Ò! !§+¢+¡-¤-µ´×1AÒ1AÀ%Ñ1HÔ1HÑIÔIÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks   Á ACÃC
ÃC
ÚHEADc                ó„  — dddd|g}|�|                      dd|› d�¦  «         |�|                     d|g¦  «         t          j        ¦   «         5 }t	          j        || |¬	¦  «         |                     d
¦  «         t          j        |¬¦  «        }| 	                    |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚgitÚarchivez--formatÚtaré   z	--prefix=ú/z--)ÚcwdÚstdoutr   )Úfileobj)r0   )
ÚinsertÚextendÚtempfileÚTemporaryFileÚ
subprocessÚ
check_callÚseekÚtarfiler*   Ú
extractall)ÚsrcÚdistdirÚrevisionÚprefixÚsubdirÚcmdr5   Úts           r!   Úcopy_gitrQ   B   s  € Ø�)˜Z¨°Ð
9€CØÐØ�
Š
�1Ð+ &Ð+Ð+Ð+Ñ,Ô,Ð,ØÐØ�
Š
�D˜&�>Ñ"Ô"Ð"Ý	Ô	Ñ	!Ô	!ð # QÝÔ˜c s°1Ð5Ñ5Ô5Ð5Ø	�Šˆq‰	Œ	ˆ	ÝŒL Ð#Ñ#Ô#ˆØ	�Š˜'ˆÑ"Ô"Ð"ð	#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   ÁAB5Â5B9Â<B9zPRepository has uncommitted changes that will not be included in the dist tarballÚallow_dirtyÚboolc                ó’   — |rt          j        | ¦  «         d S t          j        | dz   dz   ¦  «         t          j        d¦  «         d S )Nú
z:Use --allow-dirty to ignore the warning and proceed anywayr   )r   ÚwarningÚerrorÚsysÚexit)ÚmsgrR   s     r!   Úhandle_dirty_optr[   P   sK   € Øð ÝŒ�SÑÔÐÐÐåŒ
�3˜‘:Ð \Ñ\Ñ]Ô]Ð]ÝŒ�‰Œˆˆˆr"   c                óT  — t           j                             | d¦  «        }t           j                             |¦  «        sd S g d¢}t	          j        || d¬¦  «                             ¦   «         }|D ]¶}|d d…         }|dd …                              dd¦  «        \  }}	|	                     dd¦  «        d         }
|dk    rt          j
        d	|
›d
�¦  «         Œh|dv rt          d	|
›d�|j        ¦  «         t          t           j                             | |
¦  «        |||
¬¦  «         Œ·d S )Nz.gitmodules)r9   Ú	submoduleÚstatusz--cachedz--recursiveT)r>   Úuniversal_newlinesr   ú r   ú-z
Submodule z3 is not checked out and cannot be added to the dist>   ÚUú+zF has uncommitted changes that will not be included in the dist tarball)rL   rM   )r/   r0   ÚjoinÚexistsrE   Úcheck_outputÚ
splitlinesÚsplitÚrsplitr   rV   r[   rR   rQ   )rJ   rK   ÚoptionsÚmodule_filerO   Úmodlistr]   r^   Úsha1ÚrestÚsubpaths              r!   Úprocess_submodulesrp   W   sQ  € Ý”'—,’,˜s MÑ2Ô2€KÝŒ7�>Š>˜+Ñ&Ô&ð ØˆØ
CÐ
CÐ
C€CÝÔ% c¨sÀtÐLÑLÔL×WÒWÑYÔY€GØð Uð Uˆ	Ø˜2˜A˜2”ˆØ˜q˜r˜r”]×(Ò(¨¨aÑ0Ô0‰
ˆˆdØ—+’+˜c 1Ñ%Ô% aÔ(ˆà�SŠ=ˆ=ÝŒLÐd gÐdÐdÐdÑeÔeÐeØØ�zÐ!Ð!ÝÐ{¨'Ð{Ð{Ð{ð  ~Eô  ~Qñ  Rô  Rð  Rå•”—’˜c 7Ñ+Ô+¨W¸tÈGÐTÑTÔTÐTÐTðUð Ur"   c                ó¼  — t           j                             |¦  «        sJ ‚i }||d<   | |d<   ||d<   |D �]%}|j        r
|j        |vrŒ|                     |j        d¦  «        }t           j                             ||¦  «        |d<   t           j                             | |¦  «        |d<   t           j                             ||¦  «        |d<   d                     |j        ¦  «        }t          d	|›�¦  «         	 t          ||¦  «        }	|	d
k    rt          j
        d¦  «         Œð# t          $ r* t          d|›�¦  «         t          j
        d¦  «         Y �Œ#w xY wd S )NÚMESON_DIST_ROOTÚMESON_SOURCE_ROOTÚMESON_BUILD_ROOTÚ ÚMESON_PROJECT_DIST_ROOTÚMESON_PROJECT_SOURCE_ROOTÚMESON_PROJECT_BUILD_ROOTr`   zRunning custom dist script r   zDist script errored outzFailed to run dist script r   )r/   r0   ÚisabsÚ
subprojectÚgetrd   Úcmd_argsÚprintr   rX   rY   ÚOSError)
Úsrc_rootÚbld_rootÚ	dist_rootÚdist_scriptsÚsubprojectsÚenvÚdrN   ÚnameÚrcs
             r!   Úrun_dist_scriptsrˆ   k   st  € ÝŒ7�=Š=˜Ñ#Ô#Ð#Ð#Ð#Ø
€CØ&€CÐÑØ'€CÐÑØ&€CÐÑØð ñ ˆØŒ<ð 	˜AœL°Ð;Ð;ØØ—’ ¤¨rÑ2Ô2ˆÝ)+¬¯ª°iÀÑ)HÔ)HˆÐ%Ñ&Ý+-¬7¯<ª<¸À&Ñ+IÔ+IˆÐ'Ñ(Ý*,¬'¯,ª,°xÀÑ*HÔ*HˆÐ&Ñ'Ø�xŠx˜œ
Ñ#Ô#ˆÝÐ4¨DÐ4Ð4Ñ5Ô5Ð5ð	Ý˜˜C‘”ˆBØ�QŠwˆwÝ”Ð2Ñ3Ô3Ð3øøÝð 	ð 	ð 	ÝÐ7¨tÐ7Ð7Ñ8Ô8Ð8ÝŒH�Q‰KŒKˆKˆK‰Kð	øøøðð s   Ã:*D%Ä%0EÅEc                óø   — t          ddg| d¬¦  «        d                              ¦   «         }|st          | ¦  «        S t          t          |¦  «        j        ¦  «        }t          | ¦  «        j        |dz
           S )Nz	rev-parsez--show-prefixT)Úcheckr   )r	   Ústripr   ÚlenÚparents)r   rM   Úprefix_levels      r!   Úgit_rootr�   ‚   sq   € õ ˜ _Ð5°xÀtÐLÑLÔLÈQÔO×UÒUÑWÔW€FØð Ý�H‰~Œ~ÐÝ•t˜F‘|”|Ô+Ñ,Ô,€LÝ�‰>Œ>Ô! ,°Ñ"2Ô3Ð3r"   c                ó2   — t          g d¢| ¦  «        d         S )zœ
    Checks if meson.build file at the root source directory is tracked by git.
    It could be a subproject part of the parent project git repository.
    )zls-filesz--error-unmatchzmeson.buildr   )r	   ©r   s    r!   Úis_gitr’   ‹   s    € õ
 ÐCÐCÐCÀXÑNÔNÈqÔQÐQr"   c                óB   — t          j        dd| dddg¦  «        }|dk    S )z2Check whether there are uncommitted changes in gitr9   r   z
diff-indexz--quietr7   r   )rE   Úcall)r   Úrets     r!   Úgit_have_dirty_indexr–   ’   s'   € å
Œ/˜5 $¨°,À	È6ÐRÑ
SÔ
S€CØ�!Š8€Or"   c                óÜ  — t          | ¦  «        rt          t          |j        ¦  «         t          j                             |¦  «        rt          |¦  «         t          | ¦  «        }| 	                    | ¦  «        r%t	          j
        |¦  «         t          | |¦  «         nºt          | ¦  «                             |¦  «        }|dz   }t          j                             |¦  «        rt          |¦  «         t	          j
        |¦  «         t          ||t          |¦  «        ¬¦  «         t          ||¦  «                             |¦  «         t          |¦  «         t!          | ||¦  «         d S )Nz-tmp)rN   )r–   r[   Úmsg_uncommitted_changesrR   r/   r0   re   r
   r�   ÚsamefileÚmakedirsrQ   r   Úrelative_toÚstrÚrenamerp   )r   rK   rj   Ú	repo_rootrN   Útmp_distdirs         r!   Úprocess_git_projectr    —   sG  € Ý˜HÑ%Ô%ð GÝÕ0°'Ô2EÑFÔFÐFÝ	„w‡~‚~�gÑÔð &Ý˜WÑ%Ô%Ð%Ý˜Ñ"Ô"€IØ×Ò˜(Ñ#Ô#ð *Ý
Œ�GÑÔÐÝ�˜7Ñ#Ô#Ð#Ð#å�h‘”×+Ò+¨IÑ6Ô6ˆØ Ñ&ˆÝŒ7�>Š>˜+Ñ&Ô&ð 	.Ý  Ñ-Ô-Ð-Ý
Œ�KÑ Ô Ð Ý�˜Kµ°F±´Ð<Ñ<Ô<Ð<Ýˆ[˜&Ñ!Ô!×(Ò(¨Ñ1Ô1Ð1Ý˜[Ñ)Ô)Ð)Ý�x ¨'Ñ2Ô2Ð2Ð2Ð2r"   c                óŽ  — t           j                             || ¦  «        }t          |||¦  «         |                     ¦   «         D ]˜}	t           j                             ||	¦  «        }
t           j                             ||	¦  «        }t           j                             |¦  «        rŒbt          |
¦  «        rt          |
||¦  «         Œƒt          j        |
|¦  «         Œ™t          |||||¦  «         g }|D ]?}|t          |         z   }t          j        |||| ¬¦  «         |                     |¦  «         Œ@t          |¦  «         |S )N)Úroot_dirÚbase_dir)r/   r0   rd   r    Úvaluesre   r’   ÚshutilÚcopytreerˆ   Úarchive_extensionÚmake_archiveÚappendr
   )Ú	dist_nameÚarchivesr   r€   Údist_subr‚   rƒ   rj   rK   r0   Úsub_src_rootÚsub_distdirÚoutput_namesÚaÚcompressed_names                  r!   Úcreate_dist_gitr²   «   s@  € ÝŒg�lŠl˜8 YÑ/Ô/€GÝ˜ '¨7Ñ3Ô3Ð3Ø×"Ò"Ñ$Ô$ð 7ð 7ˆÝ”w—|’| H¨dÑ3Ô3ˆÝ”g—l’l 7¨DÑ1Ô1ˆÝŒ7�>Š>˜+Ñ&Ô&ð 	ØÝ�,ÑÔð 	7Ý ¨k¸7ÑCÔCÐCÐCåŒO˜L¨+Ñ6Ô6Ð6Ð6Ý�X˜x¨°,ÀÑLÔLÐLØ€LØð -ð -ˆØ!Õ$5°aÔ$8Ñ8ˆÝÔ˜G Q°ÀIÐNÑNÔNÐNØ×Ò˜OÑ,Ô,Ð,Ð,Ý˜Ñ!Ô!Ð!ØÐr"   c                ó|   — t           j                             t           j                             | d¦  «        ¦  «        S )Nz.hg)r/   r0   Úisdirrd   r‘   s    r!   Úis_hgrµ   À   s&   € ÝŒ7�=Š=�œŸš h°Ñ6Ô6Ñ7Ô7Ð7r"   c                ó:   — t          j        dd| dg¦  «        }d|vS )z1Check whether there are uncommitted changes in hgÚhgú-RÚsummarys   commit: (clean))rE   rf   )r   Úouts     r!   Úhg_have_dirty_indexr»   Ã   s&   € å
Ô
! 4¨¨x¸Ð"CÑ
DÔ
D€CØ SÐ(Ð(r"   c                ó>  — t          |¦  «        rt          t          |j        ¦  «         |rt	          j        d¦  «         t          j        |d¬¦  «         t          j         	                    || dz   ¦  «        }|dz   }|dz   }	t          j         	                    || dz   ¦  «        }
t          j        dd	d
|dddd|dz   |g
¦  «         g }d|v r„dd l}|                     |d¦  «        5 }t          |d¦  «        5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «         d|v rt#          j        |	d¦  «        5 }t          |d¦  «        5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |	¦  «         t          j        |¦  «         d|v r1t          j        dd	d
|ddd|
g¦  «         |                     |
¦  «         |S )Nz4dist scripts are not supported in Mercurial projectsT)Úexist_okz.tarz.xzz.gzr   r·   r:   r¸   z-Sz-tr;   z-Xz
/.hg[a-z]*r   r   Úwbr$   r   r   )r»   r[   r˜   rR   r   rV   r/   rš   r0   rd   rE   rF   Úlzmar*   r¥   Úcopyfileobjr©   ÚgzipÚunlink)rª   r«   r   r€   r¬   r‚   rj   ÚtarnameÚxznameÚgznameÚzipnamer¯   r¿   ÚxfÚtfÚzfs                   r!   Úcreate_dist_hgrÊ   È   s,  € Ý˜8Ñ$Ô$ð GÝÕ0°'Ô2EÑFÔFÐFØð MÝŒÐKÑLÔLÐLå„K� 4Ð(Ñ(Ô(Ð(ÝŒg�lŠl˜8 Y°Ñ%7Ñ8Ô8€GØ�u‰_€FØ�u‰_€FÝŒg�lŠl˜8 Y°Ñ%7Ñ8Ô8€Gõ Ô˜4 ¨D°(¸DÀ$ÈØ ¨LÑ!8¸'ðCñ Dô Dð Dà€LØ�(ÐÐØˆˆˆØ�YŠY�v˜tÑ$Ô$ð 	'¨­D°¸$Ñ,?Ô,?ð 	'À2ÝÔ˜r 2Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'à×Ò˜FÑ#Ô#Ð#Ø�(ÐÐÝŒY�v˜tÑ$Ô$ð 	'¨­D°¸$Ñ,?Ô,?ð 	'À2ÝÔ˜r 2Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'à×Ò˜FÑ#Ô#Ð#Ý„IˆgÑÔÐØ�ÐÐÝÔ˜t Y°°hÀÀdÈEÐSZÐ[Ñ\Ô\Ð\Ø×Ò˜GÑ$Ô$Ð$ØÐsl   Ã'D1Ã8DÄD1ÄD	ÄD1Ä!D	Ä"D1Ä1D5Ä8D5Å*F4Å;FÆF4ÆF!	Æ!F4Æ$F!	Æ%F4Æ4F8Æ;F8c                ó¾  — t          j        | d||gz   ¦  «        dk    rt          d¦  «         dS t          j        ||¬¦  «        dk    rt          d¦  «         dS t          j        |dgz   |¬¦  «        dk    rt          d¦  «         dS t          j                             ¦   «         }||d	<   t          j        |d
gz   ||¬¦  «        dk    rt          d¦  «         dS dS )Nz--backend=ninjar   z,Running Meson on distribution package failedr   )r>   z)Compiling the distribution package failedÚtestz5Running unit tests on the distribution package failedÚDESTDIRÚinstall)r>   r„   z*Installing the distribution package failed)rE   r”   r}   r/   ÚenvironÚcopy)Úmeson_commandÚunpacked_src_dirÚbuilddirÚ
installdirÚ
ninja_argsÚmyenvs         r!   Úrun_dist_stepsr×   í   sô   € Ý„�}Ð(9Ð;KÈXÐ'VÑVÑWÔWÐ[\Ò\Ð\ÝÐ<Ñ=Ô=Ð=ØˆqÝ„�z xÐ0Ñ0Ô0°AÒ5Ð5ÝÐ9Ñ:Ô:Ð:ØˆqÝ„�z V HÑ,°(Ð;Ñ;Ô;¸qÒ@Ð@ÝÐEÑFÔFÐFØˆqÝŒJ�OŠOÑÔ€EØ!€Eˆ)ÑÝ„�z Y KÑ/°XÀ5ÐIÑIÔIÈQÒNÐNÝÐ:Ñ;Ô;Ð;ØˆqØˆ1r"   c                ó^  — t          d| › �¦  «         t          j                             |d¦  «        }t          j                             |d¦  «        }t          j                             |d¦  «        }|||fD ]D}t          j                             |¦  «        rt          |¦  «         t          j        |¦  «         ŒEt          ¦   «         }	t          j	        | |¦  «         t          t          j                             |d¦  «        ¦  «        }
t          |
¦  «        dk    sJ ‚|
d         }|t          |¦  «        z  }||z  }t          |||||	¦  «        }|dk    rt          d|› �¦  «         n@t          |¦  «         t          |¦  «         t          |¦  «         t          d	| › d
�¦  «         |S )NzTesting distribution package zdist-unpackz
dist-buildzdist-installÚ*r   r   zDist check build directory was zDistribution package z tested)r}   r/   r0   rd   re   r
   Úmkdirr   r¥   Úunpack_archiver   rŒ   Úcreate_cmdline_argsr×   )ÚpackagenamerÑ   Úextra_meson_argsr€   ÚprivdirÚ	unpackdirrÓ   rÔ   ÚprÕ   Úunpacked_filesrÒ   r•   s                r!   Ú
check_distrã   þ   sŸ  € Ý	Ð
7¨+Ð
7Ð
7Ñ8Ô8Ð8Ý”—’˜W mÑ4Ô4€IÝŒw�|Š|˜G \Ñ2Ô2€HÝ”—’˜g ~Ñ6Ô6€JØ˜ :Ð.ð ð ˆÝŒ7�>Š>˜!ÑÔð 	$Ý  Ñ#Ô#Ð#Ý
Œ�‰ŒˆˆÝ‘”€JÝ
Ô˜+ yÑ1Ô1Ð1Ý�"œ'Ÿ,š, y°#Ñ6Ô6Ñ7Ô7€NÝˆ~ÑÔ !Ò#Ð#Ð#Ð#Ø% aÔ(ÐØÕ(¨Ñ2Ô2Ñ2€MØÐ%Ñ%€Må
˜Ð(8¸(ÀJÐPZÑ
[Ô
[€CØ
ˆQ‚w€wÝÐ:°Ð:Ð:Ñ;Ô;Ð;Ð;å˜YÑ'Ô'Ð'Ý˜XÑ&Ô&Ð&Ý˜ZÑ(Ô(Ð(ÝÐ: kÐ:Ð:Ð:Ñ;Ô;Ð;Ø€Jr"   c                óh  — t          j        ¦   «         }t          |¦  «         |                     g ¦  «        }t	          j        |¦  «         t	          j        | |¦  «         |j                             t	          j	        d¦  «        d¦  «         t          j        t	          j        |¦  «        ¦  «        S )NÚbackendru   )ÚargparseÚArgumentParserÚmsetup_argparseÚ
parse_argsr   Úparse_cmd_line_optionsÚread_cmd_line_fileÚcmd_line_optionsÚpopÚ	OptionKeyÚshlexrh   Úformat_cmd_line_options)r€   r    Úargss      r!   rÜ   rÜ     s”   € ÝÔ$Ñ&Ô&€FÝ�FÑÔÐØ×Ò˜RÑ Ô €DÝÔ# DÑ)Ô)Ð)ÝÔ ¨$Ñ/Ô/Ð/ØÔ×Ò�hÔ0°Ñ;Ô;¸RÑ@Ô@Ð@ÝŒ;•xÔ7¸Ñ=Ô=Ñ>Ô>Ð>r"   c                ó  — g }| j                              d¦  «        D ]@}|t          vr t          j        d|› dt          › d�¦  «         |                     |¦  «         ŒAt          |¦  «        dk    rt          j        d¦  «         |S )Nú,zValue "z" not one of permitted values ú.r   zNo archive types specified.)Úformatsrh   Úarchive_choicesrX   rY   r©   rŒ   )rj   ÚresultÚis      r!   Údetermine_archives_to_generaterù   "  s�   € Ø€FØŒ_×"Ò" 3Ñ'Ô'ð ð ˆØ•OÐ#Ð#ÝŒHÐR˜qÐRÐRÅÐRÐRÐRÑSÔSÐSØ�Š�aÑÔÐÐÝ
ˆ1�v„v�‚{€{ÝŒÐ.Ñ/Ô/Ð/Ø€Mr"   c           
     ó¤  — t          | j        ¦  «        dz  dz  }|                     ¦   «         st          d| j        ›d�¦  «        ‚t	          j        | j        ¦  «        }t          |j        ¦  «         ddlm	} |j
        j        }|j
        j        }t          j                             |d¦  «        }t          j                             |d¦  «        }|j        dz   |j        z   }t%          | ¦  «        }	i }
g }| j        r�t          j                             ||j        ¦  «        }|j        D ]?}t-          j        ||¦  «        }t          j                             |j        |¦  «        |
|<   Œ@|                     d	¦  «         t3          |¦  «        rt5          ||	||||j        |
| ¦  «        }nNt9          |¦  «        r.|
rt;          d
¦  «         dS t=          ||	||||j        | ¦  «        }nt;          d¦  «         dS |€dS d}| j        s!tA          |d          |¦   «         |||¦  «        }|dk    r$|D ]!}tC          |¦  «         t;          d|¦  «         Œ"|S )Nzmeson-privatez	build.datz
Directory z- does not seem to be a Meson build directory.r   )Úget_meson_commandz
meson-distra   z-Dwrap_mode=nodownloadzC--include-subprojects option currently not supported with Mercurialr   z5Dist currently only works with Git or Mercurial reposÚCreated)"r   r   Úis_filer   r   Úloadr   Ú
need_vsenvÚmesonbuild.mesonlibrû   ÚenvironmentÚ
source_dirÚ	build_dirr/   r0   rd   Úproject_nameÚproject_versionrù   Úinclude_subprojectsÚsubproject_dirrƒ   r   Úget_directoryr©   r’   r²   r‚   rµ   r}   rÊ   Úno_testsrã   r6   )rj   Ú	buildfileÚbrû   r   r€   Úpriv_dirr¬   rª   r«   rƒ   rÞ   r  ÚsubÚ	directoryÚnamesr‡   r†   s                     r!   Úrunr  ,  sw  € Ý�W”ZÑ Ô  ?Ñ2°[Ñ@€IØ×ÒÑÔð gÝÐe¨'¬*ÐeÐeÐeÑfÔfÐfÝŒ
�7”:ÑÔ€AÝ�”ÑÔÐð 6Ð5Ð5Ð5Ð5Ð5ØŒ}Ô'€HØŒ}Ô&€HÝŒw�|Š|˜H oÑ6Ô6€HÝŒw�|Š|˜H lÑ3Ô3€Hà” Ñ$ qÔ'8Ñ8€Iå-¨gÑ6Ô6€Hà€KØÐØÔ"ð :ÝœŸš h°Ô0@ÑAÔAˆØ”=ð 	Ið 	IˆCÝÔ*¨>¸3Ñ?Ô?ˆIÝ!œwŸ|š|¨AÔ,<¸iÑHÔHˆK˜ÑÐØ×ÒÐ 8Ñ9Ô9Ð9åˆhÑÔð 	Ý 	¨8°X¸xÈÐSTÔSaÐcnÐpwÑxÔxˆˆÝ	ˆx‰Œð Øð 	ÝÐWÑXÔXÐXØ�1Ý˜y¨(°H¸hÈÐRSÔR`ÐbiÑjÔjˆˆåÐEÑFÔFÐFØˆqØ€}ØˆqØ	
€BØÔð ]å˜˜aœÐ"3Ð"3Ñ"5Ô"5Ð7GÈÐS[Ñ\Ô\ˆØ	ˆQ‚w€wØð 	#ð 	#ˆDÝ˜ÑÔÐÝ�)˜TÑ"Ô"Ð"Ð"Ø€Ir"   )r7   NN)rR   rS   )7Ú
__future__r   ræ   rÁ   r/   rX   rï   r¥   rE   rH   rC   r'   r   Úpathlibr   Úmesonbuild.environmentr   r   r   r   r	   r
   r   Úmesonbuild.msetupr   rè   Úmesonbuild.wrapr   Ú
mesonbuildr   r   r   Úscripts.meson_exer   rö   r§   r6   rQ   r˜   r[   rp   rˆ   r�   r’   r–   r    r²   rµ   r»   rÊ   r×   rã   rÜ   rù   r  © r"   r!   ú<module>r     s¾  ðð #Ð "Ð "Ð "Ð "Ð "ð €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /ðDð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dð Dà >Ð >Ð >Ð >Ð >Ð >Ø  Ð  Ð  Ð  Ð  Ð  Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø &Ð &Ð &Ð &Ð &Ð &à+Ð+Ð+€à'Ø'Ø"ð$ð $Ð ð
Jð 
Jð 
JðKð Kð Kð
#ð 
#ð 
#ð 
#ð mÐ ðð ð ð ðUð Uð Uð(ð ð ð.4ð 4ð 4ðRð Rð Rðð ð ð
3ð 3ð 3ð(ð ð ð*8ð 8ð 8ð)ð )ð )ð
#ð #ð #ðJð ð ð"ð ð ð6?ð ?ð ?ðð ð ð/ð /ð /ð /ð /r"   