Your IP : 3.143.24.110


Current Path : /opt/alt/python33/lib64/python3.3/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/distutils/__pycache__/bcppcompiler.cpython-33.pyo

�
��fW:c@s�dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZddl
mZddlmZddlmZGdd	�d	e
�ZdS(
u�distutils.bcppcompiler

Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
iN(uDistutilsExecErroruDistutilsPlatformErroruCompileErroruLibErroru	LinkErroruUnknownFileError(u	CCompilerugen_preprocess_optionsugen_lib_options(u
write_file(unewer(ulogcBs|EeZdZdZdZiZdgZdddgZeeZdZ	dZ
d	Zd
ZZ
dZdddd
d�Zddddddddd�Zddddd�Zdddddddddddd�
Zddd�Zdddd�Zddddddd�ZdS(uBCPPCompileruConcrete class that implements an interface to the Borland C/C++
    compiler, as defined by the CCompiler abstract class.
    ubcppu.cu.ccu.cppu.cxxu.obju.libu.dllu%s%su.exeicCs�tj||||�d|_d|_d|_d|_ddddg|_ddddg|_d	d
ddg|_	d	d
ddg|_
g|_d
ddg|_d
dddg|_
dS(
Nu	bcc32.exeuilink32.exeutlib.exeu/tWMu/O2u/qu/g0u/Odu/Tpdu/Gnu/xu/r(u	CCompileru__init__ucculinkerulibuNoneupreprocess_optionsucompile_optionsucompile_options_debuguldflags_shareduldflags_shared_debuguldflags_staticuldflags_exeuldflags_exe_debug(uselfuverboseudry_runuforce((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu__init__5s					uBCPPCompiler.__init__c	Cs
|j||||||�\}}	}}
}|p6g}|jd�|r_|j|j�n|j|j�x�|	D]�}
y||
\}}Wntk
r�wvYnXtjj|�}tjj|
�}
|j	tjj
|
��|dkr�qvn|dkrZy|jdd|
|g�Wqvtk
rS}zt
|��WYdd}~XqvXqvn||jkrrd}n||jkr�d}nd}d|
}y4|j|jg||
||g||g�Wqvtk
r}zt
|��WYdd}~XqvXqvW|	S(	Nu-cu.resu.rcubrcc32u-fouu-Pu-o(u_setup_compileuappenduextenducompile_options_debugucompile_optionsuKeyErroruosupathunormpathumkpathudirnameuspawnuDistutilsExecErroruCompileErroru
_c_extensionsu_cpp_extensionsucc(uselfusourcesu
output_dirumacrosuinclude_dirsudebugu
extra_preargsuextra_postargsudependsuobjectsupp_optsubuilducompile_optsuobjusrcuextumsgu	input_optu
output_opt((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyucompileQsF


		
.#uBCPPCompiler.compilec	Cs�|j||�\}}|j|d|�}|j||�r�|dg|}|rXny|j|jg|�Wq�tk
r�}zt|��WYdd}~Xq�Xntjd|�dS(Nu
output_diru/uuskipping %s (up-to-date)(	u_fix_object_argsulibrary_filenameu
_need_linkuspawnulibuDistutilsExecErroruLibErrorulogudebug(	uselfuobjectsuoutput_libnameu
output_dirudebugutarget_languoutput_filenameulib_argsumsg((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyucreate_static_lib�s"uBCPPCompiler.create_static_libc Cs�|j||�\}}|j|||�\}}}|rUtjdt|��n|dk	rytjj||�}n|j	||�r�|t
jkr�d}|	r�|jdd�}q|j
dd�}n5d}|	r�|jdd�}n|jdd�}|dkrd}n�tjj|�\}}tjj|�\}}tjj|d�}tjj|d|�}dg}x+|p�gD]}|jd||f�q�W|jt||fd	|�ttjj|�}|g}g}x[|D]S}tjjtjj|��\}}|d
kr@|j|�q�|j|�q�Wx+|D]#}|jdtjj|��qXW|jd�|j|�|jd
|g�|jd�xL|D]D}|j|||	�}|dkr�|j|�q�|j|�q�W|jd�|jd�|jd
|g�|jd
�|j|�|
rh|
|dd�<n|r~|j|�n|jtjj|��y|j|jg|�Wq�tk
r�}zt|��WYdd}~Xq�Xntj d|�dS(Nu7I don't know what to do with 'runtime_library_dirs': %suc0w32uc0d32uiu%s.defuEXPORTSu  %s=_%su
writing %su.resu/L%su/L.u,u,,uimport32ucw32mtuskipping %s (up-to-date)(!u_fix_object_argsu
_fix_lib_argsuloguwarnustruNoneuosupathujoinu
_need_linku	CCompileru
EXECUTABLEuldflags_exe_debuguldflags_exeuldflags_shared_debuguldflags_sharedusplitusplitextudirnameuappenduexecuteu
write_fileumapunormpathunormcaseuextendufind_library_fileumkpathuspawnulinkeruDistutilsExecErroru	LinkErrorudebug( uselfutarget_descuobjectsuoutput_filenameu
output_diru	librariesulibrary_dirsuruntime_library_dirsuexport_symbolsudebugu
extra_preargsuextra_postargsu
build_temputarget_langustartup_objuld_argsudef_fileuheadutailumodnameuextutemp_dirucontentsusymuobjects2u	resourcesufileubaseululibulibfileumsg((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyulink�s|				
$
!








"uBCPPCompiler.linkc	Cs�|r-|d}|d|d||f}n|d|f}xW|D]K}xB|D]:}tjj||j|��}tjj|�rQ|SqQWqDWdSdS(Nu_du_bcpp(uosupathujoinulibrary_filenameuexistsuNone(	uselfudirsulibudebugudlibu	try_namesudirunameulibfile((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyufind_library_file4s



uBCPPCompiler.find_library_fileucCs"|dkrd}ng}x|D]�}tjjtjj|��\}}||jddgkr~td||f��n|r�tjj|�}n|dkr�|jtjj	|||��q"|dkr�|jtjj	||d��q"|jtjj	|||j
��q"W|S(Nuu.rcu.resu"unknown file type '%s' (from '%s')(uNoneuosupathusplitextunormcaseusrc_extensionsuUnknownFileErrorubasenameuappendujoinu
obj_extension(uselfusource_filenamesu	strip_diru
output_diru	obj_namesusrc_nameubaseuext((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyuobject_filenamesNs"	
$##uBCPPCompiler.object_filenamescCs2|jd||�\}}}t||�}dg|}	|dk	rZ|	jd|�n|rs||	dd�<n|r�|	j|�n|	j|�|js�|dks�t||�r.|r�|jtj	j
|��ny|j|	�Wq.tk
r*}
zt
|
�t|
��WYdd}
~
Xq.XndS(Nu	cpp32.exeu-oi(u_fix_compile_argsuNoneugen_preprocess_optionsuappenduextenduforceunewerumkpathuosupathudirnameuspawnuDistutilsExecErroruprintuCompileError(uselfusourceuoutput_fileumacrosuinclude_dirsu
extra_preargsuextra_postargsu_upp_optsupp_argsumsg((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu
preprocessis$	

$
uBCPPCompiler.preprocessN(u__name__u
__module__u__qualname__u__doc__u
compiler_typeuexecutablesu
_c_extensionsu_cpp_extensionsusrc_extensionsu
obj_extensionustatic_lib_extensionushared_lib_extensionustatic_lib_formatushared_lib_formatu
exe_extensionu__init__uNoneucompileucreate_static_libulinkufind_library_fileuobject_filenamesu
preprocess(u
__locals__((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyuBCPPCompilersJ	

B|uBCPPCompiler(u__doc__uosudistutils.errorsuDistutilsExecErroruDistutilsPlatformErroruCompileErroruLibErroru	LinkErroruUnknownFileErrorudistutils.ccompileru	CCompilerugen_preprocess_optionsugen_lib_optionsudistutils.file_utilu
write_fileudistutils.dep_utiluneweru	distutilsuloguBCPPCompiler(((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu<module>s
.

?>