ó
gÊù]c           @   sÂ  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z y d  d l Z Wn e k
 rk d  d l Z n Xd  d l m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z d  d l Z d Z d Z d Z d Z d j ƒ  Z d Z d	 Z d
 Z d Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d e f d „  ƒ  YZ! d e f d „  ƒ  YZ" d e f d „  ƒ  YZ# e j$ e j% ƒ e _% e j$ e j& ƒ e _& d S(   iÿÿÿÿN(	   t   Runnert   TaskGent   Utilst	   ConfigSett   Taskt   Logst   Optionst   Contextt   Errorst   c4ches	   _cache.pyi9  iÇúÿÿs!   root node_deps raw_deps task_sigst	   cfg_filesi    i   i   t   BuildContextc           B   s¯  e  Z d  Z d Z d Z d „  Z d „  Z e e 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+ d+ d „ Z d „  Z d „  Z e e e ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d+ d  „ Z& d! „  Z' d" „  Z( d+ e) d# „ Z* d$ „  Z+ d% „  Z, d& „  Z- d' „  Z. d( „  Z/ d) „  Z0 d* „  Z1 RS(,   s   executes the buildt   buildt    c         K   sr  t  t |  ƒ j | �  d |  _ | j d t j ƒ |  _ | j d t j ƒ |  _ t |  _	 | j d t j
 ƒ |  _
 | j d d  ƒ |  _ |  j s¨ |  j
 t j t |  _ n  i  |  _ i  |  _ i  |  _ i  |  _ i  |  _ i  |  _ t j |  _ t j j |  _ t j j |  _ t j j |  _ t j |  _ t j j |  _ t j j |  _ t j  t! ƒ |  _" d |  _# g  |  _$ i  |  _% d  S(   Ni    t   top_dirt   run_dirt   out_dirt	   cache_dir(&   t   superR   t   __init__t
   is_installt   getR   R   R   t   POST_AT_ONCEt	   post_modeR   t   NoneR   t   ost   sept	   CACHE_DIRt   all_envst	   task_sigst	   node_depst   raw_depst   cache_dir_contentst   task_gen_cache_namest
   launch_dirR   t   optionst   jobst   targetst   keept   cache_globalt   nocachet   progress_barR   t   defaultdictt   listt   deps_mant   current_groupt   groupst   group_names(   t   selft   kw(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR      s4    											c         C   s)   |  j  s |  j St j j |  j |  j  ƒ S(   N(   t   variantR   R   t   patht   join(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_variant_dir4   s    	c         O   sH   |  | d <t  j | | Ž  } i  |  _ |  j | d | j d d  ƒ ƒ| S(   Nt   bldt   group(   R   t   task_genR!   t   add_to_groupR   R   (   R0   t   kR1   t   ret(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   __call__9   s
    
	c            s   ‡  ‡ ‡ f d †  } | S(   Nc            s   ˆ ˆ  ˆ Ž  } |  | _  | S(   N(   t   rule(   R=   R;   (   R:   R1   R0   (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   f@   s    	(    (   R0   R:   R1   R>   (    (   R:   R1   R0   sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR=   ?   s    c         C   s   t  j d ƒ ‚ d  S(   Ns,   build contexts are not supposed to be copied(   R   t   WafError(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   __copy__E   s    c         O   s   d  S(   N(    (   R0   R:   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   install_filesG   s    c         O   s   d  S(   N(    (   R0   R:   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt
   install_asI   s    c         O   s   d  S(   N(    (   R0   R:   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt
   symlink_asK   s    c   	      C   s9  |  j  j |  j ƒ } | s- t j d ƒ ‚ n  | j d t d t ƒ} | s^ t j d ƒ ‚ n  xÔ | D]Ì } | j | ƒ j	 t d ƒ j	 d d ƒ } t
 j
 | j ƒ  ƒ } | |  j | <xz | t D]n } |  j  j | ƒ } y t j | j ƒ  ƒ } Wn1 t t f k
 r#t j d | ƒ t j } n X| | _ q¿ Wqe Wd  S(	   Ns:   The project was not configured: run "waf configure" first!s   **/*%st   quiets5   The cache directory is empty: reconfigure the projectR   s   \t   /s   cannot find %r(   t   roott	   find_nodeR   R   R?   t   ant_globt   CACHE_SUFFIXt   Truet	   path_fromt   replaceR   t   abspathR   t	   CFG_FILESt   find_resourceR   t   h_filet   IOErrort   AttributeErrorR   t   errort   SIG_NILt   sig(	   R0   t   nodet   lstt   xt   namet   envR>   t   newnodet   h(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt	   load_envsM   s$    'c         C   s„   t  j j |  j ƒ o' t  j j |  j ƒ s< t j d ƒ ‚ n  |  j j |  j ƒ |  _ |  _	 |  j j
 |  j ƒ |  _ |  j j ƒ  d  S(   Ns:   The project was not configured: run "waf configure" first!(   R   R3   t   isabsR   R   R   R?   RF   t   find_dirt   srcnodet	   make_nodet   variant_dirt   bldnodet   mkdir(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt	   init_dirs`   s
    *c         C   s.   |  j  ƒ  |  j s  |  j ƒ  n  |  j ƒ  d  S(   N(   t   restoreR   R]   t   execute_build(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   executef   s    
	c      	   C   s  t  j d |  j ƒ |  j |  j g ƒ |  j ƒ  t j ƒ  |  _ |  j	 rb t
 j j t  j j ƒ n  z |  j ƒ  Wd  |  j	 d k rí t |  j ƒ p” d } |  j |  j | | t  j j t  j j ƒ ƒ d GHt
 j j ƒ  t
 j j t  j j ƒ n  t  j d |  j ƒ X|  j ƒ  d  S(   Ns   Waf: Entering directory `%s'i   R   s   Waf: Leaving directory `%s'(   R   t   infoRb   t   recurseR   t	   pre_buildR   t   Timert   timerR)   t   syst   stderrt   writet   colorst
   cursor_offt   compilet   lent   returned_taskst   to_logt   progress_linet   BLUEt   NORMALt   stdoutt   flusht	   cursor_ont
   post_build(   R0   t   c(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRg   k   s     
	+c         C   sŒ  y% t  j  t j j |  j d ƒ ƒ } Wn t t f k
 r> nH X| d t j k  rd t	 j
 d ƒ ‚ n  x | d D] } |  j | �  qo Wt j j |  j t j ƒ } y t j | d ƒ } Wn( t t f k
 rá t j d | ƒ n� Xzˆ t j j j ƒ  |  j t j _ y t j | ƒ } Wn* t k
 rC} t j d | | f ƒ n& Xx" t D] } t |  | | | ƒ qKWWd  t j j j ƒ  X|  j ƒ  d  S(   Ns   build.config.pyt   versions)   Version mismatch! reconfigure the projectt   toolst   rbs2   build: Could not load the build cache %s (missing)s.   build: Could not pickle the build cache %s: %r(    R   R   R3   R4   R   RQ   t   OSErrorR   t
   HEXVERSIONR   R?   t   setupRb   t   DBFILER   t   readft   EOFErrorR   t   debugt   waflibt   Nodet   pickle_lockt   acquiret
   node_classt   Nod3t   cPicklet   loadst	   Exceptiont   SAVED_ATTRSt   setattrt   releaseRe   (   R0   RZ   t   tt   dbfnt   datat   eRX   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRf   }   s0    %c         C   s#  i  } x! t  D] } t |  | ƒ | | <q Wt j j |  j t j ƒ } z5 t j	 j
 j ƒ  |  j t j	 _ t j | d ƒ } Wd  t j	 j
 j ƒ  Xt j | d | d d ƒyI t j | ƒ } t j | ƒ t j sð t j | d | j | j ƒ n  Wn t t f k
 r
n Xt j | d | ƒ d  S(   Niÿÿÿÿs   .tmpt   mt   wb(   R’   t   getattrR   R3   R4   Rb   R   R…   R‰   RŠ   R‹   RŒ   R�   RŽ   R�   t   dumpsR”   R   t   writeft   statt   removet   is_win32t   chownt   st_uidt   st_gidRR   R‚   t   rename(   R0   R—   RX   t   dbt   st(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   storeš   s$    	$c         C   s³   t  j d ƒ t j |  |  j ƒ |  _ |  j ƒ  |  j _ g  |  _ y |  j j	 ƒ  Wn t
 k
 rq |  j ƒ  ‚  n X|  j j r‹ |  j ƒ  n  |  j j r¯ t j |  j j ƒ ‚ n  d  S(   Ns   build: compile()(   R   Rˆ   R    t   ParallelR$   t   producert   get_build_iteratort   biterRu   t   startt   KeyboardInterruptR§   t   dirtyRS   R   t
   BuildError(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRs   ®   s    	
c         C   si   t  | t ƒ r4 x | D] } |  j | | ƒ q Wd  St j | | ƒ } t | d ƒ re | j |  ƒ n  d  S(   NR„   (   t
   isinstanceR+   R„   R   t	   load_toolt   hasattr(   R0   t   toolt   tooldirt   funst   it   module(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR„   ½   s      c         C   s2   y |  j  |  j SWn t k
 r- |  j  d SXd  S(   NR   (   R   R2   t   KeyError(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_envÃ   s    c         C   s   | |  j  |  j <d  S(   N(   R   R2   (   R0   t   val(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   set_envÈ   s    c         C   s¼   | d  k r t d ƒ ‚ n  t | t j j ƒ r9 | } n9 t j j | ƒ r` |  j j	 | ƒ } n |  j j	 | ƒ } t | t
 ƒ rž |  j t | ƒ j | ƒ n |  j t | ƒ j | ƒ d  S(   Ns   Invalid input(   R   t
   ValueErrorR°   R‰   RŠ   R   R3   R^   RF   RO   R+   R,   t   idt   extendt   append(   R0   R3   t   valueRV   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   add_manual_dependencyË   s    	c         C   s?   y |  j  SWn- t k
 r: |  j j |  j ƒ |  _  |  j  SXd  S(   N(   t   p_lnRR   RF   R_   R"   (   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   launch_nodeØ   s
    c         C   så   | j  s" | j } | s" t j Sn  t t | ƒ ƒ t | ƒ } y |  j } Wn t k
 rk i  } |  _ n$ Xy |  j | SWn t k
 rŽ n Xg  | D] } | | ^ q– } t j	 | ƒ } t
 j d t j | ƒ | ƒ | | | <| S(   Ns   envhash: %s %r(   t   tablet   parentR   RT   t   strR½   t	   cache_envRR   R¸   t   h_listR   Rˆ   t   to_hex(   R0   RZ   t   vars_lstt   idxt   cachet   aRW   R;   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   hash_env_varsÞ   s$    		

c         C   s“   |  j  } | s\ xJ |  j D]< } x3 | D]+ } y | | | j <Wq& t k
 rP q& Xq& Wq Wn  y | | SWn$ t k
 rŽ t j d | ƒ ‚ n Xd  S(   Ns/   Could not find a task generator for the name %r(   R!   R.   RY   RR   R¸   R   R?   (   R0   RY   RÌ   t   gt   tg(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_tgen_by_nameò   s    	c         C   s%  t  t | ƒ ƒ } t j d 7_ t j t j d } d | | } t |  j ƒ } d | | | f }	 |	 | | | | | f }
 d | | | f } t j ƒ  t  |
 ƒ t  | ƒ d t  | ƒ d t  | ƒ } | d k  râ d } n  | | | d } d | d	 j | ƒ } t j	 |
 | | f } | S(
   Ni   i   g      Y@s"   [%%%dd/%%%dd][%%s%%2d%%%%%%s][%s][s	   ][%s%s%s]i   i   t   =t   >(
   Rt   RÆ   R   t   rot_idxt   rot_chrRm   R   t   get_term_colst   ljustt	   indicator(   R0   t   statet   totalt   col1t   col2t   nt   indt   pct   etat   fst   leftt   rightt   colst   ratiot   bart   msg(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRw   ÿ   s    < 	c         O   s   t  j | | Ž  S(   N(   R   t   declare_chain(   R0   R:   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRè     s    c         C   s+   x$ t  |  d g  ƒ D] } | |  ƒ q Wd  S(   Nt   pre_funs(   R›   (   R0   R™   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRk     s    c         C   s+   x$ t  |  d g  ƒ D] } | |  ƒ q Wd  S(   Nt	   post_funs(   R›   (   R0   R™   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR}     s    c         C   s8   y |  j  j | ƒ Wn t k
 r3 | g |  _  n Xd  S(   N(   Ré   R¿   RR   (   R0   t   meth(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   add_pre_fun  s    c         C   s8   y |  j  j | ƒ Wn t k
 r3 | g |  _  n Xd  S(   N(   Rê   R¿   RR   (   R0   Rë   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   add_post_fun  s    c         C   sU   |  j  s |  j ƒ  n  | d  k r0 |  j  |  j S| |  j k rJ |  j | S|  j  | S(   N(   R.   t	   add_groupR   R-   R/   (   R0   RX   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt	   get_group   s    	c         C   sM   t  | t j ƒ s* t  | t j ƒ s* t ‚ |  | _ |  j | ƒ j | ƒ d  S(   N(	   R°   R   R8   R   t   TaskBaset   AssertionErrorR6   Rï   R¿   (   R0   t   tgenR7   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR9   (  s    *	c         C   sZ   t  | t ƒ s |  j | } n  x4 |  j D]) } t |  j | ƒ t | ƒ k r) | Sq) Wd S(   NR   (   R°   R+   R.   R/   R½   (   R0   RÏ   RX   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_group_name,  s    c         C   s^   t  | ƒ } xK t t |  j ƒ ƒ D]4 } x+ |  j | D] } t  | ƒ | k r6 | Sq6 Wq" Wd  S(   N(   R½   t   rangeRt   R.   R   (   R0   RÐ   t   seR¶   R•   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_group_idx3  s    c         C   so   | r) | |  j  k r) t j d | ƒ n  g  } | |  j  | <|  j j | ƒ | rk t |  j ƒ d |  _ n  d  S(   Ns"   add_group: name %s already presenti   (   R/   R   RS   R.   R¿   Rt   R-   (   R0   RY   t   moveRÏ   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRî   :  s    c         C   sw   t  | t ƒ rj |  j | } xT t t |  j ƒ ƒ D]1 } t | ƒ t |  j | ƒ k r2 | |  _ q2 q2 Wn	 | |  _ d  S(   N(   R°   RÆ   R/   Rô   Rt   R.   R½   R-   (   R0   RË   RÏ   R¶   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt	   set_groupB  s    c         C   sd   d } xW |  j  D]L } xC | D]; } y | t | j ƒ 7} Wq t k
 rW | d 7} q Xq Wq W| S(   Ni    i   (   R.   Rt   t   tasksRR   (   R0   RÚ   R7   RÐ   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRÚ   J  s    c         C   s§   g  } d } xŽ |  j  j d ƒ D]z } |  j | ƒ } | sP t j d | ƒ ‚ n  |  j | ƒ } | | k r} | } | g } q | | k r | j | ƒ q q W| | f S(   Ni    t   ,s   target %r does not exist(   R%   t   splitRÑ   R   R?   Rö   R¿   (   R0   t   to_postt   min_grpRY   RÐ   R™   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_targetsS  s    c         C   s+   g  } x |  j  D] } | j | ƒ q W| S(   N(   R.   R¾   (   R0   RW   RÏ   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_all_task_gena  s    c         C   s®  |  j  d k rU x˜|  j |  j D]. } y | j } Wn t k
 rF q  X| ƒ  q  WnU|  j  r× |  j |  j k  r¶ xa |  j |  j D]. } y | j } Wn t k
 r§ q� X| ƒ  q� Wqªxñ |  j D] } | j ƒ  qÀ WnÓ |  j ƒ  } | j |  j	 ƒ rt
 j d ƒ |  j } nD | j |  j ƒ sRt
 j d | j ƒ  |  j j ƒ  f ƒ |  j } n  xU |  j |  j D]C } y | j } Wn t k
 r‰qcX| j j | ƒ rc| ƒ  qcqcWd  S(   Nt   *s6   Building from the build directory, forcing --targets=*s<   CWD %s is not under %s, forcing --targets=* (run distclean?)(   R%   R.   t   curt   postRR   t   _min_grpt	   _exact_tgRÃ   t   is_child_ofRc   R   t   warnR`   RM   R3   (   R0   RÐ   R>   t   ln(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt
   post_groupf  s>    	&c         C   sW   g  } xJ |  j  | D]; } y | j | j ƒ Wq t k
 rN | j | ƒ q Xq W| S(   N(   R.   R¾   Rù   RR   R¿   (   R0   RË   Rù   RÐ   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_tasks_group‹  s    c         c   s/  d |  _  |  j r< |  j d k r< |  j ƒ  \ |  _ |  _ n  |  j t k r� x5 |  j  t |  j ƒ k  r‚ |  j	 ƒ  |  j  d 7_  qN Wd |  _  n  x� |  j  t |  j ƒ k  r|  j t
 k rÆ |  j	 ƒ  n  |  j |  j  ƒ } t j | ƒ t j | ƒ | |  _ |  j  d 7_  | sq’ n  | Vq’ Wx	 g  Vq"Wd  S(   Ni    R   i   (   R  R%   Rþ   R  R  R   t	   POST_LAZYRt   R.   R  R   R	  R   t   set_file_constraintst   set_precedence_constraintst	   cur_tasks(   R0   Rù   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRª   “  s*    	
		N(2   t   __name__t
   __module__t   __doc__t   cmdR2   R   R5   t   propertyR   Rb   R<   R=   R@   RA   RB   RC   R]   Re   Rh   Rg   Rf   R§   Rs   R„   R¹   R»   RZ   RÁ   RÃ   RÎ   RÑ   Rw   Rè   Rk   R}   Rì   Rí   Rï   R9   Ró   Rö   RJ   Rî   Rø   RÚ   Rþ   Rÿ   R  R	  Rª   (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR      sZ   																																				%	t   instc           B   sb   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z	 d „  Z
 d „  Z d	 „  Z RS(
   t   CYANc         C   s,   |  j  |  j g |  j } t j t | ƒ ƒ S(   N(   t   destR3   t   sourceR   RÈ   t   repr(   R0   RW   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   uid¬  s    c         C   s*  g  } x|  j  D]	} t | t j j ƒ r4 | } nØ |  j j | ƒ } | st j ri t j d | ƒ n  |  j	 j
 j |  ƒ } x‹ |  j	 j
 j | D]W } t | t ƒ rÍ t | ƒ t |  ƒ k rÍ | j ƒ  n  |  j j | ƒ } | r’ Pq’ q’ Wt j d | |  j f ƒ ‚ n  | j | ƒ q W| |  _ d  S(   Ns7   Could not find %s immediately (may cause broken builds)s   Could not find %r in %r(   R  R°   R‰   RŠ   R3   RO   R   t   verboseR  t	   generatorR6   Rö   R.   R  R½   R  R   R?   R¿   t   inputs(   R0   t   bufRX   t   yRË   RÐ   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR  ¯  s$    		(c         C   s/   t  t |  ƒ j ƒ  } | t j k r+ t j S| S(   N(   R   R  t   runnable_statusR   t   SKIP_MEt   RUN_ME(   R0   R;   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR  Ä  s    c         C   s   d S(   NR   (    (   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   __str__É  s    c         C   s   |  j  j ƒ  S(   N(   R  t	   exec_task(   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   runË  s    c         C   s}   t  j |  j |  j ƒ } | j d t j ƒ } | ry t j j	 ry t j
 j t j j	 t j
 j | ƒ d j t j ƒ ƒ } n  | S(   NRE   i   (   R   t
   subst_varsR  RZ   RL   R   R   R   R#   t   destdirR3   R4   t
   splitdrivet   lstrip(   R0   R%  R  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   get_install_pathÍ  s
    :c         C   s¼   |  j  ƒ  } | s+ t j d |  j ƒ ‚ n  xŠ t |  j |  j ƒ D]s \ } } |  j rz t j	 j
 | | j |  j	 ƒ ƒ } n t j	 j
 | | j ƒ } |  j j j | j ƒ  | |  j ƒ qA Wd  S(   Ns   unknown installation path %r(   R(  R   R?   R  t   zipR  R  t   relative_trickR   R3   R4   RK   RY   R6   t
   do_installRM   t   chmod(   R0   t   destpathRX   R  t   destfile(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   exec_install_filesÓ  s    "	$c         C   s9   |  j  ƒ  } |  j j j |  j d j ƒ  | |  j ƒ d  S(   Ni    (   R(  R  R6   R+  R  RM   R,  (   R0   R.  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   exec_install_asÝ  s    c         C   s\   |  j  ƒ  } |  j } |  j rB t j j | t j j | ƒ ƒ } n  |  j j j	 | | ƒ d  S(   N(
   R(  t   linkR*  R   R3   t   relpatht   dirnameR  R6   t   do_link(   R0   R.  t   src(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   exec_symlink_asà  s
    		$(   R  R  t   colorR  R  R  R!  R#  RJ   R(  R/  R0  R6  (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR  ª  s   						
	t   InstallContextc           B   s�   e  Z d  Z d Z d „  Z e j d „ Z d „  Z d „  Z	 d	 e j e d	 e e d „ Z d	 e j d	 e e d „ Z d	 d	 e e e d „ Z RS(
   s"   installs the targets on the systemt   installc         K   s,   t  t |  ƒ j | �  g  |  _ t |  _ d  S(   N(   R   R8  R   t	   uninstallt   INSTALLR   (   R0   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR   é  s    	c   	      C   sÐ  t  j j | ƒ \ } } | s: t j d | | f ƒ ‚ n  t j | ƒ | j |  j j	 ƒ  t  j
 d ƒ } t j j sý y" t  j | ƒ } t  j | ƒ } Wn t k
 rª qý X| j d | j k rý | j | j k rý |  j sö t j d | | f ƒ n  t Sn  |  j s t j d | | f ƒ n  y t  j | ƒ Wn t k
 rDn Xy$ t j | | ƒ t  j | | ƒ Wn` t k
 rËy t  j | ƒ Wn( t t f k
 r´t j d | ƒ n Xt j d | ƒ ‚ n Xd  S(   Ns!   Invalid installation given %r->%rR   i   s   - install %s (from %s)s   + install %s (from %s)s   File %r does not exists   Could not install the file %r(   R   R3   Rû   R   R?   R   t	   check_dirRL   R`   RM   R   R   R#   t   forceRž   R‚   t   st_mtimet   st_sizeR)   R   Ri   t   FalseRŸ   t   shutilt   copy2R,  RQ   RS   (	   R0   R5  t   tgtR,  t   dt   _t   srclblt   st1t   st2(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR+  í  s<    "(		c         C   sì   t  j j | ƒ \ } } t j | ƒ t } t  j j | ƒ sF t } n t  j | ƒ | k rd t } n  | rÅ y t  j	 | ƒ Wn t
 k
 rŽ n X|  j s² t j d | | f ƒ n  t  j | | ƒ n# |  j sè t j d | | f ƒ n  d  S(   Ns   + symlink %s (to %s)s   - symlink %s (to %s)(   R   R3   Rû   R   R<  R@  t   islinkRJ   t   readlinkRŸ   R‚   R)   R   Ri   t   symlink(   R0   R5  RC  RD  RE  R1  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR4    s"    		  		c         C   sL   | j  ƒ  | sH | j ƒ  t j k r; |  j d | ƒ ‚ n  | j ƒ  n  d  S(   Ns   cannot post the task %r(   R  R  R   t	   ASK_LATERR?   R#  (   R0   t   tskt   postpone(    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   run_task_now  s
    
c	   
      C   sº   t  d | p |  j ƒ }	 |  |	 _ | p- |  j |	 _ | |	 _ t | t j j ƒ r` | g |	 _ n t	 j
 | ƒ |	 _ | |	 _ |	 j |	 _ | |	 _ | r¦ |  j |	 ƒ n  |  j |	 | ƒ |	 S(   NRZ   (   R  RZ   R6   R3   R,  R°   R‰   RŠ   R  R   t   to_listR  R/  R"  R*  R9   RO  (
   R0   R  t   filesRZ   R,  R*  t   cwdt   addRN  RM  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRA   $  s    				 c   	      C   s‡   t  d | p |  j ƒ } |  | _ | p- |  j | _ | | _ | g | _ | | _ | j | _ | rs |  j	 | ƒ n  |  j
 | | ƒ | S(   NRZ   (   R  RZ   R6   R3   R,  R  R  R0  R"  R9   RO  (	   R0   R  t   srcfileRZ   R,  RR  RS  RN  RM  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRB   3  s    			 c   	      C   sš   t  j r d  St d | p |  j ƒ } |  | _ | | _ | pC |  j | _ g  | _ | | _ | | _	 | j
 | _ | r† |  j | ƒ n  |  j | | ƒ | S(   NRZ   (   R   R    R  RZ   R6   R  R3   R  R1  R*  R6  R"  R9   RO  (	   R0   R  R5  RZ   RR  RS  RN  R*  RM  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRC   >  s    						 N(   R  R  R  R  R   R   t   O644R+  R4  RO  R   R@  RJ   RA   RB   RC   (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR8  æ  s   	 		t   UninstallContextc           B   s>   e  Z d  Z d Z d „  Z e j d „ Z d „  Z d „  Z	 RS(   s   removes the targets installedR:  c         K   s#   t  t |  ƒ j | �  t |  _ d  S(   N(   R   RV  R   t	   UNINSTALLR   (   R0   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR   O  s    c         C   s  |  j  s t j d | ƒ n  |  j j | ƒ y t j | ƒ Wn‚ t k
 rÂ } | j t j	 k rÃ t
 |  d d  ƒ s� t |  _ t j d ƒ n  t j d k r¿ t j d | j | j f ƒ q¿ qÃ n XxB | rt j j | ƒ } y t j | ƒ WqÆ t k
 rPqÆ XqÆ Wd  S(   Ns   - remove %st   uninstall_errorsH   build: some files could not be uninstalled (retry with -vv to list them)i   s#   Could not remove %s (error code %r)(   R)   R   Ri   R:  R¿   R   RŸ   R‚   t   errnot   ENOENTR›   R   RJ   RX  R  R  t   filenameR3   R3  t   rmdir(   R0   R5  RC  R,  R˜   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR+  R  s$    		'	c         C   s‹   y. |  j  s  t j d | ƒ n  t j | ƒ Wn t k
 rA n XxB | r† t j j | ƒ } y t j | ƒ WqE t k
 r‚ PqE XqE Wd  S(   Ns   - remove %s(	   R)   R   Ri   R   RŸ   R‚   R3   R3  R\  (   R0   R5  RC  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR4  e  s    		c         C   sm   zL d „  } t  t j d t j j ƒ t  t j d | ƒ t t |  ƒ j ƒ  Wd  t  t j d t j j ƒ Xd  S(   Nc         S   s   t  j S(   N(   R   R  (   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR  t  s    t   runnable_status_backR  (   R“   R   R  R   RV  Rh   R]  (   R0   R  (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRh   r  s    	(
   R  R  R  R  R   R   RU  R+  R4  Rh   (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRV  L  s   		t   CleanContextc           B   s&   e  Z d  Z d Z d „  Z d „  Z RS(   s   cleans the projectt   cleanc         C   sS   |  j  ƒ  |  j s  |  j ƒ  n  |  j |  j g ƒ z |  j ƒ  Wd  |  j ƒ  Xd  S(   N(   Rf   R   R]   Rj   R   R_  R§   (   R0   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRh   ~  s    
	c            sß   t  j d ƒ ˆ  j ˆ  j k r¨ g  } x8 ˆ  j j ƒ  D]' } | j ‡  f d †  | t Dƒ ƒ q5 WxE ˆ  j j d d d d t	 ƒD]" } | | k r— q n  | j
 ƒ  q Wn  i  ˆ  j _ x$ d j ƒ  D] } t ˆ  | i  ƒ qÁ Wd  S(   Ns   build: clean calledc         3   s!   |  ] } ˆ  j  j | ƒ Vq d  S(   N(   RF   t   find_or_declare(   t   .0R>   (   R0   (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pys	   <genexpr>Œ  s    s   **/*t   excls*   .lock* *conf_check_*/** config.log c4che/*RD   s   node_deps task_sigs raw_deps(   R   Rˆ   Rc   R`   R   t   valuesR¾   RN   RH   RJ   t   deleteRF   t   childrenRû   R“   (   R0   RW   R˜   RÝ   t   v(    (   R0   sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR_  ‡  s    %%(   R  R  R  R  Rh   R_  (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR^  {  s   		t   ListContextc           B   s   e  Z d  Z d Z d „  Z RS(   s   lists the targets to executeR+   c         C   s  |  j  ƒ  |  j s  |  j ƒ  n  |  j |  j g ƒ |  j ƒ  t j ƒ  |  _ xJ |  j	 D]? } x6 | D]. } y | j
 } Wn t k
 r‰ qc X| ƒ  qc WqV Wy |  j d ƒ Wn t k
 r½ n Xt |  j j ƒ  ƒ } | j ƒ  x | D] } t j d | ƒ qä Wd  S(   NR   t   GREEN(   Rf   R   R]   Rj   R   Rk   R   Rl   Rm   R.   R  RR   RÑ   R‘   R+   R!   t   keyst   sortR   t   pprint(   R0   RÏ   RÐ   R>   RW   R:   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRh   —  s*    
	

(   R  R  R  R  Rh   (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRg  ”  s   t   StepContextc           B   s/   e  Z d  Z d Z d „  Z d „  Z d „  Z RS(   s7   executes tasks in a step-by-step fashion, for debuggingt   stepc         K   s)   t  t |  ƒ j | �  t j j |  _ d  S(   N(   R   Rl  R   R   R#   RQ  (   R0   R1   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyR   ±  s    c      	   C   så  |  j  s' t j d ƒ t j |  ƒ d  Sd  } |  j rZ |  j d k rZ |  j j d ƒ } n  x„|  j D]y} xQ | D]I } | r’ | j	 | k r’ qq n  y | j
 } Wn t k
 r² qq X| ƒ  qq Wx|  j  j d ƒ D]} |  j | ƒ } xð | D]è } t | t j ƒ r| g } n	 | j } x¸ | D]° } t }	 x6 t | d g  ƒ D]" }
 | |
 d t ƒr@t }	 Pq@q@Wx6 t | d g  ƒ D]" }
 | |
 d t ƒryt }	 PqyqyW|	 r!| j ƒ  } t j d t | ƒ | f ƒ q!q!Wqí WqÑ Wqd Wd  S(   NsL   Add a pattern for the debug build, for example "waf step --files=main.c,app"R   Rú   R  t   outputt   outputss   %s -> exit %r(   RQ  R   R  R   Rs   R   R%   Rû   R.   RY   R  RR   t   get_matcherR°   R   Rð   Rù   R@  R›   RJ   R#  Ri   RÆ   (   R0   R%   RÏ   RÐ   R>   t   patt   matcherRW   RM  t   do_execRV   R;   (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRs   ´  sF    		c            sä   t  ‰ t  ‰ | j d ƒ r6 t ‰ | j d d ƒ } n* | j d ƒ r` t ‰ | j d d ƒ } n  |  j j | ƒ ‰  d  ‰ ˆ  sÈ | j d ƒ sš d | } n  | j d ƒ s¶ d | } n  t j	 | ƒ ‰ n  ‡  ‡ ‡ ‡ f d †  } | S(	   Ns   in:R   s   out:t   ^s   ^.+?%st   $s   %s$c            sU   | t  k r ˆ r t S| t k r. ˆ r. t Sˆ  r> ˆ  |  k Sˆ j |  j ƒ  ƒ Sd  S(   N(   RJ   R@  t   matchRM   (   RV   Rn  (   t   anodet   innt   outt   pattern(    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRv  ë  s    
(
   RJ   t
   startswithR@  RL   RF   RG   R   t   endswitht   reRs   (   R0   Rq  Rv  (    (   Rw  Rx  Ry  Rz  sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRp  Ú  s$    	(   R  R  R  R  R   Rs   Rp  (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyRl  ®  s
   		&('   R   Rn   RY  R}  RA  R�   t   ImportErrort   pickleR‰   R    R   R   R   R   R   R   R   R   t   waflib.NodeR   RI   R;  RW  Rû   R’   RN   R   R
  t	   POST_BOTHR   R  R8  RV  R^  Rg  Rl  t   nogcR§   Rf   (    (    (    sN   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Build.pyt   <module>   s2   <@ÿ –<f/G