,9Mc@sdZdZddkZddkZddkZddkZddkZddkZddk Zddk Zddk Zddk ZgZ eiiiZeiiiZeiiiZeiiiZeiiiZeiihddZdddd d d d d dddddddddddgZdgZddgZdddgZxeD]ZeieeqfWxeD]ZeieeqWx.eD]&ZeieeeieeqWdd4d YZ d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)d*Z*d+Z+d,d5d-YZ,d.d6d/YZ-d0Z.d1Z/d2Z0d3Z1dS(7sSCons.Tool SCons tool selection. This looks for modules that define a callable object that can modify a construction environment as appropriate for a given tool (or tool chain). Note that because this subsystem just *selects* a callable that can modify a construction environment, it's possible for people to define their own "tool specification" in an arbitrary callable function. No one needs to use or tie in to this subsystem in order to roll their own tool definition. s@src/engine/SCons/Tool/__init__.py 4629 2010/01/17 22:23:21 sconsiNtnametSourceFileScanners.cs.Cs.cxxs.cpps.c++s.ccs.hs.Hs.hxxs.hpps.hhs.Fs.fpps.FPPs.ms.mms.Ss.spps.SPPs.ds.idls.IDLs.texs.ltxs.latextToolcBs/eZgdZdZdZdZRS(cKsg||_|t|_||_|i}|i|_|i|_t|do|i|_ndS(Ntoptions( RtDefaultToolpathttoolpathtinit_kwt _tool_moduletgeneratetexiststhasattrR(tselfRRtkwtmodule((s8install/lib/scons-1.2.0.d20100117/SCons/Tool/__init__.pyt__init__Ys      c Csti}|itit_zy[ti|i|i\}}}zti|i|||SWd|o|inXWntj o}t |d|ijot i i |nyddk }Wntj oq4XxQ|iD]A}y#|i|}|i|iSWqtj o }qXqWnXWd|t_Xd|i} yti| SWntj oyRtidi} yiti|i| \}}}ti| |||} tt i|i| |o|in| SWntj o}t |d|ijot i i |nyVddk }|itidid}|i| } tt i|i| | SWqtj o+}d|i|f} t i i | qXnXWqtj o+}d|i|f} t i i | qXnXdS(NsNo module named %sis SCons.Tool.s SCons.ToolisNo tool named '%s': %s(tsystpathRtimpt find_moduleRt load_moduletcloset ImportErrortstrtSConstErrorstEnvironmentErrort zipimportt zipimportertmodulestKeyErrort__path__tsetattrR( R t oldpythonpathtfileRtdescteRtaPathtimportert full_nametsmpathR tm((s8install/lib/scons-1.2.0.d20100117/SCons/Tool/__init__.pyResh !    cOs|idj o@|dj o&|}|ii}|i|qP|i}n|id|igt|doqddk}|idp-ddk l }|i i d||dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXg||}| | | | | |g|}tdY|S([Ntwin32tmslinktgnulinktilinktlinkloctilink32tmsvctmingwtgcctintelcticlticctcctbcc32sg++sc++tmasmtnasmtgast386asmtgfortrantg77tifltcvftf95tf90tfortrantmslibtarttlibtmsvstmidltos2tirixtsgilinktsgiccssgic++tastf77tsgiartsunostsunlinktsunccssunc++tsunf95tsunf90tsunf77tsunarthpuxthplinkthpccshpc++taixtaixlinktaixccsaixc++taixf77tdarwint applelinktifortit BitKeepertCVStdmdt filesystemtdvipdftdvipstgstjartjavactjavahtlatextlextm4tpdflatextpdftextPerforcetRCStrmictrpcgentSCCStswigttarttextyacctziptrpmtwixcSs|S(((tx((s8install/lib/scons-1.2.0.d20100117/SCons/Tool/__init__.pyts(RRR(RRR,RR(tplatformR6tother_plat_toolstlinkerst c_compilerst cxx_compilerst assemblerstfortran_compilerstarst c_compilert cxx_compilertlinkert assemblertfortran_compilerRt other_toolsR((s8install/lib/scons-1.2.0.d20100117/SCons/Tool/__init__.pyt tool_list's                                   ((((2Rt __revision__RRt SCons.BuilderRt SCons.Errorst SCons.Node.FSt SCons.ScannertSCons.Scanner.CtSCons.Scanner.DtSCons.Scanner.LaTeXtSCons.Scanner.ProgRtScannertCtCScannertDtDScannertLaTeXt LaTeXScannertPDFLaTeXScannertProgRKtBaseRt CSuffixest DSuffixest IDLSuffixest LaTeXSuffixesRBt add_scannerRRMRXR^RbRiRoRzRRRRRRRRRR (((s8install/lib/scons-1.2.0.d20100117/SCons/Tool/__init__.pyssl             e     ) %    03