ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python3.8/distutils/__pycache__/bcppcompiler.cpython-38.pyc
U

e5dW:ã@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ÚverboseZdry_runÚforce©rú./usr/lib64/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
r0)	rr3Zoutput_libnamer-r0Útarget_langÚoutput_filenameZlib_argsr8rrrÚ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*rrrr0) rZtarget_descr3r?r-Z	librariesZlibrary_dirsZruntime_library_dirsZexport_symbolsr0r1r2Z
build_tempr>Zstartup_objZld_argsZdef_fileÚheadÚtailÚmodnamer7Ztemp_dirÚcontentsZsymZobjects2Z	resourcesÚfileÚbaseÚlrÚlibfiler8rrrÚ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&rDr<Úexists)	rÚdirsrr0ZdlibZ	try_namesÚdirÚnamerQrrrrI4s
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 rrz"unknown file type '%s' (from '%s'))
r%r&rFrHÚsrc_extensionsrÚbasenamer"rDÚ
obj_extension)rZsource_filenamesZ	strip_dirr-Z	obj_namesZsrc_namerOr7rrrÚ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.r/r1r2Ú_r4Zpp_argsr8rrrÚ
preprocessis&	ÿ



zBCPPCompiler.preprocess)rrr)NNNrNNN)NrN)
NNNNNrNNNN)r)rr )NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z
compiler_typeZexecutablesr+r,rWrYZstatic_lib_extensionZshared_lib_extensionZstatic_lib_formatZshared_lib_formatZ
exe_extensionrr9r@rRrIrZr^rrrrrsb
ý
þ
Dû
ó


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