File: //usr/lib/python3.5/distutils/__pycache__/bcppcompiler.cpython-35.pyc
FaW: @ 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)
zdistutils.bcppcompiler
Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
N)DistutilsExecErrorDistutilsPlatformErrorCompileErrorLibError LinkErrorUnknownFileError) CCompilergen_preprocess_optionsgen_lib_options)
write_file)newer)logc @ s e 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)BCPPCompilerzConcrete class that implements an interface to the Borland C/C++
compiler, as defined by the CCompiler abstract class.
Zbcppz.cz.ccz.cppz.cxxz.objz.libz.dllz%s%sz.exer 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)
Nz bcc32.exezilink32.exeztlib.exez/tWMz/O2z/qz/g0z/Odz/Tpdz/Gnz/xz/r)
r __init__cclinkerlibZpreprocess_optionscompile_optionscompile_options_debugldflags_sharedldflags_shared_debugZldflags_staticldflags_exeldflags_exe_debug)selfverboseZdry_runforce r ,/usr/lib/python3.5/distutils/bcppcompiler.pyr 5 s zBCPPCompiler.__init__Nc 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 | d k rTy | j d d |
| g Wqv t k
rP} z t
| WYd d } ~ Xqv Xqv | | j k rld } n | | j k rd } n d } d |
} y4 | j | j g | |
| | g | | g Wqv t k
r} z t
| WYd d } ~ Xqv Xqv W| S) Nz-cz.resz.rcZbrcc32z-fo z-Pz-o)Z_setup_compileappendextendr r KeyErrorospathnormpathmkpathdirnamespawnr r
_c_extensions_cpp_extensionsr )r Zsources
output_dirmacrosinclude_dirsdebug
extra_preargsextra_postargsZdependsobjectspp_optsZbuildZcompile_optsobjsrcextmsgZ input_optZ
output_optr r r compileQ sF
.#zBCPPCompiler.compilec C s | j | | \ } } | j | d | } | j | | r | d g | } | rU y | j | j g | Wq t k
r } z t | WYd d } ~ Xq Xn t j d | d S)Nr* z/uzskipping %s (up-to-date)) _fix_object_argslibrary_filename
_need_linkr' r r r r
r- ) r r0 Zoutput_libnamer* r- target_langoutput_filenameZlib_argsr5 r r r create_static_lib s "zBCPPCompiler.create_static_libc C s | j | | \ } } | j | | | \ } } } | rR t j d t | | d k rs t j j | | } | 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 qW| 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 | qWx+ | D]# } | j d t j j | qRW| j d | j | | j d
| g | j d xL | D]D } | j | | | } | d k r| j | q| j | qW| j d | j d | j d
| g | j d
| j | |
r_|
| d d <| rr| j | | j t j j | y | j | j g | Wqt k
r} z t | WYd d } ~ XqXn t j d | d S)Nz7I don't know what to do with 'runtime_library_dirs': %sZc0w32Zc0d32r r z%s.defZEXPORTSz %s=_%sz
writing %sz.resz/L%sz/L.,z,,Zimport32Zcw32mtzskipping %s (up-to-date)) r7 Z
_fix_lib_argsr
warnstrr"