a XC?h.: ã @ sl d dl Z d dlmZmZmZmZmZ d dlmZm Z d dl mZ d dlm Z d dlmZ G dd„ deƒZdS ) é N)ÚDistutilsExecErrorÚCompileErrorÚLibErrorÚ LinkErrorÚUnknownFileError)Ú CCompilerÚgen_preprocess_options)Ú write_file)Únewer)Úlogc @ sˆ e Zd ZdZi ZdgZg d¢Zee ZdZdZ dZ d ZZdZ dd d„Zdd d„Zddd„Zddd„Zddd„Zddd„Zd dd„ZdS )!ÚBCPPCompilerZbcppz.c)z.ccz.cppz.cxxz.objz.libz.dllz%s%sz.exer c C sn t | |||¡ 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__ÚccÚlinkerÚlibZpreprocess_optionsÚcompile_optionsÚcompile_options_debugÚldflags_sharedÚldflags_shared_debugZldflags_staticÚldflags_exeÚldflags_exe_debug)ÚselfÚverboseZdry_runÚforce© r ú;/opt/alt/python39/lib64/python3.9/distutils/bcppcompiler.pyr 5 s zBCPPCompiler.__init__Nc C s˜ | ||||||¡\}} }} }|p$g }| d¡ |rB| | j¡ n| | j¡ | D ]>} z|| \}}W n ty~ Y qRY n0 tj |¡}tj | ¡} | tj | ¡¡ |dkr´qR|dkrz| dd| |g¡ W qR ty } zt |ƒ‚W Y d }~qRd }~0 0 qR|| jv rd}n|| jv r*d}nd}d| }z,| | jg| | ||g | |g ¡ W qR ty } zt |ƒ‚W Y d }~qRd }~0 0 qR| S ) Nz-cú.resú.rcZbrcc32z-foÚ z-Pú-o)Z_setup_compileÚappendÚextendr r ÚKeyErrorÚosÚpathÚnormpathÚmkpathÚdirnameÚspawnr r Ú _c_extensionsÚ_cpp_extensionsr )r ZsourcesÚ output_dirÚmacrosÚinclude_dirsÚdebugÚ extra_preargsÚextra_postargsZdependsÚobjectsÚpp_optsZbuildZcompile_optsÚobjÚsrcÚextÚmsgZ input_optZ output_optr r r ÚcompileQ sT ÿÿ ÿþþ zBCPPCompiler.compilec C s | ||¡\}}| j||d}| ||¡r€|dg| }|r:z| | jg| ¡ W qŒ ty| } zt|ƒ‚W Y d }~qŒd }~0 0 nt d|¡ d S )N)r0 z/uúskipping %s (up-to-date)) Ú_fix_object_argsÚlibrary_filenameÚ _need_linkr- r r r r r3 ) r r6 Zoutput_libnamer0 r3 Útarget_langÚoutput_filenameZlib_argsr; r r r Úcreate_static_lib’ s ÿ zBCPPCompiler.create_static_libc C sê | ||¡\}}| |||¡\}}}|r8t dt|ƒ¡ |d urNtj ||¡}| ||¡rÚ|t j krŽd}| r~| jd d … }q´| jd d … }n&d}| r¦| j d d … }n| jd d … }|d u rÂd}n‚tj |¡\}}tj |¡\}}tj |d ¡}tj |d| ¡}dg}|pg D ]}| d||f ¡ q| t||fd | ¡ ttjj|ƒ}|g}g }|D ]>}tj tj |¡¡\}}|d kr’| |¡ n | |¡ q`|D ]}| dtj |¡ ¡ q¤| d¡ | |¡ | d |g¡ | d¡ |D ]4}| ||| ¡}|d u r| |¡ n | |¡ qò| d¡ | d¡ | d |g¡ | d ¡ | |¡ | rp| |d d…<