B
    ›³ëbø  ã               @   sD   d Z dZddlZdd„ Zdd„ Zdd	„ Zd
d„ ZejjeddZ	dS )zïSCons.Tool.mwld

Tool-specific initialization for the Metrowerks CodeWarrior linker.

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__é    Nc             C   s   t j | ¡ t j | ¡ t j | ¡ d| d< d| d< d| d< d| d< d	| d
< d| d< d| d< d| d< d| d< d| d< t| d< t| d< t| d< dS )zBAdd Builders and construction variables for lib to an Environment.ZmwldZARz)$AR $ARFLAGS -library -o $TARGET $SOURCESZARCOMz-LZLIBDIRPREFIXÚ ZLIBDIRSUFFIXz-lZLIBLINKPREFIXz.libZLIBLINKSUFFIXZLINKz=$LINK $LINKFLAGS -o $TARGET $SOURCES $_LIBDIRFLAGS $_LIBFLAGSZLINKCOMz$LINKZSHLINKz
$LINKFLAGSZSHLINKFLAGSZ	SHLINKCOMZSHLIBEMITTERZLDMODULEEMITTERN)ÚSConsÚToolZcreateStaticLibBuilderZcreateSharedLibBuilderZcreateProgBuilderÚshlib_actionÚshlib_emitter)Úenv© r   ú.lib/python3.7/site-packages/SCons/Tool/mwld.pyÚgenerate&   s     r
   c             C   s   dd l }|jj | ¡S )Nr   )ZSCons.Tool.mwccr   ZmwccZset_vars)r   r   r   r   r	   Úexists>   s    r   c             C   s€   dddg}|  dd¡}|r$| d¡ | | dd¡}|rD| d	|g¡ | | d
d¡}|rj| d| |¡g¡ | dddg¡ |gS )Nz$SHLINKz$SHLINKFLAGSz-sharedÚno_import_libr   z	-noimplibÚSHLIBPREFIXÚSHLIBSUFFIXz-oÚ	LIBPREFIXÚ	LIBSUFFIXz-implibz$SOURCESz$_LIBDIRFLAGSz
$_LIBFLAGS)ÚgetÚextendÚFindIxesZ
get_string)ÚtargetÚsourcer   Zfor_signatureÚcmdr   ÚdllZimplibr   r   r	   Úshlib_generatorC   s    
 
  r   c          	   C   sf   |  | dd¡}| dd¡}|s4tj d| d¡ ¡‚|s^|  | dd¡s^|  | |dddd¡¡ | |fS )	Nr   r   r   r   zCA shared library should have exactly one target with the suffix: %sz$SHLIBSUFFIXr   r   )r   r   r   ZErrorsZ	UserErrorZsubstÚappendZReplaceIxes)r   r   r   r   r   r   r   r	   r   T   s    

r   é   )Ú	generator)
Ú__doc__Z__revision__Z
SCons.Toolr   r
   r   r   r   ZActionr   r   r   r   r	   Ú<module>   s   