o
     JAf4                     @   sl   	 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	 e j
dkr*dadadddZdd	d
ZdS )    N)DistutilsPlatformErrorDistutilsExecError)DEBUG)logdarwin   c              
   C   s|  	 t | } td|  |rd S |r!t| d }|d ur!|| d< d }tjdkr}td u rEddlm	} |
dp8datrEdd td	D atr}tjdt}d
d |d	D }td d ddgkrv|d d ddgk rvd|tf }	t|	ttj|d}ztj| |d}
|
  |
j}W n ty } zts| d } td| |jd f |d }~ww |rts| d } td| |f d S )N r   r   )	sysconfigMACOSX_DEPLOYMENT_TARGET c                 S      g | ]}t |qS  int.0xr   r   &/usr/lib/python3.10/distutils/spawn.py
<listcomp><       zspawn.<locals>.<listcomp>.c                 S   r   r   r   r   r   r   r   r   D   r      
      z]$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure;must use 10.3 or later)r
   )envzcommand %r failed: %sz#command %r failed with exit code %s)listr   infojoinfind_executablesysplatform_cfg_target	distutilsr	   Zget_config_varsplit_cfg_target_splitosenvirongetr   dict
subprocessPopenwait
returncodeOSErrorr   r   args)cmdZsearch_pathverbosedry_run
executabler   r	   Z
cur_targetZcur_target_splitZmy_msgprocexitcodeexcr   r   r   spawn   sh   
(

r7   c              	   C   s   	 t j| \}}tjdkr|dkr| d } t j| r| S |d u rCt jdd }|d u rCzt d}W n t	t
fyB   t j}Y nw |sGd S |t j}|D ]}t j|| }t j|rb|  S qOd S )Nwin32z.exePATHCS_PATH)r&   pathsplitextr    r!   isfiler'   r(   confstrAttributeError
ValueErrordefpathr$   pathsepr   )r3   r;   _extpathspfr   r   r   r   _   s.   
r   )r   r   r   )N)r    r&   r*   Zdistutils.errorsr   r   Zdistutils.debugr   r#   r   r!   r"   r%   r7   r   r   r   r   r   <module>   s    

H