Viewing File: /opt/alt/python35/lib64/python3.5/distutils/__pycache__/spawn.cpython-35.opt-1.pyc



Yf@sdZddlZddlZddlmZmZddlmZddlm	Z	dddddZ
d	d
ZdddddZej
d
krddlmZdadadddddZdddZdS)zdistutils.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)DistutilsPlatformErrorDistutilsExecError)DEBUG)logcCsmt|}tjdkr1t||d|n8tjdkrVt||d|ntdtjdS)aRun 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.
    posixdry_runntz1don't know how to spawn programs on platform '%s'N)listosname_spawn_posix	_spawn_ntr)cmdsearch_pathverboserr4/opt/alt/python35/lib64/python3.5/distutils/spawn.pyspawnsrcCs;x4t|D]&\}}d|kr
d|||<q
W|S)zQuote command-line arguments for DOS/Windows conventions.

    Just wraps every argument which contains blanks in double quotes, and
    returns a new argument list.
     z"%s")	enumerate)argsiargrrr_nt_quote_args+srcCs|d}t|}|r.t|p+|}tjdj|g|dd|sytjtj||}WnNtk
r}z.t	s|}t
d||jdfWYdd}~XnX|dkrt	s|}t
d||fdS)Nrrrzcommand %r failed: %sz%command %r failed with exit status %d)rfind_executablerinfojoinrspawnvP_WAITOSErrorrrr)rrrr
executablercexcrrrr;s$
'-rdarwin)	sysconfigcCs5tjdj||r dS|d}|r9tjp?tj}d}tjdkr tdkrt	j
dpudatrddtjdDatr tj
jdt}td	d|jdDkrd
|tf}t|ttj
d|}|rtjptj}tj}	|	dkry0|dkrW|||n||||Wn[tk
r}
z;ts|}tjjd||
jftjdWYdd}
~
XnXts|}tjjd
|tjdn;x8ytj|	d\}	}WnNtk
re}z.ts6|}td||jdfWYdd}~XnXtj|rts|}td|tj|fqtj|rtj |}
|
dkrdSts|}td||
fqtj!|rqqts|}td||fqWdS)Nrrr%MACOSX_DEPLOYMENT_TARGETcSsg|]}t|qSr)int).0xrrr
<listcomp>es	z _spawn_posix.<locals>.<listcomp>.cSsg|]}t|qSr)r))r*r+rrrr,ks	zF$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configurezunable to execute %r: %s
rz(unable to execute %r for unknown reasonszcommand %r failed: %sz"command %r terminated by signal %dz%command %r failed with exit status %dz1unknown error executing %r: termination status %dr)"rrrrexecvpexecvsysplatform_cfg_targetr&get_config_varsplit_cfg_target_splitenvirongetrdictexecvpeexecveforkr!rstderrwritestrerror_exitwaitpidrrWIFSIGNALEDWTERMSIG	WIFEXITEDWEXITSTATUS
WIFSTOPPED)rrrrr"Zexec_fnenvZ
cur_targetZmy_msgpideZstatusr$Zexit_statusrrrr
Xs
"
	 -r
cCs|dkrtjd}|jtj}tjj|\}}tjdkrh|dkrh|d}tjj|sx9|D]1}tjj	||}tjj|r|SqWdS|SdS)zTries 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.
    NPATHwin32z.exe)
rr6r4pathseppathsplitextr0r1isfiler)r"rLpathsbaseZextpfrrrrs


r)__doc__r0rZdistutils.errorsrrZdistutils.debugrZ	distutilsrrrrr1r&r2r5r
rrrrr<module>sQ
Back to Directory File Manager