ó
Æ^c           @   s)  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z m	 Z	 m
 Z
 m Z m Z d  d l m Z m Z m Z d Z e j d k rª d Z n e j d k rÂ d Z n d	 Z e d
 d ƒ e d ƒ d „  ƒ ƒ Z d e j f d „  ƒ  YZ e d „ Z d e j f d „  ƒ  YZ d „  Z d e d „ Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d d „ Z# d „  Z$ d „  Z% d „  Z& e d „ Z' d  „  Z( d! „  Z) e d
 d ƒ e d" ƒ d# „  ƒ ƒ Z* e d d d$ „ Z+ d d d% „ Z, d& „  Z- d' „  Z. d( „  Z/ i  d) „ Z0 d* „  Z1 d e d+ „ Z2 d, „  Z3 d d- „ Z4 d d. „ Z5 d d/ „ Z6 d d0 „ Z7 d1 dC d2 „  ƒ  YZ8 d3 e j9 f d4 „  ƒ  YZ: d5 „  Z; d6 „  Z< d7 „  Z= d8 dD d9 „  ƒ  YZ> d: „  Z? d; dE d< „  ƒ  YZ@ d= e j9 f d> „  ƒ  YZA d? dF d@ „  ƒ  YZB dA „  ZC dB „  ZD d S(G   iÿÿÿÿN(   t	   Configuret	   ConfigSett   Buildt   Contextt   Logst   Optionst   Utils(   t   featuret   beforet   afteriöÿÿÿt   win32t   PATHt   darwint   DYLD_LIBRARY_PATHt   LD_LIBRARY_PATHt   ct   cxxt   apply_incpathsc         C   s#   |  j  j d |  j j j ƒ  ƒ d  S(   Nt   INCPATHS(   t   envt   append_valuet   bldt   bldnodet   abspath(   t   self(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   include_config_h   s    t   OptionsContextc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         K   s$   t  t |  ƒ j | �  t |  ƒ d  S(   N(   t   superR   t   __init__t   set_options(   R   t   kwargs(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR      s    c         C   s   |  j  d ƒ S(   Ns   Configuration options(   t   get_option_group(   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   configuration_options!   s    c      	   C   sP   xI | j  ƒ  D]; \ } } | j d | d d d | j d d ƒ d | ƒq Wd S(	   s<   Tersely add flags (a dictionary of longname:desc) to a groups   --t   actiont
   store_truet   destt   -t   _t   helpN(   t   itemst
   add_optiont   replace(   R   t   groupt   flagst   namet   desc(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   add_flags$   s    (   t   __name__t
   __module__R   R    R.   (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR      s   		c         C   s¨  |  j  d ƒ } | j d d d d d ƒ| j d d d d d ƒ| j d	 d d d d
 ƒ| j d d d d d ƒ| j d d d d d ƒ| j d d d d d ƒ| j d d d d d ƒ| rì | j d d d d t d d d d ƒnM | j d d d d d t d d d d ƒ| j d d d d t d d d d  ƒ| j d! d" d d d t d d# d d$ ƒ| j d% d& d d d t d d' d d( ƒ| j d) d d d t d d* d d+ ƒ| j d, d- d d d d. d d/ ƒt t j d0 ƒ rv|  j d1 d2 ƒ } | j d3 d4 d d d d5 d d6 ƒ| j d7 d d d d8 d d9 ƒ| j d: d d d d; d d< ƒ| j d= d d d d> d d? ƒn  |  j d@ ƒ } | j dA d d d dB d dC ƒdD S(E   s   Add standard autowaf optionss   Configuration optionss   --bindirt   typet   stringR&   s)   executable programs [default: PREFIX/bin]s   --configdirs(   configuration data [default: PREFIX/etc]s	   --datadirs#   shared data [default: PREFIX/share]s   --includedirs&   header files [default: PREFIX/include]s   --libdirs   libraries [default: PREFIX/lib]s   --mandirs#   manual pages [default: DATADIR/man]s   --docdirs)   HTML documentation [default: DATADIR/doc]s
   --optimizeR!   t   store_falset   defaultR#   t   debugs   build optimized binariess   -ds   --debugR"   s   build debuggable binariess
   --pardebugt   pardebugs#   build debug libraries with D suffixs   -ss   --strictt   stricts/   use strict compiler flags and show all warningss   -Ss   --ultra-strictt   ultra_stricts2   use extremely strict compiler flags (likely noisy)s   --docst   docss&   build documentation (requires doxygen)s   -ws   --werrort   werrors   Treat warnings as errorst   tests   Test optionst    s   -Ts   --testt   build_testss   build unit testss   --no-coveraget   no_coverages(   do not instrument code for test coverages	   --wrappert   test_wrappers(   command prefix for tests (e.g. valgrind)s   --test-filtert   test_filters#   regular expression for tests to runs   Run optionss   --cmdt   cmds#   command to run from build directoryN(   R   R(   t   Truet   Falset   hasattrR   t   g_modulet   add_option_group(   t   optt   debug_by_defaultt   optst	   test_optst   run_opts(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   *   sb    
t   ConfigureContextc           B   sG   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z RS(   s   configures the projectc         K   sb   d |  _  t t j d ƒ r- t j j  |  _  n  t t |  ƒ j | �  t j ƒ  |  _ t	 ƒ  |  _
 d  S(   Ni-   t	   line_just(   RM   RD   R   RE   R   RL   R   R   t   run_envt   sett   system_include_paths(   R   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   k   s    	c         C   sO   t  |  j ƒ d k r5 t j d d | j j ƒ  ƒ n  t t |  ƒ j | ƒ d  S(   Ni   t   BOLDs   Configuring %s(	   t   lent
   stack_pathR   t   pprintt   parentt   srcpathR   RL   t   pre_recurse(   R   t   node(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRW   t   s     c         C   sœ   |  j  j ƒ  |  j _ xm t |  j ƒ D]\ } d |  j k rV |  j j d d | g ƒ n  d |  j k r% |  j j d d | g ƒ q% q% Wt t |  ƒ j	 ƒ  d  S(   Nt   COMPILER_CCt   CFLAGSs   -isystemt   COMPILER_CXXt   CXXFLAGS(
   RN   t   get_merged_dictR   t   AUTOWAF_RUN_ENVt   sortedRP   R   R   RL   t   store(   R   t   path(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR`   y   s     c         O   s   t  |  | | Ž S(   N(   t	   check_pkg(   R   t   argsR   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRb   ƒ   s    c         O   s   t  |  | | Ž S(   N(   t   check_function(   R   Rc   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRd   †   s    t   .c         C   s   t  |  j j ƒ  j | ƒ ƒ S(   s(   Return `path` within the build directory(   t   strRa   t   get_bldt	   make_node(   R   Ra   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   build_path‰   s    (	   R/   R0   t   __doc__R   RW   R`   Rb   Rd   Ri   (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRL   h   s   				
		c         C   s;   | d k r |  j  S| d k r& |  j St j d | ƒ d  S(   NR   R   s   Unknown header language `%s'(   t   check_cct	   check_cxxR   t   error(   t   conft   lang(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   get_check_func�   s
    R<   c         C   sN   t  |  | ƒ } | d k r7 | d | d | d | ƒ n | d | d | ƒ d S(   s   Check for a headerR<   t   header_namet   define_namet	   mandatoryN(   Rp   (   Rn   Ro   R,   t   defineRs   t
   check_func(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   check_header•   s    
c   	      K   sz   t  j | d ƒ } d j g  | D] } d | ^ q  ƒ } d | | f } t |  | ƒ } d | | d <| d | | � d S(	   s   Check for a functionRq   R<   s   #include <%s>
s,   
%s
int main() { return !(void(*)())(%s); }
s   Checking for %st   msgt   fragmentN(   R   t   to_listt   joinRp   (	   Rn   Ro   R,   Rc   t   header_namest   xt   includesRx   Ru   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRd   Ÿ   s    &c         C   s4   |  j  d d ƒ j  d d ƒ j  d d ƒ j  d d ƒ S(   Nt   /R%   s   ++t   PPR$   Re   (   R)   (   R,   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   nameify¬   s    c   
      K   sÃ  | d j  ƒ  |  j d k s: | d j  ƒ  |  j d k r> d Sd d l } | j d | ƒ } g  } | rƒ | j d ƒ } | g } n/ | j d ƒ d k r¡ | } n t j d	 | ƒ d } d
 | j	 d d ƒ } | }	 | | j
 d g  ƒ 7} |  j j rFt | d <|  j d |	 d d | d d g ƒ } | r9|	 d 7}	 n  t | d <n  | st|  j d | d | d d g | � } n  |  j j r¿d | k r¿| d r¿|  j j |  j d t | d ƒ ƒ n  d S(   s6   Check for a package iff it hasn't been checked for yett   uselib_storet   AUTOWAF_LOCAL_LIBSt   AUTOWAF_LOCAL_HEADERSNiÿÿÿÿs   ([^ ]*) >= [0-9\.]*i   t    s   Invalid package spec: %st   PKG_R$   R%   Rc   Rs   t   packaget   Ds   --cflagss   --libst   systemt	   INCLUDES_(   t   lowerR   t   ret   matchR*   t   findR   Rm   t   NoneR)   t   gett   PARDEBUGRC   t	   check_cfgRs   t   MSVC_COMPILERRP   t   updateR€   (
   Rn   t   specR   R‹   RŒ   Rc   R,   t   foundt   pkg_var_namet   pkg_name(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRb   °   s<    	
#	c         C   s?   t  j d k r+ t j j |  ƒ j d d ƒ St j j |  ƒ Sd  S(   NR
   s   \R~   (   t   syst   platformt   osRa   t   normpathR)   (   Ra   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR›   Ù   s    c            sÞ  ‡  f d †  } t  j j r+ ˆ  j d ƒ n  y ˆ  j d ƒ Wn t k
 rO n Xt t j j t j j	 ˆ  j
 d ƒ ƒ ƒ } t  j j o� ˆ  j
 j ˆ  j
 d <t  j j p¯ t  j j ˆ  j
 d <t  j j ˆ  j
 d <| ˆ  j
 d <‡  f d †  } t  j } | d	 | j t j j | d
 ƒ ƒ | d | j t j j | d ƒ ƒ | d | j t j j | d ƒ ƒ | d | j t j j | d ƒ ƒ | d | j t j j | d ƒ ƒ ˆ  j
 d } | d | j t j j | d ƒ ƒ | d | j t j j | d ƒ ƒ t  j j rvˆ  j
 d rMd d d d g ˆ  j
 d <d d d d g ˆ  j
 d <d d g ˆ  j
 d  <q¦d! d" g ˆ  j
 d <d! d" g ˆ  j
 d <n0 ˆ  j
 d r™| d# d d$ g ƒ n | d% g ƒ ˆ  j
 j rtt t  j _ | d& d d' d( d) d* g ƒ ˆ  j
 j d  d& ƒ t  j j st  j j rïd+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 g } ˆ  j
 j d | ƒ ˆ  j
 j d | ƒ ˆ  j
 j d d8 g ƒ qïn{t  j j rÄt t  j _ ˆ  j
 j d d9 d: d; d< g ƒ ˆ  j
 j d d< g ƒ n  t  j j rïˆ  j
 j d d= d> g ƒ ˆ  j
 j d? k rˆ  j
 j d  d@ g ƒ n  ˆ  j
 j d dA dB g ƒ | dC dD dE dF dG dH dI dJ dK dL g
 ƒ dM dN dO g } ˆ  j dP dQ g | dR t dS dT ƒ rŸˆ  j
 j d | ƒ n  dU ˆ  j
 k rïˆ  j dV dQ g | dR t dS dW ƒ rìˆ  j
 j d | ƒ qìqïn  ˆ  j
 d s| dX g ƒ n  t  j j  r>ˆ  j
 j r1| dY ƒ q>| dQ ƒ n  t ˆ  j
 _! t ˆ  j
 _" y± t  j j# ˆ  j
 _" t  j j ˆ  j
 _! t  j j sˆ  j$ dZ ƒ rçxh ˆ  j
 j% d[ j& d\ d] ƒ d] g D]% } ˆ  j' | d^ d_ dR t ƒr»Pq»q»Wqˆ  j d d` da db dR t ƒ n  Wn t k
 rn Xt( t) j* t) j+ dc ƒ }	 t( t) j* t) j, dd ƒ }
 |	 j- ƒ  j& de df ƒ j& dg df ƒ } ˆ  j. | dh |
 ƒ |
 ˆ  j
 | dh <ˆ  j
 j/ d di t j j dg ƒ ƒ ˆ  j
 j/ d di t j j dg ƒ ƒ d  S(j   Nc            s*   ˆ  j  j d |  ƒ ˆ  j  j d |  ƒ d  S(   NRZ   R\   (   R   R   (   R+   (   Rn   (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   append_cxx_flagsà   s    t   doxygent   clang_compilation_databaset   PREFIXt   DOCSt   DEBUGR�   c            s3   | r t  | ƒ ˆ  j |  <n t  | ƒ ˆ  j |  <d  S(   N(   R›   R   (   t   varRG   R4   (   Rn   (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   config_diró   s    t   BINDIRt   bint
   SYSCONFDIRt   etct   DATADIRt   sharet
   INCLUDEDIRt   includet   LIBDIRt   libt   MANDIRt   mant   DOCDIRt   docR’   s   /Ods   /Z7s   /MTds   /FSRZ   R\   s   /DEBUGs	   /MANIFESTt	   LINKFLAGSs   -O0s   -gs   /MDs   /DNDEBUGs   -DNDEBUGs   /nologos   /D_CRT_SECURE_NO_WARNINGSs   /experimental:externals   /external:W0s   /external:anglebracketss   /Walls   /wd4061s   /wd4200s   /wd4514s   /wd4571s   /wd4625s   /wd4626s   /wd4706s   /wd4710s   /wd4820s   /wd5026s   /wd5027s   /wd5045s   /EHscs   -Wredundant-declss   -Wstrict-prototypess   -Wmissing-prototypess   -Wcast-quals	   -pedantics   -WshadowR   s   -Wl,--no-undefineds   -Wnon-virtual-dtors   -Woverloaded-virtuals   -Walls   -Wcast-aligns   -Wextras   -Wmissing-declarationss   -Wno-unused-parameters   -Wno-parenthesess   -Wstrict-overflows   -Wundefs   -Wwrite-stringss   -fstrict-overflows   -Wlogical-ops   -Wsuggest-attribute=noreturns   -Wunsafe-loop-optimizationst   cflagss   -WerrorRs   Rw   s"   Checking for extra C warning flagsR[   t   cxxflagss$   Checking for extra C++ warning flagss   -fshow-columns   /WXt   CLANGi    t   clangs   llvm-covR¢   t   LLVM_COVt   gcovRr   t	   HAVE_GCOVt   nonames   0.0.0R$   R%   Re   t   _VERSIONs   -I(0   R   t   optionsR9   t   loadt	   ExceptionR›   Rš   Ra   R   t
   expanduserR   t   DOXYGENR5   R6   t   bindirRz   t	   configdirt   datadirt
   includedirt   libdirt   mandirt   docdirR’   RB   R>   R   R7   R8   t   DEST_OSRk   RC   Rl   R:   t   NO_COVERAGEt   BUILD_TESTSR=   t
   is_definedt   CCR)   t   find_programt   getattrR   RE   t   APPNAMEt   VERSIONt   upperRt   t   prepend_value(   Rn   Rœ   t   prefixR£   RI   RÃ   t   ms_strict_flagst   extra_flagst   covt   appnamet   versiont   defname(    (   Rn   s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   configureß   sð    +	"""""""
	


			$#c         C   sí   t  |  j ƒ d k rÍ t |  d |  j d ƒ d |  j k r^ t |  d d j |  j d ƒ ƒ n  d |  j k r� t |  d	 d j |  j d
 ƒ ƒ n  t |  d t |  j d ƒ ƒ t |  d t |  j d ƒ ƒ n  | d  k	 ré t |  | ƒ n  d  S(   Ni   s   Install prefixRŸ   RY   s   C FlagsR„   RZ   R[   s	   C++ FlagsR\   t
   DebuggableR¡   s   Build documentationR    (   RR   RS   t   display_msgR   Rz   t   boolRŽ   t   display_msgs(   Rn   t   msgs(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   display_summaryy  s    ## c         C   si   |  j  j r% |  j  j d d g ƒ n@ d | } |  j d d | g d d | ƒ |  j  j d | g ƒ d S(	   s7   Set a specific C language standard, like 'c99' or 'c11'RZ   s   /TPs   -std=%sR³   s   -WerrorRw   s   Checking for flag '%s'N(   R   R’   t   append_uniquet   check(   Rn   Ro   t   flag(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   set_c_lang†  s    
c         C   s‚   |  j  j r> | d k r! d } n  |  j  j d d | g ƒ n@ d | } |  j d d | g d d	 | ƒ |  j  j d | g ƒ d
 S(   sG   Set a specific C++ language standard, like 'c++11', 'c++14', or 'c++17's   c++14s	   c++latestR\   s   /std:%ss   -std=%sR´   s   -WerrorRw   s   Checking for flag '%s'N(   R   R’   Rá   Râ   (   Rn   Ro   Rã   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_cxx_lang‘  s    	
c      	   C   s”   d |  j  k r� |  j  j r4 |  j  j d d g ƒ q� xY d d g D]H } |  j d d | g d t d	 d
 | ƒ rA |  j  j d | g ƒ PqA qA Wn  d S(   s(   Use the most modern C language availableRY   RZ   s   /TPs   -std=c11s   -std=c99R³   s   -WerrorRs   Rw   s   Checking for flag '%s'N(   R   R’   Rá   Râ   RC   (   Rn   Rã   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_modern_c_flags�  s    c      	   C   s¤   d |  j  k r  |  j  j r4 |  j  j d d g ƒ q  xi d d d d g D]R } d | } |  j d	 d
 | g d t d d | ƒ rG |  j  j d | g ƒ PqG qG Wn  d S(   s*   Use the most modern C++ language availableR[   R\   s   /std:c++latests   c++14s   c++1ys   c++11s   c++0xs   -std=%sR´   s   -WerrorRs   Rw   s   Checking for flag '%s'N(   R   R’   Rá   Râ   RC   (   Rn   Rs   Ro   Rã   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_modern_cxx_flagsª  s    
c         C   sÀ   d t  | j ƒ  ƒ } |  j | d ƒ d |  j | <| r| t |  j d ƒ t k rb i  |  j d <n  t |  j d | j ƒ  <n@ t |  j d ƒ t k r¥ i  |  j d <n  t |  j d | j ƒ  <d  S(   Nt   HAVE_i   R‚   Rƒ   (   R€   RÑ   Rt   R   R1   t   dictRB   RŠ   (   Rn   R,   t   has_objectst   var_name(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_local_lib·  s    c         C   sC   t  |  | ƒ r/ t |  | t |  | ƒ | ƒ n t |  | | ƒ d  S(   N(   RD   t   setattrRÎ   (   t   objt   keyt   val(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   append_propertyÄ  s     t
   apply_linkc         C   s   |  j  j d k r d  |  _ n  |  j  d r{ d d d d g } g  | D] } | |  j k rD | ^ qD r{ |  j d |  _ q{ n  d  S(   NR
   R�   t   cshlibt   cxxshlibt   cstlibt   cxxstlibR‡   (   R   RÈ   RŽ   t   vnumt   featurest   target(   R   t
   applicableR|   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   version_libÊ  s    (c   
      C   s(  | j  ƒ  } | j d ƒ d } d | j d d ƒ d | } d | | f }	 | d k rq t |  j j ƒ  ƒ } n  | d k r� t |  j ƒ } n  |  j j r¨ |	 d 7}	 n  |	 |  j | <| g |  j d | <| g |  j d	 | <| rú |	 g |  j d
 | <n  |  j	 j
 t | g ƒ |  j | d | ƒ d S(   s@   Set up environment for local library as if found via pkg-config.Re   i    R…   R$   R%   s   %s-%sR‡   R‰   t   LIBPATH_t   LIB_R»   N(   RÑ   t   splitR)   RŽ   Rf   Ra   Rg   R   R�   RN   Rá   t   lib_path_nameRt   (
   Rn   R,   RØ   Rê   t   include_patht   lib_patht   NAMEt	   major_verR–   t   lib_name(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_lib_envÔ  s"    c         C   s±   d } t  | ƒ t k r- | r- d } d } n4 t  | ƒ t k rF | sR | d k ra d } d } n  t j d d | j |  j ƒ d	 d
 ƒt j d d d	 d
 ƒt j | | ƒ d  S(   Nt   CYANt   GREENt   yesRC   t   YELLOWt   noRQ   s   %st   sepR<   t   :(   R1   RÝ   R   RT   t   ljustRM   (   Rn   Rw   t   statust   color(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÜ   ò  s    	%	&c         C   s1   x* | j  ƒ  D] \ } } t |  | | ƒ q Wd  S(   N(   R'   RÜ   (   Rn   Rß   t   kt   v(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÞ   þ  s    c            s'   d j  t ‡  f d †  ˆ  d | ƒ ƒ S(   NR„   c            s   ˆ  d |  S(   Nt   LIB_ST(    (   R|   (   R   (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   <lambda>  s    Rý   (   Rz   t   map(   R   R­   (    (   R   s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   link_flags  s    c            s'   d j  t ‡  f d †  ˆ  d | ƒ ƒ S(   NR„   c            s   ˆ  d |  S(   Nt
   CPPPATH_ST(    (   R|   (   R   (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR    s    R‰   (   Rz   R  (   R   R­   (    (   R   s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   compile_flags  s    c         C   s  |  j  d } t | ƒ d k r< | d d k r< | d  } n  | j ƒ  } | d k re | d | 7} n  |  j  d r | d 7} n  | d	 7} |  j  d
 } | j | ƒ rº | j | d ƒ } n  |  j  d }	 |	 j | ƒ rë |	 j | d ƒ }	 n  |  d d d d | j ƒ  d | d t j j |  j  d
 d ƒ d d d | d d d
 | d |	 ƒ 	}
 t | ƒ t	 k rk| j
 ƒ  } n  | | | d <| d | j d ƒ !| | d <x] | D]U } t |  j  | ƒ | | d <t |  j  | ƒ } | d k råd } n  | | | d <qžW|
 j j | ƒ d S(   s5  Build a pkg-config file for a library.

    name           -- uppercase variable name     (e.g. 'SOMENAME')
    version        -- version string              (e.g. '1.2.3')
    version_suffix -- name version suffix         (e.g. '2')
    libs           -- string/list of dependencies (e.g. 'LIBFOO GLIB')
    RŸ   i   iÿÿÿÿR~   R<   R$   R�   R‡   s   .pcR¬   s   ${exec_prefix}Rª   s	   ${prefix}Rø   t   substt   sources   %s.pc.inRù   t   install_patht	   pkgconfigt   exec_prefixt   EXEC_PREFIXR»   i    Re   t   _MAJOR_VERSIONt   _LIBSR„   t   _CFLAGSN(   R   RR   RŠ   t
   startswithR)   Rš   Ra   Rz   R1   t   listRþ   R�   R  R  t   __dict__R“   (   R   R,   RØ   t   version_suffixt   libst
   subst_dictt
   pkg_prefixRù   RÅ   RÄ   Rî   t   it
   lib_cflags(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   build_pc
  sF    	"
		c      	   C   s0  |  j  ƒ  }  |  j ƒ  } zyÒt j ƒ  } t j t |  d ƒ ƒ d |  } t j j | ƒ s` d Sx„ d | d g d | d g d |  d g d d g d d g d	 d g d
 d g d d g g D]( } t j d | d | d | f ƒ q» Wt j	 d |  d ƒ xf t
 j
 d ƒ t
 j
 d ƒ t
 j
 d ƒ t
 j
 d ƒ D]. } | d k r2| d k r2t j | ƒ q2q2Wt j | ƒ t j t |  d ƒ ƒ x. t
 j
 d ƒ D] } t j d | | f ƒ q—Wx$ t
 j
 d ƒ D] } t j | ƒ qÈWt j | ƒ Wn* t k
 r} t j d |  | f ƒ n XWd t j | ƒ Xd S(   s6   Clean up messy Doxygen documentation after it is builts   doc/htmls   group__%s.htmlNs   %s_API R<   s   %s_DEPRECATED s   &#160;s   <script.*><\/script>s6   <hr\/><a name="details" id="details"><\/a><h2>.*<\/h2>s@   <link href=\"tabs.css\" rel=\"stylesheet\" type=\"text\/css\"\/>s<   <img class=\"footer\" src=\"doxygen.png\" alt=\"doxygen\"\/>t   Doxygens   sed -i 's/%s/%s/g' %si    i   s
   index.htmls   *.pngs   *.htmls   *.jss   *.csss	   style.csss   doc/man/man3s   *.3s   sed -i 's/%s_API //' %ss   _*s%   Failed to fix up %s documentation: %s(   RŠ   RÑ   Rš   t   getcwdt   chdirt	   build_dirRa   t   existsRˆ   t   renamet   globt   removeR¾   R   Rm   (   R,   R  t   topt   pageR(  t   e(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   make_simple_dox@  sJ     
			&&c         C   sq  |  j  d s d S|  j j ƒ  } |  d d d d d d d	 d
 d d ƒ } i | | d 6t j j | ƒ | d 6d
 | d 6}	 | j j |	 ƒ | j ƒ  |  d d d d ƒ }
 |
 j ƒ  | j ƒ  } | rì | d t	 | d | j
 d ƒ !ƒ 7} n  |  j t j j d | | d ƒ |  j j ƒ  j d ƒ ƒ xG t d d ƒ D]6 } |  j d | |  j j ƒ  j d | d d ƒƒ q3Wd S(   s   Build Doxygen API documentationR    NRø   R  R  s   doc/reference.doxygen.inRù   s   doc/reference.doxygenR  R<   R,   t   doxyfileR»   t   _SRCDIRt   _DOC_DIRR�   s   -%di    Re   s	   ${DOCDIR}t   htmls
   doc/html/*i   i   s   ${MANDIR}/man%ds   doc/man/man%d/*t   excls   **/_*(   R   Ra   RV   Rš   R   R#  R“   t   postRŠ   t   intR�   t   install_filesRz   Rg   t   ant_globt   range(   R   R,   RØ   t   srcdirt   blddirt   outdirt	   versionedt   src_dirt   subst_tgR&  R9   t   outnameR(  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   build_doxi  s6    	
	
'c         C   s¶  t  j j |  ƒ }  t  j j | ƒ } d | d t | ƒ d } | d | d t | ƒ d 7} | d | d t | ƒ d 7} y* t | d ƒ } | j | ƒ | j ƒ  Wn/ t k
 rÛ t j	 d | ƒ t
 j d ƒ n Xd	 | d
 } | d | d
 7} | d | d 7} | d | d 7} | d | d 7} | d | d 7} | d | d 7} y* t |  d ƒ } | j | ƒ | j ƒ  Wn/ t k
 r±t j d |  ƒ t
 j d ƒ n Xd S(   s   Generate version code headers   int s   _major_version = s   ;
s   _minor_version = s   _micro_version = t   ws   Failed to open %s for writing
iÿÿÿÿs
   #ifndef __s   _version_h__
s
   #define __s   extern const char* s   _revision;
s   extern int s   _major_version;
s   _minor_version;
s   _micro_version;
s   #endif /* __s   _version_h__ */
N(   Rš   Ra   R   Rf   t   opent   writet   closet   IOErrorR   Rm   R˜   t   exitt   warnRŽ   (   t   header_patht   source_patht   domaint   majort   minort   microt   textt   o(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   build_version_files�  s6      c         C   s‘   t  j d | ƒ d | } d d d d d d | g } | rP | d	 | g 7} n  | | 7} t  j d
 | ƒ t j | d t j j | | ƒ ƒd  S(   Ns   Generating pot file from %ss   %s.pott   xgettexts   --keyword=_s   --keyword=N_s   --keyword=S_s   --from-code=UTF-8s   -os   --copyright-holder="%s"s	   Updating t   cwd(   R   t   infot
   subprocesst   callRš   Ra   Rz   (   R   RA  t   dirR,   t   sourcest   copyright_holdert   pot_fileRA   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   build_i18n_pot°  s    

c         C   s“   t  j ƒ  } t  j t  j j | | ƒ ƒ d | } t j d ƒ } x> | D]6 }	 d d |	 | g }
 t j d |	 ƒ t j	 |
 ƒ qH Wt  j | ƒ d  S(   Ns   %s.pots   po/*.pot   msgmerges   --updates	   Updating (
   Rš   R,  R-  Ra   Rz   R1  R   R[  R\  R]  (   R   RA  R^  R,   R_  R`  t   pwdRa  t   po_filest   po_fileRA   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   build_i18n_poÂ  s    
	c         C   s¡   t  j ƒ  } t  j t  j j | | ƒ ƒ t j d ƒ } xV | D]N } | j d d ƒ }	 d d d d |	 | g }
 t j d | ƒ t	 j
 |
 ƒ q> Wt  j | ƒ d  S(	   Ns   po/*.pos   .pos   .mot   msgfmts   -cs   -fs   -os   Generating (   Rš   R,  R-  Ra   Rz   R1  R)   R   R[  R\  R]  (   R   RA  R^  R,   R_  R`  Rd  Re  Rf  t   mo_fileRA   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   build_i18n_moÐ  s    	c         C   sO   t  |  | | | | | ƒ t |  | | | | | ƒ t |  | | | | | ƒ d  S(   N(   Rb  Rg  Rj  (   R   RA  R^  R,   R_  R`  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   build_i18nà  s    t   ExecutionEnvironmentc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   sD   Context that sets system environment variables for program executionc         C   s˜   t  j j ƒ  |  _ i  |  _ xc | j ƒ  D]U \ } } t  j j | ƒ } | t  j k rp | t  j t  j | 7} n  | |  j | <q( Wt  j j |  j ƒ d  S(   N(	   Rš   t   environt   copyt   original_environt   diffR'   t   pathsepRz   R“   (   R   t   changest	   path_namet   pathst   value(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   ç  s    	c         C   s    d j  d „  |  j j ƒ  Dƒ ƒ S(   Ns   
c         S   s&   h  |  ] \ } } d  | | f ’ q S(   s   %s="%s"(    (   t   .0R  R  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pys	   <setcomp>õ  s   	 (   Rz   Rp  R'   (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   __str__ô  s    c         C   s   |  S(   N(    (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   __enter__÷  s    c         C   s   |  j  t _ d  S(   N(   Ro  Rš   Rm  (   R   R1   Ru  t	   traceback(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   __exit__ú  s    (   R/   R0   Rj   R   Rw  Rx  Rz  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRl  å  s
   			t
   RunContextc           B   s   e  Z d  Z d Z d „  Z RS(   s+   runs an executable from the build directoryt   runc         C   s·   |  j  ƒ  |  j s  |  j ƒ  n  t |  j j ƒ � } t j j r^ t	 j
 d t | ƒ d ƒ n  t j j r  t	 j
 d d t j j ƒ t j t j j d t ƒn t	 j d ƒ Wd  QXd  S(   NR  s   
s
   Running %st   shells+   error: Missing --cmd option for run command(   t   restoret   all_envst	   load_envsRl  R   R^   R   R¼   t   verboseR   RT   Rf   RA   R\  R]  RB   Rm   (   R   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   execute  s    
	(   R/   R0   Rj   RA   R‚  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR{  ý  s   c         C   sy   d d  l  } d d  l } t } xT | j |  | d t j j | ƒ d t j j | ƒ ƒD] } | j j | ƒ t	 } qU W| S(   Niÿÿÿÿt   fromfilet   tofile(
   t   difflibR˜   RB   t   unified_diffRš   Ra   R   t   stderrRK  RC   (   t
   from_linest   to_linest   from_filenamet   to_filenameR…  R˜   t   samet   line(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   show_diff  s    		
c         C   sÝ   d d  l  } d d  l } xA |  | f D]3 } t j | t j ƒ s% t j d d | ƒ t Sq% W| j |  | d t ƒrx t	 S| j
 |  d d d ƒ�G } | j
 | d d d ƒ�& } t | j ƒ  | j ƒ  |  | ƒ SWd  QXWd  QXd  S(   Niÿÿÿÿt   REDs   error: missing file %st   shallowt   rUt   encodings   utf-8(   t   filecmpt   ioRš   t   accesst   F_OKR   RT   RC   t   cmpRB   RJ  RŽ  t	   readlines(   t   pathat   pathbR“  R”  Ra   t   fat   fb(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   test_file_equals  s    c           C   s'   t  t d ƒ r t j ƒ  St j ƒ  Sd  S(   Nt   perf_counter(   RD   t   timeRž  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   bench_time.  s    
t
   TestOutputc           B   s)   e  Z d  Z d d „ Z d „  Z e Z RS(   s3   Test output that is truthy if result is as expectedc         C   s&   d  |  _ |  _ | |  _ | |  _ d  S(   N(   RŽ   t   stdoutR‡  t   expectedt   result(   R   R£  R¤  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   6  s    	c         C   s   |  j  d  k p |  j |  j  k S(   N(   R£  RŽ   R¤  (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   __bool__;  s    N(   R/   R0   Rj   RŽ   R   R¥  t   __nonzero__(    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR¡  4  s   	c         C   s-   t  j d d k  r  t |  t ƒ St |  t ƒ S(   Ni    i   (   R˜   t   version_infot
   isinstancet
   basestringRf   (   t   s(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt	   is_string@  s    t	   TestScopec           B   sV   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d d
 d
 d
 d d	 „ Z	 RS(   s;   Scope for running tests that maintains pass/fail statisticsc         C   s1   | |  _  | |  _ | |  _ d |  _ d |  _ d  S(   Ni    (   t   tstR,   t   defaultst   n_failedt   n_total(   R   R­  R,   R®  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   G  s
    				c         K   s}  t  | ƒ t k rL d | k rL d d  l } d j t | j | ƒ ƒ | d <n  t j j rù d | k rù d d  l	 } t
 } x9 |  j j D]+ } | j t j j | j ƒ rƒ t } Pqƒ qƒ W| rù | j t j j |  j ƒ rù | j t j j | d ƒ rù t Sn  t | ƒ r|  j | | � } n3 t  | ƒ t k rA|  j | | � } n t d ƒ ‚ | sm|  j j d | d ƒ n  |  j j | ƒ S(   NR,   iÿÿÿÿR„   s   Unknown test typet   FAILED(   R1   R"  t   pipesRz   R  t   quoteR   R¼   R@   R‹   RC   R­  t   stackt   searchR,   RB   t   callablet   _run_callablet   _run_commandR¾   t   log_badt   test_result(   R   R;   R   R²  R‹   R•   t   scopet   output(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR|  N  s,    "c         K   s,   d | k r | d n t  } t | | ƒ  ƒ S(   NR£  (   RB   R¡  (   R   R;   R   R£  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR·  l  s    c      	      s
  d | k rš | d t  k rš d d  l } | j ƒ  �a ‰  ˆ  | d <|  j | | � } ˆ  j d d ƒ | sm | S|  j ‡  f d †  d | d d ƒSWd  QXn  z8 |  j d | ƒ } |  j d | ƒ } |  j | | � SWd  | rç | j ƒ  n d  } | rÿ | j ƒ  n d  } Xd  S(	   NR‡  iÿÿÿÿi    i   c              s   ˆ  j  ƒ  d k S(   Ni    (   t   tell(    (   R‡  (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR  z  s    R,   s    error messageR¢  (	   t   NONEMPTYt   tempfilet   TemporaryFileR|  t   seekt   _streamt   _execRL  RŽ   (   R   R;   R   R¿  R¼  t
   out_streamt
   err_stream(    (   R‡  s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR¸  p  s     

c         C   sG   | | k r | | n d  } t | ƒ rC t | d ƒ | | <| | Sd  S(   Nt   wb(   RŽ   R«  RJ  (   R   t   stream_nameR   Rª  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÂ  †  s
    i    R<   i   c         C   s·  d d  l  } d „  }	 | d k r7 |  j j d | ƒ n  t j j rk d d  l }
 |
 j t j j ƒ | } n  t | ƒ } t	 t
 j d ƒ � } | d k  r¥ | r¥ | n | } d  } | sÃ | d k rÌ | } n | j ƒ  } | } t j | d | d	 | d
 | ƒ} | j ƒ  \ | _ | _ | j | _ | d  k	 r…| j | k rx| j d ƒ x* | D] } t j j | j d ƒ ƒ qRWn  | j ƒ  n  Wd  QX| r³| d k r³|  j j d | ƒ n  | S(   Niÿÿÿÿc         S   s#   t  |  ƒ t k r t |  d ƒ S|  S(   NRÆ  (   R1   Rf   RJ  (   Rª  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   stream—  s    i   s   RUN     RÆ  i   i   t   stdinR¢  R‡  i    s   utf-8s         OK(   R¿  R­  t   log_goodR   R¼   R?   t   shlexRþ   R¡  RJ  Rš   t   devnullRŽ   RÀ  R\  t   Popent   communicateR¢  R‡  t
   returncodeR¤  RÁ  R˜   RK  t   decodeRL  (   R   R;   R£  R,   RÉ  R¢  R‡  t	   verbosityR¿  RÈ  RË  R¼  t   nullt   outt   tmp_errt   errt   procR�  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÃ  �  s6    		! N(
   R/   R0   Rj   R   R|  R·  R¸  RÂ  RŽ   RÃ  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR¬  E  s   						t   TestContextc           B   sº   e  Z d  Z d Z Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s   runs test suiteR;   c         K   s`   t  t |  ƒ j | �  t ƒ  |  _ d |  _ i t j j d 6} t	 |  t
 j j | ƒ g |  _ d  S(   Ni   RÑ  (   R   R×  R   R   t
   start_timet	   max_depthR   R¼   R�  R¬  R   RE   RÏ   R´  (   R   R   R®  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   À  s
    	c         C   s   |  j  d j S(   Niÿÿÿÿ(   R´  R®  (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR®  È  s    c         C   s=   |  j  d j d k r& t j d ƒ n  t t |  ƒ j ƒ  d  S(   Niÿÿÿÿi    i   (   R´  R¯  R˜   RN  R   R×  t   finalize(   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÚ  Ë  s    c         K   s    |  j  d j | |  j | �  � S(   Niÿÿÿÿ(   R´  R|  Rc   (   R   R;   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   __call__Ñ  s    c            s>   | j  i t d 6d ˆ  ˆ f d 6ƒ |  ‡  ‡ f d †  | � S(   NR£  s   %s == %sR,   c              s   t  ˆ  ˆ ƒ S(   N(   R�  (    (   t	   from_patht   to_path(    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR  ×  s    (   R“   RB   (   R   RÜ  RÝ  R   (    (   RÜ  RÝ  s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   file_equalsÔ  s    c         G   s+   t  j d d | j d ƒ | | f ƒ d  S(   NR  s   [%s] %si
   (   R   RT   t   center(   R   t   titlet   fmtRc   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÊ  Ù  s    c         G   s+   t  j d d | j d ƒ | | f ƒ d  S(   NR�  s   [%s] %si
   (   R   RT   Rß  (   R   Rà  Rá  Rc   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR¹  Ü  s    c         C   s!  t  j | j ƒ  ƒ } | j } |  j j t |  | |  j ƒ  ƒ ƒ t |  j	 t
 |  j ƒ d ƒ |  _	 | j ƒ  j } t | d ƒ rt j ƒ  |  _ t j d | ƒ t j t | ƒ ƒ |  j j rä t | j ƒ t  j k rä |  j ƒ  n  t j d ƒ |  j d d | ƒ n  t t |  ƒ j | ƒ d  S(	   Ni   R;   s   Waf: Entering directory `%s'R<   t   =i
   s   Running %s tests
s
   ==========(   R   t   load_moduleR   RÏ   R´  t   appendR¬  R®  t   maxRÙ  RR   Rg   RU   RD   Rš   R,  t   original_dirR   R[  R-  Rf   R   RÉ   t   top_dirt   clear_coverageRÊ  R   R×  RW   (   R   RX   t   wscript_modulet
   group_namet   bld_dir(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRW   ß  s    	""%c         C   s<   |  j  d j d 7_ |  j  d j | s0 d n d 7_ | S(   Niÿÿÿÿi   i    (   R´  R°  R¯  (   R   t   success(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRº  ô  s    "c         C   sE   |  j  j ƒ  } |  j  d j | j 7_ |  j  d j | j 7_ | S(   Niÿÿÿÿ(   R´  t   popR°  R¯  (   R   R»  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRí  ù  s    c         C   s†  t  t |  ƒ j | ƒ |  j ƒ  } t ƒ  |  j d } t | j ƒ t t j	 ƒ k } t j
 | j ƒ  ƒ } t | d ƒ sŒ t j |  j ƒ d  St j d ƒ |  j d d | j | j | ƒ |  j j s| r× |  j ƒ  n  t j j d ƒ r|  j d d	 t j j d ƒ ƒ qn  | j | j } t j d
 d | ƒ | j d k r[t j d d | j ƒ n  t j d t j ƒ  ƒ t j |  j ƒ d  S(   Ng     @�@R;   R<   Râ  i
   s"   %d tests from %s ran (%d ms total)s   coverage/index.htmlt   REPORTs   <file://%s>R  s   [  PASSED  ] %d testsi    R�  s   [  FAILED  ] %d testss   
Waf: Leaving directory `%s's
   ==========(   R   R×  t   post_recurseRí  R   RØ  Rf   RU   R   Rç  Rã  R   RD   Rš   R-  Ræ  R   R[  RÊ  R°  R,   R   RÉ   t   gen_coverageRa   R/  R¯  RT   R,  (   R   RX   R»  t   durationt   is_topRé  t	   successes(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRï  ÿ  s.    c         C   s¡   |  j  ƒ  |  j s  |  j ƒ  n  |  j j s< |  j d ƒ n  t |  j j ƒ �M } |  j ƒ  d d k r„ t	 j
 d t | ƒ d ƒ n  |  j |  j g ƒ Wd  QXd  S(   Ns$   Configuration does not include testsRÑ  i    R  s   
(   R~  R  R€  R   RÊ   t   fatalRl  R^   R®  R   RT   Rf   t   recurset   run_dir(   R   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR‚    s    
	c         C   s(   t  j j t  j j t |  j ƒ | ƒ ƒ S(   N(   Rš   Ra   t   relpathRz   Rf   (   R   Ra   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   src_path,  s    c         K   s#   |  j  ƒ  j ƒ  } | j | ƒ | S(   N(   R®  Rn  R“   (   R   R   t
   all_kwargs(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRc   /  s    c         K   s&   t  |  |  j d j | |  j | �  � S(   Niÿÿÿÿ(   t	   TestGroupR´  R,   Rc   (   R   R,   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR*   4  s    c         K   s   |  j  d j j | ƒ d S(   s/   Set default arguments to be passed to all testsiÿÿÿÿN(   R´  R®  R“   (   R   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   set_test_defaults8  s    c      
   C   so   yJ t  d d ƒ �5 } t j d d d t |  j ƒ g d | d | ƒWd QXWn t k
 rj t j d	 ƒ n Xd S(
   s   Zero old coverage datas   cov-clear.logRI  t   lcovs   -zs   -dR¢  R‡  Ns-   Failed to run lcov to clear old coverage data(   RJ  R\  R]  Rf   Ra   R¾   R   RO  (   R   t   log(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRè  <  s    !c   	      C   s¡  y|t  d d ƒ �\ } t  d d ƒ �D } t j d d d d d d	 d
 d t |  j ƒ g	 d | d | ƒWd QXWd QXt j j d ƒ s’ t j d ƒ n  t  d d ƒ �2 } t j d d d d d d g d | d | ƒWd QXt j d d d d d g d t j	 ƒj
 d ƒ } d d l } | j d | ƒ j d ƒ } | j d | ƒ j d ƒ } | j d | ƒ j d ƒ } |  j d d | | | ƒ Wn t k
 rœt j d ƒ n Xd S(   s!   Generate coverage data and reports   cov.lcovRI  s   cov.logRü  s   -cs   --no-externals   --rcs   lcov_branch_coverage=1s   -bRe   s   -dR¢  R‡  Nt   coverages   genhtml.logt   genhtmls   -os   genhtml_branch_coverage=1s	   --summaryt   asciiiÿÿÿÿs   lines\.*: (.*)%.*i   s   functions\.*: (.*)%.*s   branches\.*: (.*)%.*t   COVERAGEs)   %s%% lines, %s%% functions, %s%% branchess.   Failed to run lcov to generate coverage report(   RJ  R\  R]  Rf   Ra   Rš   t   isdirt   makedirst   check_outputt   STDOUTRÐ  R‹   Rµ  R*   RÊ  R¾   R   RO  (	   R   RÓ  RÕ  Rý  t   summaryR‹   t   linest	   functionst   branches(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRð  F  s:    			(   R/   R0   Rj   t   funRA   R   R®  RÚ  RÛ  RÞ  RÊ  R¹  RW   Rº  Rí  Rï  R‚  Rø  Rc   R*   Rû  Rè  Rð  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR×  ¼  s(   
											 						
Rú  c           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         K   sV   | |  _  | |  _ | |  _ | |  _ t ƒ  |  _ | j j t | | | j	 ƒ  ƒ ƒ d  S(   N(
   R­  t	   suitenameR,   R   R   RØ  R´  Rä  R¬  R®  (   R   R­  R  R,   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyR   l  s    				c         C   s   |  j  r |  j d |  j  Sd S(   Ns   .%sR<   (   R,   R  (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   labelt  s    c         K   s&   |  j  j |  j �  } | j | ƒ | S(   N(   R­  Rc   R   R“   (   R   R   Rù  (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRc   w  s    c         C   sB   d |  j  k r> |  j  d d k r> |  j j d |  j ƒ  ƒ n  |  S(   NRÑ  i    R$   i
   s
   ----------(   R   R­  RÊ  R  (   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRx  |  s    "c         K   s   |  j  | |  j | �  � S(   N(   R­  Rc   (   R   R;   R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÛ  �  s    c         K   s   |  j  j | | | � S(   N(   R­  RÞ  (   R   RÜ  RÝ  R   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRÞ  „  s    c         C   s–   t  ƒ  |  j d } |  j j ƒ  } | j | j } | j d k rj |  j j d d | j |  j ƒ  | ƒ n( |  j j d d | | j |  j ƒ  | ƒ d  S(	   Ng     @�@i    R$   i
   s   %d tests from %s (%d ms total)s!   %d/%d tests from %s (%d ms total)s
   ----------s
   ----------(	   R   RØ  R­  Rí  R°  R¯  RÊ  R  R¹  (   R   R1   Ru  Ry  Rñ  R»  t   n_passed(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRz  ‡  s    (	   R/   R0   R   R  Rc   Rx  RÛ  RÞ  Rz  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyRú  k  s   						c         C   sª   |  j  d k oC |  j d oC |  j d oC d t j k oC t j j } | r¦ yC t j d |  j d ƒ t	 j
 d |  j d g ƒ t |  j d <Wq¦ t k
 r¢ q¦ Xn  d  S(   Nt   installt   RAN_LDCONFIGR¬   t   DESTDIRs    Waf: Running `/sbin/ldconfig %s's   /sbin/ldconfig(   RA   R   Rš   Rm  R   R¼   t   destdirR   R[  R\  R]  RB   R¾   (   t   ctxt
   should_run(    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   run_ldconfig’  s    c         C   s(   x! |  D] } t  j | d t ƒq Wd  S(   NR}  (   R\  t
   check_callRB   (   t   cmdsRA   (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt
   run_script¡  s    (    (    (    (    (E   R1  Rš   R\  R˜   RŸ  t   waflibR    R   R   R   R   R   R   t   waflib.TaskGenR   R   R	   R¾  R™   Rÿ   R   R   RC   R   t   ConfigurationContextRL   Rp   RB   Rv   Rd   R€   Rb   R›   RÚ   RŽ   Rà   Rä   Rå   Ræ   Rç   Rì   Rñ   Rû   R  RÜ   RÞ   R  R  R*  R6  RH  RX  Rb  Rg  Rj  Rk  Rl  t   BuildContextR{  RŽ  R�  R   R¡  R«  R¬  R×  Rú  R  R  (    (    (    s8   /git_repos/PolyLV2/poly_mclk_in/waflib/extras/autowaf.pyt   <module>   sx   4		>%	
			)		š								6	)'	 				w¯'	