I ec@sdZdZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z mZmZddlmZmZmZmZdd lmZejd krddlZnd e 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$iN(t StringTypetNoneType(t sysconfig(tnewer(t CCompilertgen_preprocess_optionstgen_lib_options(tDistutilsExecErrort CompileErrortLibErrort LinkError(tlogtdarwint UnixCCompilerc BsseZdZid'd6dgd6dgd6dgd6ddgd6dgd6d d gd 6d'd 6Zejd dkrd ged t target_langtoutput_filenameR.((s-/usr/lib/python2.7/distutils/unixccompiler.pytcreate_static_lib~s cCsl|j||\}}|j|||\}}}g|D]}|dkr=|^q=}g|D]}|dkrb|^qb}t||||}t|ttfkrtdn|dk rtj j ||}n|j ||rX||j |d|g}| r dg|d*n| r3| |d*n| rI|j | n|jtj j|y|tjkr|j}n |j}| d kr|jrd}tj j|dd krd }x!d ||kr|d }qWn|j|||(R$t target_descR=RAR9t librariest library_dirstruntime_library_dirstexport_symbolsR>R)R*t build_tempR@tdirtlib_optstld_argstlinkertiR.((s-/usr/lib/python2.7/distutils/unixccompiler.pytlinksL         cCsd|S(Ns-L((R$RQ((s-/usr/lib/python2.7/distutils/unixccompiler.pytlibrary_dir_optionscCsd|kpd|kS(Ntgccsg++((R$t compiler_name((s-/usr/lib/python2.7/distutils/unixccompiler.pyt_is_gccscCstjjtjd}tjd dkr6d|Stjd dkrQd|Stjd d kr|j|rd d|gSd d|gStjd d kstjd d krd|gS|j|rd|Sd|SdS(NtCCiR s-Litfreebsds -Wl,-rpath=ishp-uxs-Wl,+ss+stirix646tosf1V5s-rpaths-Wl,-Rs-R(R R!RJRtget_config_varR0R1RZ(R$RQR((s-/usr/lib/python2.7/distutils/unixccompiler.pytruntime_library_dir_options & cCsd|S(Ns-l((R$tlib((s-/usr/lib/python2.7/distutils/unixccompiler.pytlibrary_optionscCs|j|dd}|j|dd}|j|dd}|j|dd}tjdkrtjd}tjd|} | dkrd } 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  rt 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|SqWdS(Ntlib_typetsharedtdylibt xcode_stubtstaticR tCFLAGSs-isysroot\s+(\S+)t/is/System/s/usr/s /usr/local/(R;R0R1RR_tretsearchRtgroupR R!RHt startswithtexists(R$tdirsRaR>tshared_ftdylib_ft xcode_stub_ftstatic_ftcflagstmtsysrootRQRdReRgRf((s-/usr/lib/python2.7/distutils/unixccompiler.pytfind_library_files>   N(t__name__t __module__t compiler_typeRt executablesR0R1tsrc_extensionst obj_extensiontstatic_lib_extensiontshared_lib_extensiontdylib_lib_extensiontxcode_stub_lib_extensiontstatic_lib_formattshared_lib_formattdylib_lib_formattxcode_stub_lib_formatt exe_extensionR/R8RBRVRWRZR`RbRw(((s-/usr/lib/python2.7/distutils/unixccompiler.pyR 0sD            ;    (t__doc__t __revision__R R0RjttypesRRt distutilsRtdistutils.dep_utilRtdistutils.ccompilerRRRtdistutils.errorsRRR R R R1R2R (((s-/usr/lib/python2.7/distutils/unixccompiler.pyts$"