Your IP : 18.117.231.160


Current Path : /opt/alt/python310/lib64/python3.10/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/distutils/__pycache__/spawn.cpython-310.pyc

o

6��f4�@sndZddlZddlZddlZddlmZmZddlmZddl	m
Z
ejdkr+dada
ddd	�Zd
d
d�ZdS)z�distutils.spawn

Provides the 'spawn()' function, a front-end to various platform-
specific functions for launching another program in a sub-process.
Also provides the 'find_executable()' to search the path for a given
executable name.
�N)�DistutilsPlatformError�DistutilsExecError)�DEBUG)�log�darwin�c

Cszt|�}t�d�|��|rdS|r t|d�}|dur ||d<d}tjdkr|tdurDddlm	}|�
d�p7datrDdd	�t�d
�D�atr|t
j�dt�}dd	�|�d
�D�}tdd�d
dgkru|dd�d
dgkrud|tf}	t|	��tt
j|d�}ztj||d�}
|
��|
j}Wnty�}zts�|d}td||jdf�|�d}~ww|r�ts�|d}td||f��dS)a�Run another program, specified as a command list 'cmd', in a new process.

    'cmd' is just the argument list for the new process, ie.
    cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
    There is no way to run a program with a name different from that of its
    executable.

    If 'search_path' is true (the default), the system's executable
    search path will be used to find the program; otherwise, cmd[0]
    must be the exact path to the executable.  If 'dry_run' is true,
    the command will not actually be run.

    Raise DistutilsExecError if running the program fails in any way; just
    return on success.
    � Nrr)�	sysconfig�MACOSX_DEPLOYMENT_TARGET�cS�g|]}t|��qS���int��.0�xr
r
�6/opt/alt/python310/lib64/python3.10/distutils/spawn.py�
<listcomp><�zspawn.<locals>.<listcomp>�.cSrr
rrr
r
rrDr��
�z]$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure;must use 10.3 or later)r
)�envzcommand %r failed: %s���z#command %r failed with exit code %s)�listr�info�join�find_executable�sys�platform�_cfg_target�	distutilsr	Zget_config_var�split�_cfg_target_split�os�environ�getr�dict�
subprocess�Popen�wait�
returncode�OSErrorrr�args)
�cmdZsearch_path�verboseZdry_run�
executablerr	Z
cur_targetZcur_target_splitZmy_msg�procZexitcode�excr
r
r�spawnsf
��(��
����
��r5c	Cs�tj�|�\}}tjdkr|dkr|d}tj�|�r|S|durBtj�dd�}|durBzt�d�}Wnt	t
fyAtj}Ynw|sFdS|�tj
�}|D]}tj�||�}tj�|�ra|SqNdS)z�Tries to find 'executable' in the directories listed in 'path'.

    A string listing directories separated by 'os.pathsep'; defaults to
    os.environ['PATH'].  Returns the complete filename or None if not found.
    Zwin32z.exeN�PATH�CS_PATH)r&�path�splitextr r!�isfiler'r(�confstr�AttributeError�
ValueError�defpathr$�pathsepr)r2r8�_Zext�paths�p�fr
r
rr_s,
��r)rrr)N)�__doc__r r&r*Zdistutils.errorsrrZdistutils.debugrr#rr!r"r%r5rr
r
r
r�<module>s

H

?>