mò &U²Ic@s®dZdZdkZdkZdkZdkTdklZlZl Z l Z l Z dk l Z lZlZdkZdkZdklZdkZde fd„ƒYZdS( s¶distutils.mwerkscompiler Contains MWerksCompiler, an implementation of the abstract CCompiler class for MetroWerks CodeWarrior on the Macintosh. Needs work to support CW on Windows.s:$Id: mwerkscompiler.py 37828 2004-11-10 22:23:15Z loewis $N(t*(sDistutilsExecErrorsDistutilsPlatformErrors CompileErrorsLibErrors LinkError(s CCompilersgen_preprocess_optionssgen_lib_options(slogtMWerksCompilerc BsþtZdZdZhZdgZdddgZdgZdZeeeZ dZ d Z d Z d Z d ZZd Zdddd„Zeeedeeed„Zeeeeedeeeed„ Zd„Zd„Zd„Zd„Zdd„ZRS(syConcrete class that implements an interface to MetroWerks CodeWarrior, as defined by the CCompiler abstract class.tmwerkss.cs.ccs.cpps.cxxs.rs.exps.rsrcs.objs.libs.slbs%s%sticCsti||||ƒdS(N(t CCompilert__init__tselftverbosetdry_runtforce(RRRR ((t5/data/zmath/lib/python2.4/distutils/mwerkscompiler.pyR6sc Cs=|i|||ƒ\}}}||_||_||_gS(N( Rt_fix_compile_argst output_dirtmacrost include_dirstsourcest_MWerksCompiler__sourcest_MWerksCompiler__macrost_MWerksCompiler__include_dirs( RRR R Rtdebugt extra_preargstextra_postargstdepends((R tcompile>s    c%Cs1|i||ƒ\}}|i|||ƒ\}}}||i |i fjo t d‚n|o t d‚n| p| o t d‚nt|ƒdjo t d‚nt|i|iƒ}t|i|iƒ}|ot|i|ƒ}ng}| o|i| ƒ} n tiƒ} |otii||ƒ}n|i|ƒ}tii|ƒ\}}|ddjo|d }n6|ddjo|d }ntii|ƒd }|d }|}|d }|d }d |}t$i%i&| d|i'ƒt$i%i&|d|i'ƒh} || d<|| d<|| d<|| dtutilt convert_pathRFR2R4tisabsRIR3R5tstringR7t componentstrangeR-ti(RRFRiR3Rg((R R0Ís cCsdS(skReturn the compiler option to add 'dir' to the list of directories searched for libraries. N((Rtdir((R tlibrary_dir_optionÞscCsdS(ssReturn the compiler option to add 'dir' to the list of directories searched for runtime libraries. N((RRj((R truntime_library_dir_optionäscCsdS(sReturn the compiler option to add 'dir' to the list of libraries linked into the shared library or executable. N((Rtlib((R tlibrary_optionëscCsdS(sHSearch the specified list of directories for a static or shared library file 'lib' and return the full path to that file. If 'debug' true, look for a debugging version (if that makes sense on the current platform). Return None if 'lib' wasn't found in any of the specified directories. iN((RtdirsRmR((R tfind_library_fileñs(t__name__t __module__t__doc__t compiler_typet executablest _c_extensionst_cpp_extensionst_rc_extensionst_exp_extensiontsrc_extensionst res_extensiont obj_extensiontstatic_lib_extensiontshared_lib_extensiontstatic_lib_formattshared_lib_formatt exe_extensionRRURRaR0RkRlRnRp(((R Rs,    '~    (Rst __revision__RBR2Rfttypestdistutils.errorstDistutilsExecErrorR,t CompileErrortLibErrort LinkErrortdistutils.ccompilerRtgen_preprocess_optionstgen_lib_optionstdistutils.utilR>tdistutils.dir_utilRNRWR(RR,R‚R…RfRŠR>R‹RˆRBRRWR†R2R‡RN((R t?s%