+
    UBi                    ~    ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIt^RI	H
t
HtHt ^RIHt  ! R R4      tR R	 ltR# )
    )annotationsN)Path)
Popen_safe
split_argsdetermine_worker_count)mlogc                  b    ] tR t^tR R ltR R ltR R ltR R ltR	 R
 ltRR R llt	Rt
R# )ExternalProjectc                   V ^8  d   QhRR/# )   optionszargparse.Namespace )formats   "G/usr/lib/python3.14/site-packages/mesonbuild/scripts/externalproject.py__annotate__ExternalProject.__annotate__   s     	- 	- 2 	-    c                	J   VP                   V n         VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  V n	        VP                  V n
        VP                  V n        \        VP                  4      V n        R # N)namesrcdirsrc_dirbuilddir	build_dir
installdirinstall_dirlogdirlog_dirverbose	stampfiledepfiler   make)selfr   s   &&r   __init__ExternalProject.__init__   sq    LL	~~ ))"--~~ **w||,	r   c                   V ^8  d   QhRR/# r   returnNoner   )r   s   "r   r   r      s     	U 	Ut 	Ur   c                	J   \        V P                  R RR7      ;_uu_ 4       pVP                  V P                   R24       \        P
                  ! V P                  4       F  w  r#pV Uu. uF  qUP                  R4      '       d   K  VNK  	  upVR&   V Fe  pVP                  R4      '       d   K  \        W&4      pVP                  RP                  VP                  4       P                  RR4      4      4       Kg  	  K  	  R	R	R	4       R	# u upi   + '       g   i     R	# ; i)
wutf-8encodingz: \
.:NNNz  {} \
 z\ N)openr!   writer    oswalkr   
startswithr   r   as_posixreplace)r#   fdirpathdirnames	filenamesdfnamepaths   &       r   write_depfileExternalProject.write_depfile   s    $,,g66!GGt~~&f-.020E,9*2L(Q,,s:Kqq(L&E'',, /DGGK..t}}/F/FsE/RST	 ' 1F 76 M 766s%   A	D*D
D
A5DDD"	c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r   &   s       r   c                	    \        V P                  R RR7      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)r+   r,   r-   N)r1   r    )r#   s   &r   write_stampfileExternalProject.write_stampfile&   s'    $..#88 9888s   ->	c                   V ^8  d   QhRR/# )r   r(   boolr   )r   s   "r   r   r   *   s      D r   c                	    \        V P                  R .,           4      w  rpVP                  ^ 8X  d   RV9   g   RV9   d   R# R# )z	--versionzGNU MakewafTF)r   r"   
returncode)r#   poes   &   r   supports_jobs_flag"ExternalProject.supports_jobs_flag*   s9    TYY+67a<<1*/UaZr   c                   V ^8  d   QhRR/# )r   r(   intr   )r   s   "r   r   r   0   s      s r   c                	   V P                   P                  4       pV P                  4       '       d   VP                  R \	        4        24       V P                  RV4      pV^ 8w  d   V# V P                   P                  4       p/ pV P                  VR&   VP                  R4       V P                  RW44      pV^ 8w  d   V# V P                  4        V P                  4        ^ # )z-jbuildDESTDIRinstall)	r"   copyrM   appendr   _runr   r?   rC   )r#   make_cmdrcinstall_cmdinstall_envs   &    r   rR   ExternalProject.build0   s    99>>#""$$OOb!7!9 :;<YYw)7Iiinn&!%!1!1I9%YYy+;7Ir   Nc               (    V ^8  d   QhRRRRRRRR/# )	r   stepstrcommandT.List[str]envzT.Optional[T.Dict[str, str]]r(   rP   r   )r   s   "r   r   r   E   s*       { 9U ad r   c                	   R \        V4      ,           R,           \        V P                  4      ,           R,           p\        V P                  V P                   RV R24      pRpV P
                  '       g8   \        VRRR7      pVP                  VR,           4       VP                  4        M\        V4       \        P                  P                  4       pV'       d   VP                  V4       \        V\        P                   VV P                  VR	7      w  rp
VP"                  ^ 8w  d   V R
VP"                   R2pV P
                  '       g   VR\        V4      ,           ,          p\        V4       \$        P&                  ! VR\        P(                  P+                  V4       R24      pV'       d   \        V4       VP"                  # )zRunning command z in directory 
-z.logNr+   r,   r-   )stderrstdoutcwdrb   z step returned error code r/   z
See logs: z%CI platform detected, click here for z
 contents.)r_   r   r   r   r   r   r1   r2   flushprintr3   environrU   updater   
subprocessSTDOUTrI   r   ci_fold_filer>   basename)r#   r^   r`   rb   mlogfileoutputrun_envrJ   rK   rL   contentss   &&&&        r   rW   ExternalProject._runE   sZ   W-0@@3t~~CVVY]]t||		{!D6%>?|||'39FLLT"LLN!H**//#NN3WZ->->v!%!(*a <<1&21<<.BA<<<^c'l22!H((4YZ\ZaZaZjZjkrZsYtt~2  AHh||r   )	r   r!   r   r   r"   r   r   r    r   r   )__name__
__module____qualname____firstlineno__r$   r?   rC   rM   rR   rW   __static_attributes__r   r   r   r
   r
      s&    	-	U* r   r
   c                    V ^8  d   QhRRRR/# )r   argsra   r(   rP   r   )r   s   "r   r   r   _   s      k c r   c                   \         P                  ! 4       pVP                  R 4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP                  RRR7       VP                  R	4       VP                  R
4       VP                  V 4      p\	        V4      pVP                  4       # )z--namez--srcdirz
--builddirz--installdirz--logdirz--makez	--verbose
store_true)actionr    r!   )argparseArgumentParseradd_argument
parse_argsr
   rR   )r}   parserr   eps   &   r   runr   _   s    $$&F
!

#
%
'

#
!
L9
$
	"%G		!B88:r   )
__future__r   r3   r   rm   pathlibr   typingTmesonlibr   r   r    r   r
   r   r   r   r   <module>r      s4    # 	     E E N N`r   