ó
!Æ^c           @   sÏ   d  Z  d d l m Z m Z d d l m Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z d S(   s   
gcc/llvm detection.
iÿÿÿÿ(   t   ccroott   ar(   t   confc         C   s>   |  j  d d g d d ƒ} |  j | d t ƒd |  j _ d S(   sJ   
	Find the program gcc, and if present, try to detect its version number
	t   gcct   cct   vart   CCN(   t   find_programt   get_cc_versiont   Truet   envt   CC_NAME(   R   R   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   find_gcc   s    c         C   s  |  j  } g  | _ d d g | _ | j s9 | j | _ n  g  | _ d g | _ d | _ d | _ d | _	 d | _
 d | _ d | _ d | _ d | _ d	 | _ d
 | _ d | _ d g | _ d g | _ d | _ d
 g | _ d | _ d d d g | _ d g | _ d | _ d S(   s0   
	Common flags for gcc on nearly all platforms
	s   -cs   -os   -I%ss   -D%ss   -l%ss   -L%ss   -Wl,-rpath,%ss	   -Wl,-h,%ss   -Wl,-Bdynamics   -Wl,-Bstatics   %ss   -fPICs   -shareds   lib%s.sos   lib%s.as   -bundles
   -undefinedt   dynamic_lookups	   %s.bundleN(   R
   t   CC_SRC_Ft   CC_TGT_Ft   LINK_CCR   t   CCLNK_SRC_Ft   CCLNK_TGT_Ft
   CPPPATH_STt
   DEFINES_STt   LIB_STt
   LIBPATH_STt   STLIB_STt   STLIBPATH_STt   RPATH_STt	   SONAME_STt   SHLIB_MARKERt   STLIB_MARKERt   cprogram_PATTERNt   CFLAGS_cshlibt   LINKFLAGS_cshlibt   cshlib_PATTERNt   LINKFLAGS_cstlibt   cstlib_PATTERNt   LINKFLAGS_MACBUNDLEt   CFLAGS_MACBUNDLEt   macbundle_PATTERN(   R   t   v(    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_common_flags   s4    																	c         C   sM   |  j  } d | _ d | _ d | _ d | _ g  | _ | j d d g ƒ d S(   s0   Configuration flags for executing gcc on Windowss   %s.exes   %s.dlls   %s.dll.as   -Wl,--out-implib,%st	   LINKFLAGSs   -Wl,--enable-auto-importN(   R
   R   R    t   implib_PATTERNt	   IMPLIB_STR   t   append_value(   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_win32@   s    						c         C   s<   t  |  ƒ |  j } d | _ | j d d g ƒ g  | _ d S(   s/   Configuration flags for executing gcc on Cygwins	   cyg%s.dllR   s   -Wl,--enable-auto-image-baseN(   R,   R
   R    R+   R   (   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_cygwinQ   s
    
		c         C   ss   |  j  } d g | _ d g | _ d | _ d | _ d g | _ d g | _ g  | _ g  | _ g  | _	 g  | _
 d S(   s.   Configuration flags for executing gcc on MacOSs   -fPICs   -dynamiclibs   lib%s.dylibs   -F%ss
   -frameworks   -archN(   R
   R   R   R    t   FRAMEWORKPATH_STt   FRAMEWORK_STt   ARCH_STR!   R   R   R   (   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_darwinZ   s    						c         C   s1   |  j  } d g | _ d d g | _ g  | _ d S(   s,   Configuration flags for executing gcc on AIXs	   -Wl,-brtls   -shareds   -Wl,-brtl,-bexpfullN(   R
   t   LINKFLAGS_cprogramR   R   (   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_aixk   s    	c         C   s7   |  j  } g  | _ g  | _ d d g | _ d | _ d  S(   Ns   -fPICs   -DPICs   lib%s.sl(   R
   R   R   R   R    (   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_hpuxs   s
    			c         C   s   g  |  j  _ d  S(   N(   R
   R   (   R   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_openbsd{   s    c         C   s(   |  j  } g  | _ g  | _ g  | _ d  S(   N(   R
   R   R   R   (   R   R&   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_osf1V   s    			c         C   s0   t  |  d |  j j d ƒ } | r, | ƒ  n  d S(   sA   Execute platform-specific functions based on *gcc_modifier_+NAME*t   gcc_modifier_N(   t   getattrR
   t   DEST_OSt   None(   R   t   gcc_modifier_func(    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   gcc_modifier_platform†   s    c         C   sT   |  j  ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  d S(   s   
	Configuration for gcc
	N(   R   t   find_arR'   R<   t   cc_load_toolst   cc_add_flagst   link_add_flagst   check_gcc_o_space(   R   (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt	   configure�   s    






N(   t   __doc__t   waflib.ToolsR    R   t   waflib.ConfigureR   R   R'   R,   R-   R1   R3   R4   R5   R6   R<   RB   (    (    (    s3   /git_repos/PolyLV2/poly_mclk_in/waflib/Tools/gcc.pyt   <module>	   s   	)	
