ó
gÊù]c           @   ss  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 y d  d l m Z Wn! e k
 r› d  d l m Z n
 Xe j Z d Z d Z d Z e Z d Z d	 „  Z e d d
 „ Z d e	 j	 f d „  ƒ  YZ d „  Z e d d „ ƒ Z e d „  ƒ Z e d d d „ ƒ Z e g  d „ ƒ Z e d „  ƒ Z e g  d d d d „ ƒ Z  d S(   iÿÿÿÿN(   t	   ConfigSett   Utilst   Optionst   Logst   Contextt   Buildt   Errors(   t   request(   t   urlopent   breakt   continues
   config.logs}   # project %(app)s configured on %(now)s by
# waf %(wafver)s (abi %(abi)s, python %(pyver)x on %(systype)s)
# using %(args)s
#c         C   s   d  S(   N(    (   t   node(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   download_check   s    c   	   	   C   s�  xyt  j t j ƒ D]e} x\t  j t j ƒ D]H} d j | | |  d f ƒ } y@ t | ƒ } y | j ƒ  d k rx w, n  Wn t k
 rŒ n XWn t	 k
 r¤ q, q, X| j
 j t j j t j d d |  d f ƒ ƒ } | j | j ƒ  d ƒ t j d |  | f ƒ t | ƒ y t j |  ƒ } WnM t	 k
 rot j d |  | f ƒ y | j ƒ  Wq, t	 k
 rhq, Xq, n X| Sq, Wq Wt j d	 ƒ ‚ d  S(
   Nt   /s   .pyiÈ   t   waflibt   extrast   wbs   Downloaded %s from %ss   The tool %s from %s is unusables   Could not load the Waf tool(   R   t   to_listR   t   remote_repot   remote_locst   joinR   t   getcodet   AttributeErrort	   Exceptiont   roott	   make_nodet   ost   sept   waf_dirt   writet   readR   t   warnR   t	   load_toolt   deleteR   t   WafError(	   t   toolt   forcet   ctxt   xt   subt   urlt   webt   tmpt   module(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   download_tool   s6    
1
t   ConfigurationContextc           B   s¡   e  Z d  Z d Z g  Z d „  Z d d „ Z d „  Z d „  Z	 e
 e e	 ƒ Z d „  Z d „  Z d „  Z d	 „  Z d d e d
 „ Z d „  Z d „  Z d „  Z RS(   s   configures the projectt	   configurec         K   sx   t  t |  ƒ j | �  t t j ƒ |  _ i  |  _ d  |  _ d  |  _	 g  |  _
 d |  _ g  |  _ g  |  _ |  j d ƒ d  S(   Ni    t    (   t   superR-   t   __init__t   dictR   t   environt   all_envst   Nonet   top_dirt   out_dirt   toolst   hasht   filest
   tool_cachet   setenv(   t   selft   kw(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR1   8   s    							c         C   s`   | |  j  k s | rS | s7 t j ƒ  } |  j | ƒ n | j ƒ  } | |  j  | <n  | |  _ d  S(   N(   R4   R    t   prepare_envt   derivet   variant(   R=   t   namet   env(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR<   C   s    c         C   s   |  j  |  j S(   N(   R4   RA   (   R=   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   get_envL   s    c         C   s   | |  j  |  j <d  S(   N(   R4   RA   (   R=   t   val(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   set_envN   s    c         C   s‘  |  j  } | s t j j } n  | s? t t j t j d  ƒ } n  | sW |  j	 j
 ƒ  } n  t j	 j
 | ƒ } t j	 j | ƒ r„ |  j pŠ |  j	 j | ƒ |  _ |  j s¨ t ‚ |  j } | sÆ t j j } n  | sç t t j t j d  ƒ } n  | st j j d t j d ƒ j d d ƒ } n  t j	 j | ƒ r3|  j p9|  j	 j | ƒ |  _ |  j j ƒ  t j	 j |  j j
 ƒ  ƒ s�t j d |  j j
 ƒ  ƒ n  d  S(   Ns   .lock-waf_%s_R/   s	   .lock-wafs'   Could not create the build directory %s(   R6   R   t   optionst   topt   getattrR   t   g_modulet   TOPR5   t   patht   abspathR   t   isabsR   t   find_dirt   srcnodet   AssertionErrorR7   t   outt   OUTt   lockfilet   replacet   syst   platformR   t   bldnodet   mkdirt   isdirt   conft   fatal(   R=   RH   RR   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt	   init_dirsQ   s*    	0	+0c         C   sð  |  j  ƒ  |  j j t j ƒ |  _ |  j j ƒ  t j j	 |  j j
 ƒ  t ƒ } t j | d ƒ |  _ t t j d d ƒ } | r® t t j d d ƒ } | r® d | | f } q® n  t j ƒ  } t j } t j } d j	 t j ƒ } t j } t j }	 |  j t t ƒ  ƒ |  j d |  j j
 ƒ  ƒ |  j d |  j j
 ƒ  ƒ t |  j ƒ t |  j ƒ k rdt j  d	 ƒ nF t |  j ƒ t |  j ƒ k rª|  j j! |  j ƒ rªt j  d
 ƒ qªn  t" t# |  ƒ j$ ƒ  |  j% ƒ  |  j j
 ƒ  t _& |  j j
 ƒ  t _' t( j( ƒ  }
 t j |
 d <t) j* j+ |
 d <t j, |
 _, t j& |
 _& t j' |
 _' |  j- |
 d <|  j. |
 d <t/ |  j0 ƒ |
 d <|  j1 j2 s’|
 j% t j, t j3 t) j4 ƒ n  |  j1 j5 s¿|
 j% t j& t j3 t) j4 ƒ n  |  j1 j6 sì|
 j% t j' t j3 t) j4 ƒ n  d  S(   Nt   cfgt   APPNAMER/   t   VERSIONs   %s (%s)t    s   Setting top tos   Setting out tos5   Setting top == out (remember to use "update_outputs")s5   Are you certain that you do not want to set top="." ?t   argvRG   R9   R:   R3   (7   R]   RX   R   R   t	   CACHE_DIRt   cachedirRY   R   RL   R   RM   t   WAF_CONFIG_LOGR   t   make_loggert   loggerRI   R   RJ   t   timet   ctimeRV   t
   hexversionRW   Rb   t
   WAFVERSIONt   ABIt   to_logt   conf_templatet   varst   msgRP   t   idR   t   is_child_ofR0   R-   t   executet   storeR6   R7   R    R   RG   t   __dict__t   run_dirR9   R:   R2   R3   RC   t   NO_LOCK_IN_RUNR   RT   t   NO_LOCK_IN_TOPt   NO_LOCK_IN_OUT(   R=   RL   t   appt   vert   nowt   pyvert   systypet   argst   wafvert   abiRC   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyRs   g   sV    
				
!!c         C   sš   | j  sT t j j s t j rH t j j t j j	 t j j ƒ ƒ | _  qT d | _  n  | j
 su t j d | ƒ | _
 n  | j s– t j d | ƒ | _ n  d  S(   NR/   s   ${PREFIX}/bins   ${PREFIX}/lib(   t   PREFIXR   RG   t   prefixR   t   is_win32R   RL   RM   t
   expandusert   BINDIRt
   subst_varst   LIBDIR(   R=   RC   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR?   “   s    	*		c         C   s™   |  j  j d ƒ } | j d t j |  j f ƒ |  j sH |  j d ƒ n  xJ |  j D]? } |  j | } | j t	 j
 j |  j  j ƒ  | t j ƒ ƒ qR Wd  S(   Ns   build.config.pys   version = 0x%x
tools = %r
s.   nothing to store in the configuration context!(   Rd   R   R   R   t
   HEXVERSIONR8   R4   R\   Rt   R   RL   R   RM   R   t   CACHE_SUFFIX(   R=   t   nt   keyt   tmpenv(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyRt   �   s    	c         C   só  t  j | ƒ } | r' t  j | ƒ } n  xÅ| D]½} | t |  j ƒ | f } | |  j k rr |  j d | ƒ q. n  |  j j | ƒ d  } y t j	 | | ƒ } Wn¹ t
 k
 r}	 t j j r÷ t | d |  ƒ} | s|  j d | t j |	 f ƒ qqZ|  j d | t j |	 f ƒ nC t k
 rY}	 |  j d | | | f ƒ |  j t  j ƒ  ƒ ‚  n X| d  k	 rv|  j | ƒ nP t | d d  ƒ }
 |
 rÆt |
 ƒ t t  j ƒ k r¶|
 |  ƒ qÆ|  j |
 ƒ n  |  j j i | d 6| d 6| d	 6ƒ q. Wd  S(
   Ns%   (tool %s is already loaded, skipping)R%   sf   Could not load the Waf tool %r or download a suitable replacement from the repository (sys.path %r)
%ssG   Could not load the Waf tool %r from %r (try the --download option?):
%ss   imp %r (%r & %r)R.   R#   t   tooldirt   funs(   R   R   Rq   RC   R;   Rm   t   appendR5   R   R    t   ImportErrorR   RG   t   downloadR,   R\   RV   RL   R   t   ex_stackt
   eval_rulesRI   t   typet   readfR8   (   R=   t   inputRŽ   R�   R’   R8   R#   t   magR+   t   et   func(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   load¥   s<     #  c         C   sQ   t  t |  ƒ j | ƒ t |  j | j d ƒ f ƒ |  _ |  j j | j ƒ  ƒ d  S(   Nt   rb(   R0   R-   t   post_recurseR9   R   R:   R�   RM   (   R=   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR�   Ä   s    !c         C   s«   t  j | ƒ |  _ x’ |  j D]‡ } t |  | ƒ } | sK |  j d | ƒ n  y | ƒ  Wq t k
 r¢ } |  j | | ƒ } | t k rŠ Pq£ | t k rœ q q£ ‚  q Xq Wd  S(   Ns   No such method '%s'.(	   R   R   t   rulesRI   R\   R   t   err_handlert   BREAKt   CONTINUE(   R=   Rž   R&   t   fR™   t   ret(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR”   È   s     c         C   s   d  S(   N(    (   R=   t   funt   error(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyRŸ   ×   s    N(   t   __name__t
   __module__t   __doc__t   cmdt   error_handlersR1   R5   R<   RD   RF   t   propertyRC   R]   Rs   R?   Rt   t   TrueR›   R�   R”   RŸ   (    (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR-   4   s    						,	
			c            s<   ‡  f d †  } t  t ˆ  j | ƒ t  t j ˆ  j | ƒ ˆ  S(   Nc             s^   t  } d | k r& | d } | d =n  y ˆ  |  | Ž  SWn  t j k
 rY | rZ ‚  qZ n Xd  S(   Nt	   mandatory(   R¬   R   t   ConfigurationError(   t   kR>   R­   (   R¢   (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR¤   Ú   s    

(   t   setattrR-   R¦   R   t   BuildContext(   R¢   R¤   (    (   R¢   sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyR[   Ù   s    
c         C   sE   y- |  j  j | p | t j |  j | ƒ ƒ Wn t k
 r@ n Xd  S(   N(   RC   t   append_valuet   shlext   splitR3   t   KeyError(   R=   t   vart   dest(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   add_os_flagsç   s     - c         C   s[   t  | t ƒ rW | j d ƒ rW y t j | ƒ Wn t k
 rL t j | ƒ SX| g Sn  | S(   NRa   (   t
   isinstancet   strt   findR   t   statt   OSErrorR³   R´   (   R=   R©   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   cmd_to_listë   s    
s   1.6.99s   1.8.0c         C   s­   |  j  d t | ƒ t | ƒ f ƒ t j } t j | ƒ | k rd |  j d t j | ƒ | f ƒ n  t j | ƒ | k  rœ |  j d t j | ƒ | f ƒ n  |  j d ƒ d  S(   Ns!   Checking for waf version in %s-%ss,   waf version should be at least %r (%r found)s+   waf version should be at most %r (%r found)t   ok(   t	   start_msgRº   R   R‰   R   t   num2verR\   t   end_msg(   R=   t   minit   maxiR{   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   check_waf_versionõ   s    #	##c         C   st   x\ t  j | ƒ D]K } xB t  j | ƒ D]1 } t j j | | ƒ } t j j | ƒ r& | Sq& Wq W|  j d | ƒ d  S(   Ns   Could not find %r(   R   R   R   RL   R   t   existsR\   (   R=   t   filenamet	   path_listR‹   t   dt   p(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt	   find_fileþ   s    c         K   s—  | j  d t j r d p d ƒ } | j  d t j ƒ } d } t j | ƒ } | j  d d ƒ } | sv | d j ƒ  } n  |  j | r“ |  j | } n | | k r¬ | | } n  | j  d d ƒ } | s²| rÜ t j | ƒ } n | j  d	 d ƒ j t j	 ƒ } t
 | t ƒ s| g } n  xš | j d
 ƒ D]† } | r5Pn  xs | D]k }	 | rLPn  xX | D]P }
 | rcPn  t j j t j j |
 |	 | ƒ ƒ } t j j | ƒ rS| } qSqSWq<Wq%Wn  | rÝt j rÝt j t j j | ƒ } n  | rt j rt j t j j | ƒ } n  |  j d d
 j | ƒ | p't ƒ |  j d | | | | f ƒ | s}|  j | j  d d ƒ pvd d
 j | ƒ ƒ n  | r“| |  j | <n  | S(   Nt   extss   .exe,.com,.bat,.cmds   ,.sh,.pl,.pyR3   R/   R¶   i    RÈ   t   PATHt   ,s   Checking for program s%   find program=%r paths=%r var=%r -> %rt   errmsgs   Could not find the program %s(   t   getR   R„   R   R3   R   t   upperRC   R´   t   pathsepR¹   t   listRL   R…   R   t   isfilet   winregt   get_registry_app_patht   HKEY_CURRENT_USERt   HKEY_LOCAL_MACHINERp   t   FalseRm   R\   (   R=   RÇ   R>   RÌ   R3   R£   R¶   RÈ   t   at   bt   cR&   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   find_program  sR    !%#/R/   c      
   C   sÈ   y+ |  j  | d | d | d | d | ƒ} Wn‚ t k
 r¯ |  j  d d d ƒ|  j | t j d j t j ƒ ƒ } | s ‚  n  | r° t j |  j	 d ƒ | g |  j	 | <q° n X|  j
 d | | ƒ d  S(	   NRÈ   R¶   R3   RÌ   t   perlt   PERLRÍ   s   Checking for %r(   RÝ   R   RË   R   R3   R´   RÒ   R   R   RC   Rp   (   R=   RÇ   RÈ   R¶   R3   RÌ   Rz   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   find_perl_program2  s    +%+(!   R   R³   RV   Rh   R   R    R   R   R   R   R   R   t   urllibR   R‘   R   R    R¡   Re   RÙ   t
   autoconfigRn   R   R5   R,   R-   R[   R¸   R¾   RÅ   RË   RÝ   Rà   (    (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Configure.pyt   <module>   s2   04		¥	
,