
    -Ph(                        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	 ddl
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
subprojdirargsreturnintc                p   t          j        t          |                    }| |z   }| dt          |          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	--excludez-oz-Cr   )tempfilemkdtempstrr   
subprocesscallr	   )r   r   r   r   r   r   r   scandir	meson_cmd	build_cmdrcs              \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/scripts/scanbuild.py	scanbuildr"      s     3w<<000G$I;Js6{{KKlnn\`dfm_nnI	c&kk7%;;	<	<B	Qww			#	#B	QwwW%%%I    c           	        t          | d                   }t          | d                   }|t          | d                   z  }| 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>0   s/    www1>"'//!*<*<>>wwwr#   native_filec                R    g | ]$}d t           j                            |           %S )z--native-file=r+   r/   s     r!   r2   zrun.<locals>.<listcomp>3   s/    yyyA?27??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   r   cmddatar   s              r!   runr?       s   $q']]F47mmG$tAw--'J!WFQRRI'G|#k1F
M#f++T2222 F
#
#CDIIcNNNtL)))wwUYZfUghtUuHvHvwwwxxx\***yyVZ[gVhivVwIxIxyyyzzz  G 1CHHW4E4EEFFFqWfgw
IVVVr#   )r   r   r   r
   r   r
   r   r
   r   r
   r   r
   r   r   r   r   )r   r   r   r   )
__future__r   r   r6   r   environmentr   r   coredatar   machinefiler   mesonlibr	   pathlibr
   typingTastr   r,   r"   r?    r#   r!   <module>rJ      s    # " " " " "       8 8 8 8 8 8 8 8 ( ( ( ( ( ( + + + + + + + + + + + +                 				   W W W W W Wr#   