ž
«ÿfW: c @ s¦ d Z d d l Z d d l m Z m Z m Z m Z m Z m Z d d l m
Z
m Z m Z d d l
m Z d d l m Z d d l m Z Gd d „ d e
ƒ Z d S(
uƒ distutils.bcppcompiler
Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
i N( u DistutilsExecErroru DistutilsPlatformErroru CompileErroru LibErroru LinkErroru UnknownFileError( u CCompileru gen_preprocess_optionsu gen_lib_options( u
write_file( u newer( u logc B s | Ee Z d 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
d „ Z d d d d d d d d d „ Z d d d d d „ Z d d d d d d d d d d d d „
Z d d d „ Z d d d d „ Z d d d d d d d „ Z d S( u BCPPCompileru Concrete class that implements an interface to the Borland C/C++
compiler, as defined by the CCompiler abstract class.
u bcppu .cu .ccu .cppu .cxxu .obju .libu .dllu %s%su .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(
Nu bcc32.exeu ilink32.exeu tlib.exeu /tWMu /O2u /qu /g0u /Odu /Tpdu /Gnu /xu /r( u CCompileru __init__u ccu linkeru libu Noneu preprocess_optionsu compile_optionsu compile_options_debugu ldflags_sharedu ldflags_shared_debugu ldflags_staticu ldflags_exeu ldflags_exe_debug( u selfu verboseu dry_runu force( ( u; /opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu __init__5 s u BCPPCompiler.__init__c C s
| j | | | | | | ƒ \ } } } }
} | p6 g } | j d ƒ | r_ | j | j ƒ n | j | j ƒ x”| D]Œ}
y | |
\ } } Wn t k
r§ wv Yn Xt j j | ƒ } t j j |
ƒ }
| j t j j
|
ƒ ƒ | d k r÷ qv n | d k rZy | j d d |
| g ƒ Wqv t k
rS} z t
| ƒ ‚ WYd d } ~ Xqv Xqv n | | j k rrd } n | | j k rŠd } n d } d |
} y4 | j | j g | |
| | g | | g ƒ Wqv t k
r} z t
| ƒ ‚ WYd d } ~ Xqv Xqv W| S( Nu -cu .resu .rcu brcc32u -fou u -Pu -o( u _setup_compileu appendu extendu compile_options_debugu compile_optionsu KeyErroru osu pathu normpathu mkpathu dirnameu spawnu DistutilsExecErroru CompileErroru
_c_extensionsu _cpp_extensionsu cc( u selfu sourcesu
output_diru macrosu include_dirsu debugu
extra_preargsu extra_postargsu dependsu objectsu pp_optsu buildu compile_optsu obju srcu extu msgu input_optu
output_opt( ( u; /opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu compileQ sF
.#u BCPPCompiler.compilec C s¾ | j | | ƒ \ } } | j | d | ƒ} | j | | ƒ rª | d g | } | rX n y | j | j g | ƒ Wqº t k
r¦ } z t | ƒ ‚ WYd d } ~ Xqº Xn t j d | ƒ d S( Nu
output_diru /uu skipping %s (up-to-date)( u _fix_object_argsu library_filenameu
_need_linku spawnu libu DistutilsExecErroru LibErroru logu debug( u selfu objectsu output_libnameu
output_diru debugu target_langu output_filenameu lib_argsu msg( ( u; /opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu create_static_lib’ s "u BCPPCompiler.create_static_libc 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 d d … } q| j
d d … } n5 d } | rô | j d d … } n | j d d … } | d k rd } n³ t j j | ƒ \ } } t j j | ƒ \ } } t j j | d ƒ } t j j | d | ƒ } d g } x+ | pg D] } | j d | | f ƒ q‘W| 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 | ƒ ƒ qXW| 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 | ƒ |
rh|
| d d …