B
    ›³ëb»  ã               @   sh   d Z ddlZddlZddlZddgZddddd	d
gZej 	dd¡rLe 
d¡ dd„ Zdd„ Zdd„ ZdS )zèSCons.Tool.c++

Tool-specific initialization for generic Posix C++ compilers.

There normally shouldn't be any need to import this module directly.
It will usually be imported through the generic SCons.Tool.Tool()
selection method.
é    NZCCzc++z.cppz.ccz.cxxz.c++z.C++z.mmz.cz.Cc             C   sF   | sdS x8| D ]0}|j rtj t|j d ƒ¡d }|tkrdS qW dS )Nr   é   )ZsourcesÚosÚpathÚsplitextÚstrÚCXXSuffixes)ÚsourceÚsZext© r
   ú-lib/python3.7/site-packages/SCons/Tool/cxx.pyÚiscplusplus*   s    
r   c             C   s  ddl }ddl}|j | ¡\}}xLtD ]D}| ||jj¡ | ||jj¡ | 	||jj
¡ | 	||jj¡ q&W |jj | ¡ d| krš|  t¡p”td | d< |j d¡| d< d| d< d| d	< |j d
¡| d< d| d< d| d< d| d< d| d< d| d< d| d< d| d< d| d< d| d< dS )ze
    Add Builders and construction variables for Visual Age C++ compilers
    to an Environment.
    r   NÚCXXÚ ZCXXFLAGSz9$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCESZCXXCOMz$CXXZSHCXXz	$CXXFLAGSZ
SHCXXFLAGSz?$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCESZSHCXXCOMz-DZCPPDEFPREFIXZCPPDEFSUFFIXz-IZ	INCPREFIXZ	INCSUFFIXz.osZSHOBJSUFFIXz.oZ	OBJSUFFIXZ&STATIC_AND_SHARED_OBJECTS_ARE_THE_SAMEz.ccZCXXFILESUFFIX)Z
SCons.ToolZSCons.Tool.ccZToolZcreateObjBuildersr   Z
add_actionZDefaultsZ	CXXActionZShCXXActionZadd_emitterZStaticObjectEmitterZSharedObjectEmitterZccZadd_common_cc_variablesÚDetectÚ	compilersÚUtilZCLVar)ÚenvÚSConsZ
static_objZ
shared_objÚsuffixr
   r
   r   Úgenerate5   s0    
r   c             C   s   |   |  dt¡¡S )Nr   )r   Úgetr   )r   r
   r
   r   ÚexistsX   s    r   )Ú__doc__Úos.pathr   ZSCons.Defaultsr   Z
SCons.Utilr   r   r   Zcase_sensitive_suffixesÚappendr   r   r   r
   r
   r
   r   Ú<module>   s   
#