B ¼„Ù ±LG`ã @ st d dl Z d dlmZmZmZmZmZmZ d dlm Z m Z mZ d dlm Z d dlmZ d dlmZ G dd„ de ƒZdS ) é N)ÚDistutilsExecErrorÚDistutilsPlatformErrorÚCompileErrorÚLibErrorÚ LinkErrorÚUnknownFileError)Ú CCompilerÚgen_preprocess_optionsÚgen_lib_options)Ú write_file)Únewer)Úlogc @ sŠ e Zd ZdZi ZdgZdddgZee ZdZdZ dZ d ZZd Z ddd „Zddd„Zddd„Zddd„Zd dd„Zd!dd„Zd"dd„ZdS )#ÚBCPPCompilerZbcppz.cz.ccz.cppz.cxxz.objz.libz.dllz%s%sz.exer c C s„ t | |||¡ d| _d| _d| _d | _ddddg| _ddddg| _d d ddg| _d d ddg| _ g | _ d ddg| _d dddg| _d S ) Nz bcc32.exezilink32.exeztlib.exez/tWMz/O2z/qz/g0z/Odz/Tpdz/Gnz/xz/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/python37/lib64/python3.7/distutils/bcppcompiler.pyr 5 s zBCPPCompiler.__init__Nc C sš | ||||||¡\}} }} }|p$g }| d¡ |rB| | j¡ n| | j¡ xD| D ]:} y|| \}}W n tk r‚ wVY nX tj |¡}tj | ¡} | tj | ¡¡ |dkr¸qV|dkry| dd| |g¡ W qV tk r } zt |ƒ‚W d d }~X Y qVX qV|| jkrd}n|| jkr,d}nd}d| }y,| | jg| | ||g | |g ¡ W qV tk r } zt |ƒ‚W d d }~X Y qVX qVW | S ) Nz-cz.resz.rcZbrcc32z-foÚ z-Pz-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 sF (zBCPPCompiler.compilec C sŽ | ||¡\}}| j||d}| ||¡r~|dg| }|r:y| | jg| ¡ W qŠ tk rz } zt|ƒ‚W d d }~X Y qŠX nt d|¡ d S )N)r* z/uzskipping %s (up-to-date)) Ú_fix_object_argsÚlibrary_filenameÚ _need_linkr' r r r r r- ) r r0 Zoutput_libnamer* r- Útarget_langÚoutput_filenameZlib_argsr5 r r r Úcreate_static_lib’ s zBCPPCompiler.create_static_libc C sø | ||¡\}}| |||¡\}}}|r8t dt|ƒ¡ |d k rNtj ||¡}| ||¡rè|t j krŽd}| r~| jd d … }q´| jd d … }n&d}| r¦| j d d … }n| jd d … }|d krÂd}n†tj |¡\}}tj |¡\}}tj |d ¡}tj |d| ¡}dg}x&|pg D ]}| d||f ¡ qW | t||fd | ¡ ttjj|ƒ}|g}g }xF|D ]>}tj tj |¡¡\}}|d kr˜| |¡ n | |¡ qfW x$|D ]}| dtj |¡ ¡ q®W | d¡ | |¡ | d |g¡ | d¡ x<|D ]4}| ||| ¡}|d kr(| |¡ n | |¡ q W | d¡ | d¡ | d |g¡ | d ¡ | |¡ | r€| |d d…<