%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/lib/python3.5/distutils/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/lib/python3.5/distutils/__pycache__/unixccompiler.cpython-35.pyc



|�g~:�@s�dZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZddlm
Z
mZmZmZddlmZejdkr�ddlZGd	d
�d
e	�ZdS)a9distutils.unixccompiler

Contains the UnixCCompiler class, a subclass of CCompiler that handles
the "typical" Unix-style command-line C compiler:
  * macros defined with -Dname[=value]
  * macros undefined with -Uname
  * include search directories specified with -Idir
  * libraries specified with -lllib
  * library search directories specified with -Ldir
  * compile handled by 'cc' (or similar) executable with -c option:
    compiles .c to .o
  * link static library handled by 'ar' command (possibly with 'ranlib')
  * link shared library handled by 'cc -shared'
�N)�	sysconfig)�newer)�	CCompiler�gen_preprocess_options�gen_lib_options)�DistutilsExecError�CompileError�LibError�	LinkError)�log�darwinc@s�eZdZdZddddgddgddgddd	gd
dgddd
gddiZejdd�dkr�dged<ddddddgZdZdZ	dZ
dZdZdZ
ZZeZejdkr�dZddddddd �Zd!d"�Zdd#dd$d%�Zdddddd#ddddd&d'�
Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd#d0d1�ZdS)2�
UnixCCompilerZunix�preprocessorN�compilerZcc�compiler_so�compiler_cxx�	linker_soz-shared�
linker_exe�archiverZarz-cr�ranlib�rz.cz.Cz.ccz.cxxz.cppz.mz.oz.az.soz.dylibz.tbdzlib%s%s�cygwinz.execCs|jd||�}|\}}}t||�}	|j|	}
|rY|
jd|g�|ro||
dd�<|r�|
j|�|
j|�|js�|dks�t||�r|r�|jtj	j
|��y|j|
�Wn1tk
r}zt
|��WYdd}~XnXdS)Nz-or)Z_fix_compile_argsrr�extend�appendZforcer�mkpath�os�path�dirname�spawnrr)�self�sourceZoutput_fileZmacrosZinclude_dirs�
extra_preargs�extra_postargs�
fixed_args�ignore�pp_optsZpp_args�msg�r'�-/usr/lib/python3.5/distutils/unixccompiler.py�
preprocessUs$


$zUnixCCompiler.preprocessc	Cs�|j}tjdkr.tj|||�}y&|j|||d|g|�Wn1tk
r�}zt|��WYdd}~XnXdS)Nrz-o)r�sys�platform�_osx_support�compiler_fixuprrr)	r�obj�srcZextZcc_argsr"r%rr&r'r'r(�_compileos		
zUnixCCompiler._compilercCs�|j||�\}}|j|d|�}|j||�r�|jtjj|��|j|j|g||j	�|j
r�y|j|j
|g�Wq�tk
r�}zt|��WYdd}~Xq�Xnt
jd|�dS)N�
output_dirzskipping %s (up-to-date))�_fix_object_args�library_filename�
_need_linkrrrrrr�objectsrrr	r�debug)rr5Zoutput_libnamer1r6�target_lang�output_filenamer&r'r'r(�create_static_libzs	"zUnixCCompiler.create_static_libcs�|j||�\}}|j|||�}|\}}}ddddg�tjd�}|r~�jd|d|g��fdd	�|D�}�fd
d	�|D�}t||||�}t|ttd�f�s�t	d��|dk	r
t
jj||�}|j
||�r�||j|d|g}|	rSd
g|dd�<|
ri|
|dd�<|r||j|�|jt
jj|��y�|tjkr�|jdd�}n|jdd�}|
dkr?|jr?d}t
jj|d�dkr.d}xd||kr-|d7}qW|j|||<tjdkr`tj||�}|j||�Wq�tk
r�}zt|��WYdd}~Xq�Xntjd|�dS)Nz/libz/lib64z/usr/libz
/usr/lib64Z	MULTIARCHz/lib/%sz/usr/lib/%scs"g|]}|�kr|�qSr'r')�.0�dir)�system_libdirsr'r(�
<listcomp>�s	z&UnixCCompiler.link.<locals>.<listcomp>cs"g|]}|�kr|�qSr'r')r:r;)r<r'r(r=�s	z%'output_dir' must be a string or Nonez-oz-grzc++�env��=rzskipping %s (up-to-date)) r2Z
_fix_lib_argsr�get_config_varrr�
isinstance�str�type�	TypeErrorrr�joinr4r5rrrZ
EXECUTABLErrr�basenamer*r+r,r-rrr
rr6)rZtarget_descr5r8r1Z	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsr6r!r"Z
build_tempr7r#Z	multiarchZlib_optsZld_argsZlinker�ir&r')r<r(�link�sT		
"zUnixCCompiler.linkcCsd|S)Nz-Lr')rr;r'r'r(�library_dir_option�sz UnixCCompiler.library_dir_optioncCsd|kpd|kS)NZgcczg++r')rZ
compiler_namer'r'r(�_is_gcc�szUnixCCompiler._is_gcccCs�tjjtjd��}tjdd�dkr<d|Stjdd�dkr�|j|�rrdd|gSdd|gStjdd	�d
ks�tjdd�dkr�d|gS|j|�r�tjd
�dkr�d|Sd|Snd|SdS)NZCCrrz-L�zhp-uxz-Wl,+sz+s�Zirix646Zosf1V5z-rpathZGNULDZyesz-Wl,--enable-new-dtags,-Rz-Wl,-Rz-R)rrrGrrAr*r+rK)rr;rr'r'r(�runtime_library_dir_option�s2
z(UnixCCompiler.runtime_library_dir_optioncCsd|S)Nz-lr')r�libr'r'r(�library_option	szUnixCCompiler.library_optioncCs.|j|dd�}|j|dd�}|j|dd�}|j|dd�}tjdkr�tjd�}tjd|�}	|	dkr�d	}
n|	jd
�}
x|D]w}tj	j
||�}tj	j
||�}
tj	j
||�}tj	j
||�}tjdkr�|jd�sF|jd�r�|jd
�r�tj	j
|
|d
d�|�}tj	j
|
|d
d�|�}
tj	j
|
|d
d�|�}tj	j
|
|d
d�|�}tj	j|
�r�|
Stj	j|�r�|Stj	j|�r|Stj	j|�r�|Sq�WdS)NZlib_type�shared�dylib�
xcode_stub�staticrZCFLAGSz-isysroot\s+(\S+)�/r?z/System/z/usr/z/usr/local/)
r3r*r+rrA�re�search�grouprrrF�
startswith�exists)r�dirsrOr6Zshared_fZdylib_fZxcode_stub_fZstatic_fZcflags�mZsysrootr;rQrRrTrSr'r'r(�find_library_files>	
""""zUnixCCompiler.find_library_file)�__name__�
__module__�__qualname__Z
compiler_typeZexecutablesr*r+Zsrc_extensionsZ
obj_extensionZstatic_lib_extensionZshared_lib_extensionZdylib_lib_extensionZxcode_stub_lib_extensionZstatic_lib_formatZshared_lib_formatZdylib_lib_formatZxcode_stub_lib_formatZ
exe_extensionr)r0r9rIrJrKrNrPr]r'r'r'r(r
-sD				
	A*r
)�__doc__rr*rVZ	distutilsrZdistutils.dep_utilrZdistutils.ccompilerrrrZdistutils.errorsrrr	r
rr+r,r
r'r'r'r(�<module>s$"

Zerion Mini Shell 1.0