B
    ›³ëbþ  ã               @   sR   d Z ddlZddlZddlZddlZddlZddlm  m	Z	 dd„ Z
dd„ ZdS )a*  SCons.Tool.ldc

Tool-specific initialization for the LDC compiler.
(https://github.com/ldc-developers/ldc)

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 ldc2.
    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 ldc2.
    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   sJ  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rndnd0| d1< | d. d/krˆd2nd| d3< d4| d5< d6| d7< d| d8< d9| d:< | d. d/krÂd;nd<| d=< d> | d. d/kràd?nd¡| d@< d!| dA< d| dB< | d. dCkrdDndE| dF< d| dG< dH| dI< dJ| dK< t jjdLtjdM| dN dO< d S )PNz.dÚldc2ZDCzJ$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -of=$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SHDCz`$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -relocation-model=pic -of=$TARGET $SOURCESZSHDCOMz#/ZDPATHZDFLAGSZ	DVERSIONSZDDEBUGz-I=Z
DINCPREFIXÚ Z
DINCSUFFIXz	-version=Z
DVERPREFIXZ
DVERSUFFIXz-debug=ZDDEBUGPREFIXZDDEBUGSUFFIXú-ZDFLAGPREFIXZDFLAGSUFFIXZDFILESUFFIXZDLINKZ
DLINKFLAGSzL$DLINK -of=$TARGET $DLINKFLAGS $__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGSZDLINKCOMZSHDLINKz+$DLINKFLAGS -shared -defaultlib=phobos2-ldcZSHDLINKFLAGSzu$DLINK -of=$TARGET $SHDLINKFLAGS $__SHDLIBVERSIONFLAGS $__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS -L-ldruntime-ldcZ
SHDLINKCOMZPLATFORMZwin32z-L-lZDLIBLINKPREFIXz.libZDLIBLINKSUFFIXzW${_stripixes(DLIBLINKPREFIX, LIBS, DLIBLINKSUFFIX, LIBPREFIXES, LIBSUFFIXES,  __env__)}Z
_DLIBFLAGSz-L-LZDLIBDIRPREFIXZDLIBDIRSUFFIXzQ${_concat(DLIBDIRPREFIX, LIBPATH, DLIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)}Z_DLIBDIRFLAGSÚlibzar crZDLIBz1$DLIB $_DLIBFLAGS {0}$TARGET $SOURCES $_DLIBFLAGSz-c ZDLIBCOMZDLIBFLAGPREFIXZDLIBFLAGSUFFIXÚdarwinz-L-Wl,-rpath,z	-L-rpath=ZDRPATHPREFIXZDRPATHSUFFIXz6${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}Z_DRPATHz+$SHDLIBVERSIONFLAGS -L-soname=$_SHLIBSONAMEZ_SHDLIBVERSIONFLAGSzx$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -of=$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/ldc.pyÚgenerate=   sf    
 r   c             C   s
   |   d¡S )Nr   )r
   )r   r   r   r   Úexists‹   s    r   )Ú__doc__ZSCons.Actionr   ZSCons.BuilderZSCons.DefaultsZSCons.Scanner.DZ
SCons.ToolZSCons.Tool.DCommonr	   r   r   r   r   r   r   r   Ú<module>0   s   N