,9Mc@sdZdZddkZddkZddkZddkZddkZddkZddk ZdZ ha ha dZ dZdS(sSCons.Tool.dmd Tool-specific initialization for the Digital Mars D compiler. (http://digitalmars.com/d) Coded by Andy Friesen (andy@ikagames.com) 15 November 2003 There are a number of problems with this script at this point in time. The one that irritates me the most is the Windows linker setup. The D linker doesn't have a way to add lib paths on the commandline, as far as I can see. You have to specify paths relative to the SConscript or use absolute paths. To hack around it, add '#/blah'. This will link blah.lib from the directory where SConstruct resides. Compiler variables: DC - The name of the D compiler to use. Defaults to dmd or gdmd, whichever is found. DPATH - List of paths to search for import modules. DVERSIONS - List of version tags to enable when compiling. DDEBUG - List of debug tags to enable when compiling. Linker related variables: LIBS - List of library files to link in. DLINK - Name of the linker to use. Defaults to dmd or gdmd. DLINKFLAGS - List of linker flags. Lib tool variables: DLIB - Name of the lib tool to use. Defaults to lib. DLIBFLAGS - List of flags to pass to the lib tool. LIBS - Same as for the linker. (libraries to pull into the .lib) s;src/engine/SCons/Tool/dmd.py 4629 2010/01/17 22:23:21 sconsiNcCsj|pdSnxT|D]L}|io<tiit|idd}|djodSqbqqWdS(Niis.d(tsourcestostpathtsplitexttstr(tsourcetstext((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pytisDEs # c Cstii|\}}tiidd}|id||id||idtii|idtii|i ddg}||d} yt| |d?$DLINK -of$TARGET $SOURCES $DFLAGS $DLINKFLAGS $_DLINKLIBFLAGStDLINKCOMtlibtDLIBs5$DLIB $_DLIBFLAGS -c $TARGET $SOURCES $_DLINKLIBFLAGStDLIBCOMsV$( ${_concat(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)t_DLINKLIBFLAGSsD$( ${_concat(DLIBFLAGPREFIX, DLIBFLAGS, DLIBFLAGSUFFIX, __env__)} $)t _DLIBFLAGSt DLINKFLAGStDLIBLINKPREFIXs.libtDLIBLINKSUFFIXtDLIBFLAGPREFIXtDLIBFLAGSUFFIXtDLINKFLAGPREFIXtDLINKFLAGSUFFIXtLINKCOMt SMART_LINKCOMcSst|odSn|SdS(Ns $DLINKCOM(R(Rttargettenvt for_signaturet defaultLinker((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pyt _smartLinks tARCOMt SMART_ARCOMcSst|odSn|SdS(Ns$DLIBCOM(R(RR2R3R4t defaultLib((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pyt _smartLibs s $SMART_ARCOM s$SMART_LINKCOM cSst|oy|d}Wntj o g}nXd|joYd|joL|djo|iddgq|djo|iddgqnd|jo|iddgnd|jo|iddgqn|S(NtLIBStphobostgphobosR R tpthreadtm(RtKeyErrortAppend(RR2R3R4R5tdctlibs((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pyR6s      (tSConstTooltcreateObjBuilderstActiont add_actiont add_emittertDefaultstStaticObjectEmittertSharedObjectEmittertDetecttWhereIststringtrindexRRtisdirRAtcreateStaticLibBuildertgett smart_linkR@t smart_lib( R3t static_objt shared_objtDActionRBtdmd_pathtxt phobosDirtlinkcomR6tarcomR:((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pytgenerateTs                                   cCs|iddgS(NR R (RM(R3((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pytexistss(t__doc__t __revision__RROt SCons.ActionRDt SCons.BuildertSCons.DefaultstSCons.Scanner.Dt SCons.ToolRRTRUR^R_(((s3install/lib/scons-1.2.0.d20100117/SCons/Tool/dmd.pys s