%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/distutils/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/distutils/__pycache__/bcppcompiler.cpython-38.pyc

U

q©ßaW:ã@sxdZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZddl
mZddlmZddlmZGdd	„d	e
ƒZdS)
zƒdistutils.bcppcompiler

Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
éN)ÚDistutilsExecErrorÚDistutilsPlatformErrorÚCompileErrorÚLibErrorÚ	LinkErrorÚUnknownFileError)Ú	CCompilerÚgen_preprocess_optionsÚgen_lib_options)Ú
write_file)Únewer)Úlogc
@sŽeZdZdZdZiZdgZdddgZeeZdZ	dZ
d	Zd
ZZ
dZdd
d„Zddd„Zddd„Zd dd„Zd!dd„Zd"dd„Zd#dd„ZdS)$Ú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.exercCs„t ||||¡d|_d|_d|_d|_ddddg|_ddddg|_d	d
ddg|_d	d
ddg|_	g|_
d
ddg|_d
dddg|_dS)
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ÚverboseÚdry_runÚforce©rú2/usr/local/lib/python3.8/distutils/bcppcompiler.pyr5szBCPPCompiler.__init__Nc	Cs–| ||||||¡\}}	}}
}|p$g}| d¡|rB| |j¡n| |j¡|	D]<}
z||
\}}Wntk
r€YqRYnXtj |¡}tj |
¡}
| 	tj 
|
¡¡|dkr¶qR|dkrz| dd|
|g¡WqRtk
r}zt
|ƒ‚W5d}~XYqRXqR||jkrd}n||jkr*d}nd}d|
}z,| |jg||
||g||g¡WqRtk
rŽ}zt
|ƒ‚W5d}~XYqRXqR|	S)	Nz-cú.resú.rcZbrcc32z-foÚz-Pú-o)Z_setup_compileÚappendÚextendrrÚKeyErrorÚosÚpathÚnormpathÚmkpathÚdirnameÚspawnrrÚ
_c_extensionsÚ_cpp_extensionsr)rZsourcesÚ
output_dirÚmacrosÚinclude_dirsÚdebugÚ
extra_preargsÚextra_postargsZdependsÚobjectsÚpp_optsZbuildZcompile_optsÚobjÚsrcÚextÚmsgZ	input_optZ
output_optrrrÚcompileQsVÿÿ



ÿþþ
zBCPPCompiler.compilec	
CsŽ| ||¡\}}|j||d}| ||¡r~|dg|}|r:z| |jg|¡WqŠtk
rz}zt|ƒ‚W5d}~XYqŠXnt d|¡dS)N)r.z/uúskipping %s (up-to-date))	Ú_fix_object_argsÚlibrary_filenameÚ
_need_linkr+rrrr
r1)	rr4Zoutput_libnamer.r1Útarget_langÚoutput_filenameZlib_argsr9rrrÚcreate_static_lib’sÿzBCPPCompiler.create_static_libc 
Csè| ||¡\}}| |||¡\}}}|r8t dt|ƒ¡|dk	rNtj ||¡}| ||¡rØ|t	j
krŽd}|	r~|jdd…}q´|jdd…}n&d}|	r¦|j
dd…}n|jdd…}|dkrÂd}n‚tj |¡\}}tj |¡\}}tj |d¡}tj |d|¡}dg}|pgD]}| d||f¡q| t||fd	|¡ttjj|ƒ}|g}g}|D]>}tj tj |¡¡\}}|d
kr’| |¡n
| |¡q`|D]}| dtj |¡¡q¤| d¡| |¡| d
|g¡| d¡|D]4}| |||	¡}|dkr| |¡n
| |¡qò| d¡| d¡| d
|g¡| d
¡| |¡|
rp|
|dd…<|r€| |¡| tj |¡¡z| |jg|¡Wn,tk
rÔ}zt|ƒ‚W5d}~XYnXnt d|¡dS)Nz7I don't know what to do with 'runtime_library_dirs': %sZc0w32Zc0d32r!rz%s.defZEXPORTSz  %s=_%sz
writing %srz/L%sz/L.ú,z,,Zimport32Zcw32mtr;) r<Z
_fix_lib_argsr
ÚwarnÚstrr&r'Újoinr>rZ
EXECUTABLErrrrÚsplitÚsplitextr*r#ZexecuterÚmapr(Únormcaser$Úfind_library_filer)r+rrrr1) rZtarget_descr4r@r.Z	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsr1r2r3Z
build_tempr?Zstartup_objZld_argsZdef_fileÚheadÚtailÚmodnamer8Ztemp_dirÚcontentsZsymZobjects2Z	resourcesÚfileÚbaseÚlrÚlibfiler9rrrÚlink«s‚ÿÿ
ÿ










zBCPPCompiler.linkc	Csr|r"|d}|d|d||f}n|d|f}|D]:}|D]0}tj || |¡¡}tj |¡r:|Sq:q2dS)NZ_dZ_bcpp)r&r'rEr=Úexists)	rÚdirsrr1ZdlibZ	try_namesÚdirÚnamerRrrrrJ4s
zBCPPCompiler.find_library_filer!cCsÆ|dkrd}g}|D]¬}tj tj |¡¡\}}||jddgkrRtd||fƒ‚|rbtj |¡}|dkr„| tj |||¡¡q|dkr¦| tj ||d¡¡q| tj |||j	¡¡q|S)Nr!r rz"unknown file type '%s' (from '%s'))
r&r'rGrIÚsrc_extensionsrÚbasenamer#rEÚ
obj_extension)rZsource_filenamesZ	strip_dirr.Z	obj_namesZsrc_namerPr8rrrÚobject_filenamesNs&ÿÿzBCPPCompiler.object_filenamesc
CsÚ| d||¡\}}}t||ƒ}dg|}	|dk	r>|	 d|¡|rN||	dd…<|r\|	 |¡|	 |¡|js~|dks~t||ƒrÖ|r”| tj 	|¡¡z| 
|	¡Wn2tk
rÔ}
zt|
ƒt
|
ƒ‚W5d}
~
XYnXdS)Nz	cpp32.exer"r)Z_fix_compile_argsr	r#r$rrr)r&r'r*r+rÚprintr)rÚsourceZoutput_filer/r0r2r3Ú_r5Zpp_argsr9rrrÚ
preprocessis&	ÿ



zBCPPCompiler.preprocess)rrr)NNNrNNN)NrN)
NNNNNrNNNN)r)rr!)NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z
compiler_typeZexecutablesr,r-rXrZZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionrr:rArSrJr[r_rrrrrsb
ý
þ
Dû
ó


ý
úr)rcr&Zdistutils.errorsrrrrrrZdistutils.ccompilerrr	r
Zdistutils.file_utilrZdistutils.dep_utilrZ	distutilsr
rrrrrÚ<module>s 

Zerion Mini Shell 1.0