ó
 Æ^c           @   sä   d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m Z d  d l	 m
 Z
 m Z d  d l m Z d  d l m Z x0 d D]( Z e e j d ƒ e e j d ƒ q� We d „  ƒ Z e d „  ƒ Z d „  Z d S(   iÿÿÿÿN(   t   ccroott   gcct   gxx(   t   conf(   t   after_methodt   feature(   t
   c_compiler(   t   cxx_compilert   linuxt   darwint   gnut   aixt   c_emscriptenc         C   s¾  |  j  j j d ƒ } | j d ƒ | d d d d | j ƒ  g } |  j j pP d } y; t j | d t j	 d t j	 d	 | ƒ} | j
 ƒ  d
 } Wn* t k
 rº } |  j d | | f ƒ n Xt | t ƒ sè | j t j j pß d ƒ } n  i  } | j ƒ  } xP | D]H }	 t j |	 ƒ }
 t |
 ƒ d k r|
 d } |
 d } | | | <qqWd | k obd | k su|  j d ƒ n  d |  j _ d |  j _ d |  j _ | d | d | d f |  j _ | S(   s<   
	Emscripten doesn't support processing '-' like clang/gcc
	s   waf-emscripten.ct    s   -dMs   -Es   -xt   ct   stdoutt   stderrt   envi    s-   Could not determine emscripten version %r: %ss   latin-1i   i   t	   __clang__t
   EMSCRIPTENs4   Could not determine the emscripten compiler version.t   generict   elfs   asm-jst   __clang_major__t   __clang_minor__t   __clang_patchlevel__N(   t   cachedirt   parentt	   make_nodet   writet   abspathR   t   Nonet
   subprocesst   Popent   PIPEt   communicatet	   Exceptiont   fatalt
   isinstancet   strt   decodet   sysR   t   encodingt
   splitlinest   shlext   splitt   lent   DEST_OSt   DEST_BINFMTt   DEST_CPUt
   CC_VERSION(   R   t   cct   dummyt   cmdR   t   pt   outt   et   kt   linet   lstt   keyt   val(    (    s=   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/c_emscripten.pyt   get_emscripten_version   s4    '

!c         C   s‡   |  j  d g d d ƒ} |  j | ƒ | |  j _ d |  j _ |  j  d g d d ƒ} | |  j _ d |  j _ |  j  d g d d ƒd  S(	   Nt   emcct   vart   CCt
   emscriptens   em++t   CXXt   emart   AR(   t   find_programR=   R   R@   t   CC_NAMERB   t   CXX_NAME(   R   R2   t   cxx(    (    s=   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/c_emscripten.pyt   find_emscripten7   s    c         C   s  |  j  ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  d g |  j	 _
 d |  j	 _ d |  j	 _ d |  j	 _ d |  j	 _ d |  j	 _ d |  j	 _ d d d g |  j	 _ d d d g |  j	 _ d d g |  j	 _ d d g |  j	 _ |  j	 j d d	 g ƒ d  S(
   Nt   rcss   %s.jss   %s.as   %s.htmls   -cs   -oR   t	   LINKFLAGSs   -Wl,--enable-auto-import(   RI   t   find_art   gcc_common_flagst   gxx_common_flagst   cc_load_toolst   cc_add_flagst   cxx_load_toolst   cxx_add_flagst   link_add_flagsR   t   ARFLAGSt   cshlib_PATTERNt   cxxshlib_PATTERNt   cstlib_PATTERNt   cxxstlib_PATTERNt   cprogram_PATTERNt   cxxprogram_PATTERNt	   CXX_TGT_Ft   CC_TGT_Ft   CXXLNK_TGT_Ft   CCLNK_TGT_Ft   append_value(   R   (    (    s=   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/c_emscripten.pyt	   configureB   s*    








(   R   R	   R
   R   (   R   R+   R(   t   waflib.ToolsR    R   R   t   waflib.ConfigureR   t   waflib.TaskGenR   R   t   waflib.Tools.compiler_cR   t   waflib.Tools.compiler_cxxR   t   supported_ost   appendR=   RI   R`   (    (    (    s=   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/c_emscripten.pyt   <module>   s   $%