Hacked By AnonymousFox
�
{fc @ s� d Z d Z d d l Z d d l m Z m Z m Z m Z m Z d d l m
Z
m Z d d l m
Z
d d l m Z d d l m Z d e
f d
� � YZ d S( s� distutils.bcppcompiler
Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
s $Id$i����N( t DistutilsExecErrort CompileErrort LibErrort LinkErrort UnknownFileError( t CCompilert gen_preprocess_options( t
write_file( t newer( t logt BCPPCompilerc B s� e Z d Z d Z i Z d g Z d d d g Z e e Z d Z d Z d Z
d Z Z d
Z
d d d d � Z d d d d d d d d
� Z d d d d � Z d d d d d d d d d d d �
Z d d � Z d d d � Z d d d d d d � Z RS( s Concrete class that implements an interface to the Borland C/C++
compiler, as defined by the CCompiler abstract class.
t bcpps .cs .ccs .cpps .cxxs .objs .libs .dlls %s%ss .exei c C s� t j | | | | � d | _ d | _ d | _ d | _ d d d d g | _ d d d d g | _ d d
d d g | _ d d
d d g | _
g | _ d
d d g | _ d
d d d g | _
d S(
Ns bcc32.exes ilink32.exes tlib.exes /tWMs /O2s /qs /g0s /Ods /Tpds /Gns /xs /r( R t __init__t cct linkert libt Nonet preprocess_optionst compile_optionst compile_options_debugt ldflags_sharedt ldflags_shared_debugt ldflags_statict ldflags_exet ldflags_exe_debug( t selft verboset dry_runt force( ( s. /usr/lib64/python2.7/distutils/bcppcompiler.pyR 5 s c C s� | j | | | | | | � \ } } } }
} | p6 g } | j d � | r_ | j | j � n | j | j � xi| D]a}
y | |
\ } } Wn t k
r� qv n Xt j j | � } t j j |
� }
| j t j j
|
� � | d k r� qv n | d k rDy | j d d |
| g � Wqv t k
r=} t
| � qv Xqv n | | j k r\d } n | | j k rtd } n d } d |
} y4 | j | j g | |
| | g | | g � Wqv t k
r�} t
| � qv Xqv W| S( Ns -cs .ress .rct brcc32s -fot s -Ps -o( t _setup_compilet appendt extendR R t KeyErrort ost patht normpatht mkpatht dirnamet spawnR R t
_c_extensionst _cpp_extensionsR
( R t sourcest
output_dirt macrost include_dirst debugt
extra_preargst extra_postargst dependst objectst pp_optst buildt compile_optst objt srct extt msgt input_optt
output_opt( ( s. /usr/lib64/python2.7/distutils/bcppcompiler.pyt compileQ sF
.c C s� | j | | � \ } } | j | d | �} | j | | � r� | d g | } | rX n y | j | j g | � Wq� t k
r� } t | � q� Xn t j d | � d S( NR, s /us skipping %s (up-to-date)( t _fix_object_argst library_filenamet
_need_linkR( R R R R R/ ( R R3 t output_libnameR, R/ t target_langt output_filenamet lib_argsR: ( ( s. /usr/lib64/python2.7/distutils/bcppcompiler.pyt create_static_lib� s c C s� | j | | � \ } } | j | | | � \ } } } | rU t j d t | � � n | d k ry t j j | | � } n | j | | � r�| t
j k r� d } | r� | j } q� | j
} n# d } | r� | j } n
| j } | d k r� d } n� t j j | � \ } } t j j | � \ } } t j j | d � } t j j | d | � } d g } x+ | plg D] } | j d | | f � qmW| j t | | f d | � t t j j | � } | g } g } x[ | D]S } t j j t j j | � � \ } } | d
k r| j | � q�| j | � q�Wx+ | D]# } | j d t j j | � � q4W| j d � | j | � | j d
| g � | j d � xL | D]D } | j | | | � } | d k r�| j | � q�| j | � q�W| j d � | j d � | j d
| g � | j d
� | j | � |
r>|
| d *n | rT| j | � n | j t j j | � � y | j | j g | � Wq�t k
r�} t | � q�Xn t j d | � d S( Ns7 I don't know what to do with 'runtime_library_dirs': %st c0w32t c0d32R i s %s.deft EXPORTSs %s=_%ss
writing %ss .ress /L%ss /L.t ,s ,,t import32t cw32mts skipping %s (up-to-date)(! R>