PAL.C.T MINI SHELL
��
���Lc @s�dZdZddkZddklZlZlZlZlZl Z ddk
lZlZl
Z
ddklZddklZddklZd efd
��YZdS(s�distutils.bcppcompiler
Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
sB$Id: bcppcompiler.py 61000 2008-02-23 17:40:11Z christian.heimes $i����N(tDistutilsExecErrortDistutilsPlatformErrortCompileErrortLibErrort LinkErrortUnknownFileError(t CCompilertgen_preprocess_optionstgen_lib_options(t
write_file(tnewer(tlogtBCPPCompilercBs�eZdZdZhZdgZdddgZeeZdZdZ dZ
d ZZd
Z
dddd�Zdddddddd
�Zdddd�Zddddddddddd�
Zdd�Zddd�Zdddddd�ZRS(sConcrete class that implements an interface to the Borland C/C++
compiler, as defined by the CCompiler abstract class.
tbcpps.cs.ccs.cpps.cxxs.objs.libs.dlls%s%ss.exeicCs�ti||||�d|_d|_d|_d|_ddddg|_ddddg|_d d
ddg|_ d d
ddg|_
g|_d
ddg|_d
dddg|_
dS(
Ns bcc32.exesilink32.exestlib.exes/tWMs/O2s/qs/g0s/Ods/Tpds/Gns/xs/r(Rt__init__tcctlinkertlibtNonetpreprocess_optionstcompile_optionstcompile_options_debugtldflags_sharedtldflags_shared_debugtldflags_statictldflags_exetldflags_exe_debug(tselftverbosetdry_runtforce((s,/usr/lib/python2.6/distutils/bcppcompiler.pyR9s c Cs�|i||||||�\}} }}
}|pg}|id�|o|i|i�n|i|i�xw| D]o}
y||
\}}Wntj
o
qynXtii|�}tii|
�}
|i tii
|
��|djoqyn|djoEy|idd|
|g�Wqytj
o}t
|�qyXqyn||ijo
d}n!||ijo
d}nd}d|
}y4|i|ig||
||g||g�Wqytj
o}t
|�qyXqyW| S( Ns-cs.ress.rctbrcc32s-fots-Ps-o(t_setup_compiletappendtextendRRtKeyErrortostpathtnormpathtmkpathtdirnametspawnRRt
_c_extensionst_cpp_extensionsR(Rtsourcest
output_dirtmacrostinclude_dirstdebugt
extra_preargstextra_postargstdependstobjectstpp_optstbuildtcompile_optstobjtsrctexttmsgt input_optt
output_opt((s,/usr/lib/python2.6/distutils/bcppcompiler.pytcompileUsH
.c Cs�|i||�\}}|i|d|�}|i||�o[|dg|}|ony|i|ig|�Wq�tj
o}t|�q�Xntid|�dS(NR.s/usskipping %s (up-to-date)( t_fix_object_argstlibrary_filenamet
_need_linkR*RRRRR1( RR5toutput_libnameR.R1ttarget_langtoutput_filenametlib_argsR<((s,/usr/lib/python2.6/distutils/bcppcompiler.pytcreate_static_lib�sc Cs�|i||�\}}|i|||�\}}}|otidt|��n|dj otii||�}n|i ||�o3|t
ijo)d}| o|i}q�|i
}n&d}| o|i}n|i}|djo
d}n�tii|�\}}tii|�\}}tii|d�}tii|d|�}dg}x,|pgD]}|id||f�q{W|it||fd |�ttii|�}|g}g}x]|D]U}tiitii|��\}}|d
jo|i|�q�|i|�q�Wx+|D]#}|idtii|��qDW|id�|i|�|id
|g�|id�xN|D]F}|i||| �}|djo|i|�q�|i|�q�W|id�|id�|id
|g�|id
�|i|�|
o|
|d*n|o|i|�n|itii|��y|i|ig|�Wq�tj
o}t|�q�Xnti d|�dS(Ns7I don't know what to do with 'runtime_library_dirs': %stc0w32tc0d32R is%s.deftEXPORTSs %s=_%ss
writing %ss.ress/L%ss/L.t,s,,timport32tcw32mtsskipping %s (up-to-date)(!R@t
_fix_lib_argsRtwarntstrRR%R&tjoinRBRt
EXECUTABLERRRRtsplittsplitextR)R"texecuteR tmapR'tnormcaseR#tfind_library_fileR(R*RRRR1( Rttarget_descR5RER.t librariestlibrary_dirstruntime_library_dirstexport_symbolsR1R2R3t
build_tempRDtstartup_objtld_argstdef_filetheadttailtmodnameR;ttemp_dirtcontentstsymtobjects2t resourcestfiletbasetlRtlibfileR<((s,/usr/lib/python2.6/distutils/bcppcompiler.pytlink�s�
$
!
c Cs�|o(|d}|d|d||f}n|d|f}xY|D]M}xD|D]<}tii||i|��}tii|�o|SqSWqFWdSdS(Nt_dt_bcpp(R%R&RQRAtexistsR( RtdirsRR1tdlibt try_namestdirtnameRm((s,/usr/lib/python2.6/distutils/bcppcompiler.pyRX8s
R cCs)|djo
d}ng}x|D]�}tiitii|��\}}||iddgjotd||f�n|otii|�}n|djo$|itii |||��q$|djo$|itii ||d��q$|itii |||i
��q$W|S(NR s.rcs.ress"unknown file type '%s' (from '%s')(RR%R&RTRWtsrc_extensionsRtbasenameR"RQt
obj_extension(Rtsource_filenamest strip_dirR.t obj_namestsrc_nameRkR;((s,/usr/lib/python2.6/distutils/bcppcompiler.pytobject_filenamesRs&
$
$
$cCs |id||�\}}}t||�}dg|} |dj o| id|�n|o|| d*n|o| i|�n| i|�|ip|djpt||�o_|o|iti i
|��ny|i| �Wqtj
o}
|
GHt
|
�qXndS(Ns cpp32.exes-oi(t_fix_compile_argsRRR"R#RR
R(R%R&R)R*RR(Rtsourcetoutput_fileR/R0R2R3t_R6tpp_argsR<((s,/usr/lib/python2.6/distutils/bcppcompiler.pyt
preprocessns$
'N(t__name__t
__module__t__doc__t
compiler_typetexecutablesR+R,RwRytstatic_lib_extensiontshared_lib_extensiontstatic_lib_formattshared_lib_formatt
exe_extensionRRR?RGRnRXR~R�(((s,/usr/lib/python2.6/distutils/bcppcompiler.pyRsJ
B|(R�t__revision__R%tdistutils.errorsRRRRRRtdistutils.ccompilerRRRtdistutils.file_utilR tdistutils.dep_utilR
t distutilsRR(((s,/usr/lib/python2.6/distutils/bcppcompiler.pyt<module>s.
�
y���~�or�5�J�={��E��e�u磝Qk��ᯘG{�?���+�]������ן�?w�M3X^��歌>{�7پ�K�>�o��n�\����j�y��R���g/�=��f�O��r�o��NV�v��~�Y+��NG�u���Ý����HW��y�w�[eQ�ʨ�S�b��>������>�}G�mx[o[<��{���Ϯ_��qF���vMIEND�B`�