B YI~d��@s�ddlZddlZddlmZmZddlmZddlmZddd�Z dd �Z dd d �Z ej d krrdd lm Z dadaddd�Zddd�ZdS)�N)�DistutilsPlatformError�DistutilsExecError)�DEBUG)�log�cCsNt|�}tjdkr"t|||d�n(tjdkrt� | �} | dk�r"dSt�s,|}td|| f��n,t�!| ��rP�qvnt�sZ|}td|| f���qvWdS)Nrrr$�MACOSX_DEPLOYMENT_TARGET�cSsg|] }t|��qSr)�int)�.0�xrrr� esz _spawn_posix..�.cSsg|] }t|��qSr)r()r)r*rrrr+kszF$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure)r&zunable to execute %r: %s rz(unable to execute %r for unknown reasonszcommand %r failed: %srz"command %r terminated by signal %dz%command %r failed with exit status %dz1unknown error executing %r: termination status %d)"rrrr �execvp�execv�sys�platform� _cfg_targetr%Zget_config_var�split�_cfg_target_split�environ�getr�dict�execvpe�execve�forkr!r�stderr�write�strerror�_exit�waitpidrr� WIFSIGNALED�WTERMSIG� WIFEXITED� WEXITSTATUS� WIFSTOPPED)rrrrr"Zexec_fn�envZ cur_targetZmy_msg�pid�e�statusr#� exit_statusrrrr Xs�      &     r c Cs�tj�|�\}}tjdkr*|dkr*|d}tj�|�r:|S|dkr�tj�dd�}|dkr�yt�d�}Wnt t fk r�tj }YnX|s�dS|� tj �}x*|D]"}tj�||�}tj�|�r�|Sq�WdS)N�win32z.exe�PATH�CS_PATH)r �path�splitextr/r0�isfiler4r5�confstr�AttributeError� ValueError�defpathr2�pathsepr)r"rL�_Zext�paths�p�frrrr�s(     r)rrr)rrr)rrr)N)r/r Zdistutils.errorsrrZdistutils.debugrZ distutilsrrrrr0r%r1r3r rrrrr� s       Q