§
    ƒnóc£	  ã                  óŽ   — d dl mZ d dlZd dlZd dlZddlmZmZ ddlm	Z	m
Z
 ddlmZ d dlmZ d dlZd dlmZ d dlZdd„Zdd„ZdS )é    )ÚannotationsNé   )Údetect_ninjaÚdetect_scanbuild)Úget_cmd_line_fileÚCmdLineFileParser)Úwindows_proof_rmtree)ÚPath)Úliteral_evalÚexelistúT.List[str]Úsrcdirr
   ÚblddirÚprivdirÚlogdirÚargsÚreturnÚintc                óR  — t          j        t          |¦  «        ¬¦  «        }| |z   }| dt          |¦  «        gz   t          ¦   «         z   d|gz   }t	          j        |t          |¦  «        |gz   ¦  «        }	|	dk    r|	S t	          j        |¦  «        }	|	dk    rt          |¦  «         |	S )N)Údirz-oz-Cr   )ÚtempfileÚmkdtempÚstrr   Ú
subprocessÚcallr	   )
r   r   r   r   r   r   ÚscandirÚ	meson_cmdÚ	build_cmdÚrcs
             ú>/usr/lib/python3/dist-packages/mesonbuild/scripts/scanbuild.pyÚ	scanbuildr!      s¥   € õ Ô¥3 w¡<¤<Ð0Ñ0Ô0€GØ˜$‘€IØ˜4¥ V¡¤Ð-Ñ-µ±´Ñ>À$ÈÀÑP€IÝ	Œ˜¥c¨&¡k¤k°7Ð%;Ñ;Ñ	<Ô	<€BØ	ˆQ‚w€wØˆ	Ý	Œ˜Ñ	#Ô	#€BØ	ˆQ‚w€wÝ˜WÑ%Ô%Ð%Ø€Ió    c                óÜ  — t          | d         ¦  «        }t          | d         ¦  «        }| d         }| dd …         }|dz  }|dz  dz  }t          j        t          |¦  «        d¬¦  «         t	          |¦  «        }t          ¦   «         }|                     |¦  «         d	|d
         v r8|                     d„ t          |d
         d	         ¦  «        D ¦   «         ¦  «         d|d
         v r8|                     d„ t          |d
         d         ¦  «        D ¦   «         ¦  «         t          ¦   «         }	|	s't          dd                     |	¦  «        z  ¦  «         dS t          |	|||||¦  «        S )Nr   é   r   zmeson-privatez
meson-logsr!   T)Úignore_errorsÚ
cross_fileÚ
propertiesc                óR   — g | ]$}d t           j                             |¦  «        › �‘Œ%S )z--cross-file=©ÚosÚpathÚabspath©Ú.0Úfs     r    ú
<listcomp>zrun.<locals>.<listcomp>8   s/   € ÐwÐwÐwÀ1Ð>­"¬'¯/ª/¸!Ñ*<Ô*<Ð>Ð>ÐwÐwÐwr"   Únative_filec                óR   — g | ]$}d t           j                             |¦  «        › �‘Œ%S )z--native-file=r)   r-   s     r    r0   zrun.<locals>.<listcomp>;   s/   € ÐyÐyÐyÀAÐ?­2¬7¯?ª?¸1Ñ+=Ô+=Ð?Ð?ÐyÐyÐyr"   z!Could not execute scan-build "%s"ú )r
   ÚshutilÚrmtreer   r   r   ÚreadÚextendr   r   ÚprintÚjoinr!   )
r   r   Úbldpathr   r   r   r   ÚcmdÚdatar   s
             r    Úrunr=   )   ss  € Ý�$�q”'‰]Œ]€FÝ�4˜”7‰mŒm€GØ�!ŒW€FØ�Q�R�R”€IØ˜Ñ'€GØ�|Ñ# kÑ1€FÝ
„M•#�f‘+”+¨TÐ2Ñ2Ô2Ð2õ ˜FÑ
#Ô
#€CÝÑÔ€DØ‡I‚Iˆc�N„N€Nà�t˜LÔ)Ð)Ð)Ø×ÒÐwÐwÍÐUYÐZfÔUgÐhtÔUuÑHvÔHvÐwÑwÔwÑxÔxÐxà˜˜\Ô*Ð*Ð*Ø×ÒÐyÐyÍÐVZÐ[gÔVhÐivÔVwÑIxÔIxÐyÑyÔyÑzÔzÐzåÑ Ô €GØð ÝÐ1°C·H²H¸WÑ4EÔ4EÑEÑFÔFÐFØˆqå�W˜f g¨w¸À	ÑJÔJÐJr"   )r   r   r   r
   r   r
   r   r
   r   r
   r   r   r   r   )r   r   r   r   )Ú
__future__r   r   r4   r   Úenvironmentr   r   Úcoredatar   r   Úmesonlibr	   Úpathlibr
   ÚtypingÚTÚastr   r*   r!   r=   © r"   r    ú<module>rG      sê   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	ðð ð ð ðKð Kð Kð Kð Kð Kr"   