B
    ›³ëbž  ã               @   sb   d Z dZddlZddlZddlZddgZej dd¡s@e 	d¡ dd„ Z
d	gZd
d„ Zdd„ ZdS )zåSCons.Tool.cc

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.
z,__FILE__ __REVISION__ __DATE__ __DEVELOPER__é    Nz.cz.mz.Cc             C   s€   d| krLd| d< t j d¡| d< t j d¡| d< | d dkrL| d d | d< d	| krdt j d¡| d	< d
| kr|t j d¡| d
< dS )zo
    Add underlying common "C compiler" variables that
    are used by multiple tools (specifically, c++).
    Z	_CCCOMCOMz%$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGSÚ Z
FRAMEWORKSZFRAMEWORKPATHZPLATFORMÚdarwinz $_FRAMEWORKPATHZCCFLAGSZ	SHCCFLAGSz$CCFLAGSN)ÚSConsÚUtilÚCLVar)Úenv© r   ú,lib/python3.7/site-packages/SCons/Tool/cc.pyÚadd_common_cc_variables+   s    r
   Zccc             C   sø   t j | ¡\}}xLtD ]D}| |t jj¡ | |t jj¡ | |t jj	¡ | |t jj
¡ qW t| ƒ d| kr„|  t¡p~td | d< t j d¡| d< d| d< d| d< t j d	¡| d
< d| d< d| d< d| d< d| d< d| d< d| d< d| d< d| d< dS )zT
    Add Builders and construction variables for C compilers to an Environment.
    ÚCCr   r   ZCFLAGSz6$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCESZCCCOMz$CCZSHCCz$CFLAGSZSHCFLAGSz<$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCESZSHCCCOMz-DZCPPDEFPREFIXZCPPDEFSUFFIXz-IZ	INCPREFIXZ	INCSUFFIXz.osZSHOBJSUFFIXZ&STATIC_AND_SHARED_OBJECTS_ARE_THE_SAMEz.cZCFILESUFFIXN)r   ZToolZcreateObjBuildersÚ	CSuffixesZ
add_actionZDefaultsZCActionZ	ShCActionZadd_emitterZStaticObjectEmitterZSharedObjectEmitterr
   ÚDetectÚ	compilersr   r   )r   Z
static_objZ
shared_objÚsuffixr   r   r	   ÚgenerateC   s*    
r   c             C   s   |   |  dt¡¡S )Nr   )r   Úgetr   )r   r   r   r	   Úexistsb   s    r   )Ú__doc__Z__revision__Z
SCons.Toolr   ZSCons.DefaultsZ
SCons.Utilr   r   Zcase_sensitive_suffixesÚappendr
   r   r   r   r   r   r   r	   Ú<module>   s   
