B
    ›³ëb£  ã               @   sJ   d Z ddlZddlZddlZddlm  mZ ddlZdd„ Z	dd„ Z
dS )a+  SCons.Tool.gdc

Tool-specific initialization for the GDC compiler.
(https://github.com/D-Programming-GDC/GDC)

Developed by Russel Winder (russel@winder.org.uk)
2012-05-09 onwards

Compiler variables:
    DC - The name of the D compiler to use.  Defaults to gdc.
    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 gdc.
    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)
é    Nc             C   sü  t j | ¡\}}| dt jj¡ | dt jj¡ | dt jj¡ | dt jj	¡ |  
d¡p\d| d< d| d< d| d< d| d	< d
| d< d| d< d| d< d| d< dg| d< g | d< g | d< g | d< | d rÔt | | d ¡ d| d< d| d< d| d< d| d< d| d< d| d < d!| d"< d| d#< d| d$< d| d%< t j d¡| d&< d'| d(< d| d)< t j d*¡| d+< d,| d-< | d. d/krnd0nd1| d2< d3 | d. d/krŒd4nd¡| d5< d6| d7< d!| d8< d| d9< d!| d:< d| d;< d<| d=< d| d>< d?| d@< dA| dB< t jjdCtjdD| dE dF< d S )GNz.dÚgdcZDCzI$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -o $TARGET $SOURCESZDCOMzI${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}Z
_DINCFLAGSz6${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}Z
_DVERFLAGSz7${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}Z_DDEBUGFLAGSz5${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}Z_DFLAGSz$DCZSHDCzQ$SHDC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -fPIC -c -o $TARGET $SOURCESZSHDCOMz#/ZDPATHZDFLAGSZ	DVERSIONSZDDEBUGz-IZ
DINCPREFIXÚ Z
DINCSUFFIXz	-version=Z
DVERPREFIXZ
DVERSUFFIXz-debug=ZDDEBUGPREFIXZDDEBUGSUFFIXú-ZDFLAGPREFIXZDFLAGSUFFIXZDFILESUFFIXZDLINKZ
DLINKFLAGSzH$DLINK -o $TARGET $DLINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGSZDLINKCOMZSHDLINKz%$DLINKFLAGS -shared -shared-libphobosZSHDLINKFLAGSz`$DLINK -o $TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGSZ
SHDLINKCOMZPLATFORMZwin32Úlibzar crZDLIBz5$DLIB $_DLIBFLAGS {0}$TARGET $SOURCES $_DLINKLIBFLAGSz-c ZDLIBCOMz>${_concat(DLIBFLAGPREFIX, DLIBFLAGS, DLIBFLAGSUFFIX, __env__)}Z
_DLIBFLAGSZDLIBFLAGPREFIXZDLIBFLAGSUFFIXZDLINKFLAGPREFIXZDLINKFLAGSUFFIXz-Wl,-rpath=ZRPATHPREFIXZRPATHSUFFIXz4${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}Z_RPATHz-$SHDLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAMEZ_SHDLIBVERSIONFLAGSzw$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -o $TARGET $DLINKFLAGS $__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS)ÚactionZemitterZBUILDERSZProgramAllAtOnce)ÚSConsÚToolZcreateObjBuildersZ
add_actionZDefaultsZDActionZ	ShDActionZadd_emitterZStaticObjectEmitterZSharedObjectEmitterÚDetectÚDCommonZaddDPATHToEnvZUtilZCLVarÚformatZBuilderZallAtOnceEmitter)ÚenvZ
static_objZ
shared_obj© r   ú-lib/python3.7/site-packages/SCons/Tool/gdc.pyÚgenerate9   s`    
 r   c             C   s
   |   d¡S )Nr   )r	   )r   r   r   r   Úexists~   s    r   )Ú__doc__ZSCons.Actionr   ZSCons.DefaultsZ
SCons.ToolZSCons.Tool.DCommonr   r
   ZSCons.Tool.linkCommonr   r   r   r   r   r   Ú<module>/   s   E