ok

Mini Shell

Direktori : /opt/alt/python27/lib64/python2.7/distutils/
Upload File :
Current File : //opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyc

�
�[
bc@s�dZdZddlZddlZddlZddlmZmZddlm	Z	ddl
mZddlm
Z
mZmZddlmZmZmZmZdd	lmZejd
kr�ddlZnde
fd��YZdS(
s9distutils.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'
s$Id$i����N(t
StringTypetNoneType(t	sysconfig(tnewer(t	CCompilertgen_preprocess_optionstgen_lib_options(tDistutilsExecErrortCompileErrortLibErrort	LinkError(tlogtdarwint
UnixCCompilercBs|eZdZid(d6dgd6dgd6dgd6ddgd6dgd6d	d
gd6d(d6Zejd
 dkr�dged<nddddddgZdZdZ	dZ
dZdZdZ
ZZeZejdkr�dZnd�Zd(d(d(d(d(d�Zd�Zd(d d(d!�Zd(d(d(d(d(d d(d(d(d(d"�
Zd#�Zd$�Zd%�Zd&�Zd d'�ZRS()tunixtpreprocessortcctcompilertcompiler_sotcompiler_cxxs-sharedt	linker_sot
linker_exetars-crtarchivertranlibiRs.cs.Cs.ccs.cxxs.cpps.ms.os.as.sos.dylibs.tbdslib%s%stcygwins.execCs_tj||||�\}}}tjd�}|rR||krR|j|�n|||fS(s'Remove standard library path from rpathtLIBDIR(Rt
_fix_lib_argsRtget_config_vartremove(tselft	librariestlibrary_dirstruntime_library_dirstlibdir((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyRXscCs	|jd||�\}}}t||�}|j|}	|rV|	jd|g�n|ri||	d*n|r|	j|�n|	j|�|js�|dks�t||�r|r�|jt	j
j|��ny|j|	�Wqt
k
r}
t|
�qXndS(Ns-oi(t_fix_compile_argstNoneRRtextendtappendtforceRtmkpathtostpathtdirnametspawnRR(Rtsourcetoutput_filetmacrostinclude_dirst
extra_preargstextra_postargstignoretpp_optstpp_argstmsg((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyt
preprocessbs"


$c	Csz|j}tjdkr1tj|||�}ny&|j|||d|g|�Wntk
ru}t|�nXdS(NRs-o(Rtsystplatformt_osx_supporttcompiler_fixupR,RR(	Rtobjtsrctexttcc_argsR2R4RR6((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyt_compile}s		icCs�|j||�\}}|j|d|�}|j||�r�|jtjj|��|j|j|g||j	�|j
r�y|j|j
|g�Wq�tk
r�}t|�q�Xq�nt
jd|�dS(Nt
output_dirsskipping %s (up-to-date)(t_fix_object_argstlibrary_filenamet
_need_linkR(R)R*R+R,RtobjectsRRR	Rtdebug(RREtoutput_libnameRARFttarget_langtoutput_filenameR6((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytcreate_static_lib�s	cCs"|j||�\}}|j|||�\}}}t||||�}t|�ttfkrotd�n|dk	r�tj	j
||�}n|j||�r||j|d|g}|	r�dg|d*n|
r�|
|d*n|r�|j
|�n|jtj	j|��y�|tjkr7|j}n
|j}|
dkr�|jr�d}tj	j|d�dkr�d}x!d||kr�|d}q�Wn|j|||<ntjd	kr�tj||�}n|j||�Wqtk
r
}t|�qXntjd
|�dS(Ns%'output_dir' must be a string or Nones-os-gisc++tenvit=Rsskipping %s (up-to-date)(RBRRttypeRRt	TypeErrorR$R)R*tjoinRDRER%R(R+Rt
EXECUTABLERRRtbasenameR8R9R:R;R,RR
RRF(Rttarget_descRERIRARR R!texport_symbolsRFR1R2t
build_tempRHtlib_optstld_argstlinkertiR6((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytlink�sD	


cCsd|S(Ns-L((Rtdir((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytlibrary_dir_option�scCsd|kpd|kS(Ntgccsg++((Rt
compiler_name((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyt_is_gcc�scCs�tjjtjd��}tjd dkr6d|Stjd dkrQd|Stjd d	kr�|j|�r�d
d|gSdd|gStjd dks�tjd d
kr�d|gS|j|�r�d|Sd|SdS(NtCCiRs-Litfreebsds-Wl,-rpath=ishp-uxs-Wl,+ss+stirix646tosf1V5s-rpaths-Wl,-Rs-R(R)R*RQRRR8R9R^(RRZR((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytruntime_library_dir_option�s
&
cCsd|S(Ns-l((Rtlib((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytlibrary_optionscCs|j|dd�}|j|dd�}|j|dd�}|j|dd�}tjdkr�tjd�}tjd|�}	|	dkr�d	}
q�|	jd
�}
nxj|D]b}t	j
j||�}t	j
j||�}
t	j
j||�}t	j
j||�}tjdkr�|jd�sI|jd�r�|jd
�r�t	j
j|
|d
|�}t	j
j|
|d
|�}
t	j
j|
|d
|�}t	j
j|
|d
|�}nt	j
j
|
�r�|
St	j
j
|�r�|St	j
j
|�r�|St	j
j
|�r�|Sq�WdS(Ntlib_typetsharedtdylibt
xcode_stubtstaticRtCFLAGSs-isysroot\s+(\S+)t/is/System/s/usr/s/usr/local/(RCR8R9RRtretsearchR$tgroupR)R*ROt
startswithtexists(RtdirsRdRFtshared_ftdylib_ftxcode_stub_ftstatic_ftcflagstmtsysrootRZRgRhRjRi((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pytfind_library_files>	
N(t__name__t
__module__t
compiler_typeR$texecutablesR8R9tsrc_extensionst
obj_extensiontstatic_lib_extensiontshared_lib_extensiontdylib_lib_extensiontxcode_stub_lib_extensiontstatic_lib_formattshared_lib_formattdylib_lib_formattxcode_stub_lib_formatt
exe_extensionRR7R@RJRYR[R^RcReRz(((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyR
0sF







					6				(t__doc__t__revision__R)R8RmttypesRRt	distutilsRtdistutils.dep_utilRtdistutils.ccompilerRRRtdistutils.errorsRRR	R
RR9R:R
(((s</opt/alt/python27/lib64/python2.7/distutils/unixccompiler.pyt<module>s$"

Zerion Mini Shell 1.0