a
    ze4                     @   sj   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rRd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rtd u rddlm	} |
dpndatrdd td	D atrtjdt}d
d |d	D }td d ddgkr|d d ddgk rd|tf }	t|	ttj|d}z tj| |d}
|
  |
j}W nL tyd } z2ts8| d } td| |jd f |W Y d }~n
d }~0 0 |rtsz| d } td| |f d S )N r   r   )	sysconfigMACOSX_DEPLOYMENT_TARGET c                 S   s   g | ]}t |qS  int.0xr   r   %/usr/lib/python3.9/distutils/spawn.py
<listcomp><       zspawn.<locals>.<listcomp>.c                 S   s   g | ]}t |qS 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   s`    
(

r6   c              	   C   s   t j| \}}tjdkr*|dkr*| d } t j| r:| S |d u rt jdd }|d u rzt d}W n t	t
fy   t j}Y n0 |sd S |t j}|D ]&}t j|| }t j|r|  S qd S )Nwin32z.exePATHCS_PATH)r%   pathsplitextr   r    isfiler&   r'   confstrAttributeError
ValueErrordefpathr#   pathsepr   )r2   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$   r6   r   r   r   r   r   <module>	   s   

H