h`6 ~ d Z ddlZddlmZmZmZmZmZ ddlm Z m Z ddlmZ ddl mZ ddlmZ G d d e ZdS ) zdistutils.bcppcompiler Contains BorlandCCompiler, an implementation of the abstract CCompiler class for the Borland C++ compiler. N)DistutilsExecErrorCompileErrorLibError LinkErrorUnknownFileError) CCompilergen_preprocess_options) write_file)newer)logc e Zd ZdZdZi ZdgZg dZeez ZdZ dZ dZdxZZ d Z ddZ dd Z ddZ ddZddZ ddZ ddZdS )BCPPCompilerzConcrete class that implements an interface to the Borland C/C++ compiler, as defined by the CCompiler abstract class. bcppz.c)z.ccz.cppz.cxxz.objz.libz.dllz%s%sz.exer c t j | ||| d| _ d| _ d| _ d | _ g d| _ g d| _ g d| _ g d| _ g | _ g d| _ g d| _ d S ) Nz bcc32.exezilink32.exeztlib.exe)/tWMz/O2/q/g0)r z/Odr r )z/Tpd/Gnr /x)r r r )r r r z/r) r __init__cclinkerlibpreprocess_optionscompile_optionscompile_options_debugldflags_sharedldflags_shared_debugldflags_staticldflags_exeldflags_exe_debug)selfverbosedry_runforces =/opt/alt/python311/lib64/python3.11/distutils/bcppcompiler.pyr zBCPPCompiler.__init__5 s D'7E::: #"&;;;%A%A%A"999$?$?$?! ...!9!9!9 Nc ~ | |||||| \ }} }} }|pg }| d |r| | j n| | j | D ]H} || \ }}n# t $ r Y w xY wt j | }t j | } | t j | |dk r|dk r= | dd| |g n!# t $ r}t | d }~ww xY w|| j v rd}n|| j v rd}nd}d| z } | | j g|z | z ||gz |z |gz )# t $ r}t | d }~ww xY w| S ) Nz-c.res.rcbrcc32z-fo z-P-o)_setup_compileappendextendr r KeyErrorospathnormpathmkpathdirnamespawnr r _c_extensions_cpp_extensionsr )r" sources output_dirmacrosinclude_dirsdebug extra_preargsextra_postargsdependsobjectspp_optsbuildcompile_optsobjsrcextmsg input_opt output_opts r&