ó
gÊù]c        
   @   s…  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 d Z d Z	 d Z
 d Z d Z d Z d  Z d	 Z d
 Z d Z d Z d „  Z i  a d e f d „  ƒ  YZ e d e f i  ƒ Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z d „  Z d „  Z e j d e j  ƒ Z! d „  Z" d „  Z# e$ d „ Z% e& e& d g  g  g  g  e$ e& d „	 Z' d „  Z( d  „  Z) d S(!   iÿÿÿÿN(   t   Utilst   Logst   Errorsi    i   i   i   i   i	   iþÿÿÿiýÿÿÿsÒ   
def f(tsk):
	env = tsk.env
	gen = tsk.generator
	bld = gen.bld
	wd = getattr(tsk, 'cwd', None)
	p = env.get_flat
	tsk.last_cmd = cmd = ''' %s ''' % s
	return tsk.exec_command(cmd, cwd=wd, env=env.env or None)
s  
def f(tsk):
	env = tsk.env
	gen = tsk.generator
	bld = gen.bld
	wd = getattr(tsk, 'cwd', None)
	def to_list(xx):
		if isinstance(xx, str): return [xx]
		return xx
	tsk.last_cmd = lst = []
	%s
	lst = [x for x in lst if x]
	return tsk.exec_command(lst, cwd=wd, env=env.env or None)
c            sF   |  j  ‰  ‡  f d †  } | |  _  |  j ‰ ‡ f d †  } | |  _ |  S(   Nc            s<   |  j  j } | j r2 | j r2 |  j ƒ  r2 d Sn  ˆ  |  ƒ S(   Ni    (   t	   generatort   bldt   cache_globalt   nocachet   can_retrieve_cache(   t   selfR   (   t   m1(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   run*   s
    c            s<   |  j  j } ˆ  |  ƒ } | j r8 | j r8 |  j ƒ  n  | S(   N(   R   R   R   R   t   put_files_cache(   R   R   t   ret(   t   m2(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   post_run2   s
    (   R
   R   (   t   clsR
   R   (    (   R	   R   sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   cache_outputs(   s    				t   store_task_typec           B   s   e  Z d  „  Z RS(   c         C   sO  t  t |  ƒ j | | | ƒ |  j } | j d ƒ rI | j d d ƒ } n  | d k rK| d k rKt |  d d  ƒ rØ t |  j	 |  j
 ƒ \ } } |  j	 |  _ d  |  _	 | |  _ t t |  j | ƒ ƒ |  _ |  j j ƒ  n9 t |  d d  ƒ rd |  j k rt j |  j ƒ |  _ n  t |  d d  ƒ s2t |  ƒ }  n  |  t |  d	 t ƒ | <n  d  S(
   Nt   _taskt    t   evilt   TaskBaset   run_strR
   t   hcodeR   t   register(   t   superR   t   __init__t   __name__t   endswitht   replacet   getattrt   Nonet   compile_funR   t   shellR   R
   t   listt   sett   varst   sortt   __dict__R    t   h_funR   t   classes(   R   t   namet   basest   dictt   ft   dvars(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   <   s"    			!(   R   t
   __module__R   (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   ;   s   R   R   c           B   s¶   e  Z d  Z g  Z g  Z g  Z g  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 „ Z d „  Z d „  Z d „  Z RS(   t   GREENR   c         O   s;   t  |  _ y | d |  _ Wn t k
 r6 |  |  _ n Xd  S(   NR   (   t   NOT_RUNt   hasrunR   t   KeyError(   R   t   kt   kw(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   W   s
    	c         C   s/   d |  j  j t |  ƒ t t |  d d ƒ ƒ f S(   Ns   
	{task %r: %s %s}t   funR   (   t	   __class__R   t   idt   strR   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   __repr__]   s    c         C   s+   t  |  d ƒ r d |  j j S|  j j d S(   NR5   s   executing: %s
s   
(   t   hasattrR5   R   R6   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   __str___   s    c         C   s
   t  |  ƒ S(   N(   R7   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   __hash__c   s    c         K   sj   |  j  j } y& | j d d  ƒ s1 | j | d <n  Wn% t k
 rY | j | _ | d <n X| j | | � S(   Nt   cwd(   R   R   t   getR   R=   t   AttributeErrort   variant_dirt   exec_command(   R   t   cmdR4   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRA   e   s    c         C   s   t  S(   N(   t   RUN_ME(   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   runnable_statusm   s    c         C   s{  |  j  } | j r& | j j |  ƒ d  Sy |  j j j |  j ƒ  =Wn t k
 rS n Xy9 |  j j j	 j
 |  ƒ |  j |  j j ƒ |  j ƒ  } WnG t k
 rÖ t j ƒ  |  _ t |  _ | j |  ƒ | j j |  ƒ d  SX| rò | |  _ t |  _ nV y |  j ƒ  Wn< t j k
 rn2 t k
 r>t j ƒ  |  _ t |  _ n
 Xt |  _ |  j t k rg| j |  ƒ n  | j j |  ƒ d  S(   N(   t   mastert   stopt   outt   putR   R   t	   task_sigst   uidR2   t   returned_taskst   appendt   log_displayR
   t	   ExceptionR    t   ex_stackt   err_msgt	   EXCEPTIONR1   t   error_handlert   err_codet   CRASHEDR   R   t   WafErrort   SUCCESS(   R   t   mR   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   processo   s@    					c         C   s    t  |  d ƒ r |  j |  ƒ Sd S(   NR5   i    (   R:   R5   (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR
   ’   s    c         C   s   d  S(   N(    (   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   –   s    c         C   s   | j  |  j ƒ  ƒ d  S(   N(   t   to_logt   display(   R   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRM   ˜   s    c            s›  t  j |  j ƒ } t  j j } |  j ‰  ‡  f d †  } |  j j j d k rm |  j j j | ƒ  ˆ  j	 | | ƒ S|  j j j d k r@t
 |  j j j ƒ } y, d j g  |  j D] } | j ^ qª ƒ } Wn t k
 rÜ d } n Xy, d j g  |  j D] } | j ^ qð ƒ } Wn t k
 r"d } n Xd ˆ  j	 | ƒ  | | | f St
 |  ƒ } | sVd  Sˆ  j	 }	 t t
 |	 ƒ ƒ } d | | f }
 |
 | ƒ  |	 | | | f S(   Nc             s6   d }  t  ˆ  d ƒ r+ |  ˆ  j j ƒ  8}  n  ˆ  j |  S(   Niÿÿÿÿt   ready(   R:   R[   t   qsizet	   processed(   t   tmp(   RE   (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   curž   s    i   i   t   ,R   s3   |Total %s|Current %s|Inputs %s|Outputs %s|Time %s|
s   [%%%dd/%%%dd] %%s%%s%%s(   R   t   colorst   colort   NORMALRE   R   R   t   progress_bart   progress_linet   totalR8   t   timert   joint   inputsR)   R?   t   outputsR   t   len(   R   t   col1t   col2R_   t   elat   nt   inst   outst   sRf   t   fs(    (   RE   sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRZ   š   s0    	",
,
	c         C   s5   t  |  | |  ƒ } | |  k r1 t  |  j | | ƒ S| S(   N(   R   R6   (   R   t   attt   defaultR   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   attr·   s     c         C   s[   |  j  } t | j ƒ t | j ƒ t | j ƒ t | j ƒ | j | j f } t | ƒ } | S(   N(	   R6   R8   t   beforet   aftert   ext_int   ext_outR   R   t   hash(   R   R   t   tupt   h(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   hash_constraints»   s    	Bc         C   sÛ   t  |  d d ƒ } t  |  j d d ƒ } t  |  d d  ƒ r@ |  j S|  j sW d | |  f S|  j t k r¦ y d | |  j |  | f SWq× t k
 r¢ d | |  | f SXn1 |  j t k rÆ d | |  | f Sd	 | |  j f Sd  S(
   Nt   last_cmdR   R)   RP   s/   task in %r was not executed for some reason: %rs-    -> task in %r failed (exit status %r): %r
%rs    -> task in %r failed: %r
%rs    -> missing files in %r: %r
%rs!   invalid status for task in %r: %r(	   R   R   R   RP   R1   RT   RS   R?   t   MISSING(   R   t   msgR)   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   format_errorÀ   s    	c         C   sË   |  j  | } t | t ƒ r, |  j  | } n | } t | t ƒ r\ g  | D] } | | ^ qH St j r’ | r’ | r’ t j d | |  |  j f ƒ n  g  } x( | D]  } | j | ƒ | j | ƒ qŸ W| Sd  S(   Ns2   Missing env variable %r for task %r (generator %r)(	   t   envt
   isinstanceR8   R   t   verboset   warnR   t   extendRL   (   R   t   var1t   var2R^   t   itt   xt   lstt   y(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   colonÐ   s     N(   R   R.   Rb   Ry   Rz   Rw   Rx   R   R   R9   R;   R<   RA   RD   RX   R
   R   RM   RZ   R   Rv   R~   R‚   RŽ   (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   P   s*   							#						t   Taskc           B   s³   e  Z g  Z 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 „  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         O   sN   t  j |  | | Ž | d |  _ g  |  _ g  |  _ g  |  _ t g  ƒ |  _ d  S(   NRƒ   (   R   R   Rƒ   Ri   Rj   t	   dep_nodesR#   t	   run_after(   R   R3   R4   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   ã   s    			c         C   s�   |  j  } d j g  |  j D] } | j ƒ  ^ q ƒ } d j g  |  j D] } | j ƒ  ^ qD ƒ } |  j rq d } n d } d |  j j j d d ƒ | | | f S(   Nt    s    -> R   s   %s: %s%s%s
R   (   Rƒ   Rh   Ri   t	   nice_pathRj   R6   R   R   (   R   Rƒ   t   at   src_strt   tgt_strt   sep(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR;   ê   s    	++	 	c         C   sð   yT d j  g  |  j D] } | j ^ q ƒ } d j  g  |  j D] } | j ^ q; ƒ } Wng t k
 r½ d j  g  |  j D] } t | ƒ ^ qt ƒ } d j  g  |  j D] } t | ƒ ^ qŸ ƒ } n Xd j  d t |  ƒ |  j j d | d | d g ƒ S(   NR`   R   s   
	{task %r: R’   s    -> t   }(	   Rh   Ri   R)   Rj   R?   R8   R7   R6   R   (   R   R‹   Rp   Rq   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR9   ñ   s    (,+/c         C   s†   y |  j  SWnt t k
 r� t j ƒ  } | j } | |  j j ƒ x( |  j |  j D] } | | j	 ƒ  ƒ qQ W| j
 ƒ  |  _  |  j  SXd  S(   N(   t   uid_R?   R    t   md5t   updateR6   R   Ri   Rj   t   abspatht   digest(   R   RW   t   upR‹   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRJ   ù   s    	c         C   s5   t  | t ƒ r! |  j | 7_ n |  j j | ƒ d  S(   N(   R„   R"   Ri   RL   (   R   t   inp(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt
   set_inputs  s     c         C   s5   t  | t ƒ r! |  j | 7_ n |  j j | ƒ d  S(   N(   R„   R"   Rj   RL   (   R   RG   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   set_outputs  s     c         C   s)   t  | t ƒ s t ‚ |  j j | ƒ d  S(   N(   R„   R   t   AssertionErrorR‘   t   add(   R   t   task(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   set_run_after
  s    c         C   s§   y |  j  SWn t k
 r n Xt j ƒ  |  _ |  j j |  j ƒ |  j ƒ  |  j ƒ  |  j	 r� y |  j
 ƒ  Wq� t j k
 r‰ |  j ƒ  SXn  |  j j ƒ  } |  _  | S(   N(   t	   cache_sigR?   R    Rš   RW   R›   R   t   sig_explicit_depst   sig_varst   scant   sig_implicit_depsR   t
   TaskRescant	   signatureR�   (   R   R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR¬     s      

	c         C   sý   x |  j  D] } | j s
 t Sq
 W|  j j } y |  j ƒ  } Wn t j k
 rT t SX|  j ƒ  } y | j	 | } Wn# t
 k
 r— t j d |  ƒ t SXxN |  j D]C } y | j | k r¾ t SWq¢ t k
 rä t j d |  ƒ t SXq¢ W| | k rù t St S(   NsJ   task: task %r must run as it was never run before or the task code changeds7   task: task %r must run as the output nodes do not exist(   R‘   R1   t	   ASK_LATERR   R   R¬   R   t   TaskNotReadyRJ   RI   R2   R   t   debugRC   Rj   t   sigR?   t   SKIP_ME(   R   t   tR   t   new_sigt   keyt   prev_sigt   node(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRD     s0    		c         C   s¨   |  j  j } |  j ƒ  } xs |  j D]h } y t j | j ƒ  ƒ Wn? t k
 r€ t |  _	 d | j ƒ  |  _
 t j |  j
 ƒ ‚ n X| | _ q" W|  j | j |  j ƒ  <d  S(   Ns   -> missing file: %r(   R   R   R¬   Rj   t   ost   statRœ   t   OSErrorR€   R1   RP   R   RU   R°   R¦   RI   RJ   (   R   R   R°   R¶   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   4  s    	c         C   sm  |  j  j } |  j j } x_ |  j |  j D]M } y | | j ƒ  ƒ Wq) t t f k
 ru t	 j
 d | |  f ƒ ‚ q) Xq) W| j r`| j } xÑ |  j |  j D]¼ } y | t | ƒ } Wn t k
 rÍ q� n Xxˆ | D]€ } t | | j j ƒ r0y | j ƒ  } WqKt k
 r,t	 j
 d | |  f ƒ ‚ qKXn t | d ƒ rK| ƒ  } n  | | ƒ qÕ Wq� Wn  |  j j ƒ  S(   Ns.   Missing node signature for %r (required by %r)t   __call__(   R   R   RW   R›   Ri   R�   t   get_bld_sigR?   t	   TypeErrorR   RU   t   deps_manRj   R7   R2   R„   t   rootR6   R:   R�   (   R   R   t   updR‹   t   additional_depst   dt   v(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR§   @  s0    !		 c         C   s�   |  j  j } |  j } |  j j } | j | |  j j ƒ } | | ƒ t |  d d  ƒ } | rt | | j | | ƒ ƒ n  |  j j
 ƒ  S(   Nt   dep_vars(   R   R   Rƒ   RW   R›   t   hash_env_varsR6   R$   R   R   R�   (   R   R   Rƒ   R¿   t   act_sigRÃ   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR¨   Y  s    	
c   	      C   s'  |  j  j } |  j ƒ  } | j j | d f g  ƒ } | ry | |  j ƒ  k rR | SWnŸ t k
 rô x� | j j |  j ƒ  g  ƒ D]n } | j | j	 ƒ r y t
 j | j ƒ  ƒ Wqí t k
 ré y | j j | j =Wqê t k
 rå qê Xqí Xq q Wn X| j | d f =t j d ƒ ‚ n  |  j ƒ  \ } } t j rat j d t |  ƒ t | ƒ t | ƒ f ƒ n  | | j | <| | j | <|  j ƒ  y! |  j ƒ  | j | d f <} Wnv t k
 rt j r#xY | j j |  j ƒ  g  ƒ D]9 } y | j ƒ  WqÛt k
 rt j d | ƒ qÛXqÛWq#n X| Sd  S(   Nt   impt   rescans#   deps: scanner for %s returned %s %ss2   Missing signature for node %r (may cause rebuilds)(   R   R   RJ   RI   R>   t   compute_sig_implicit_depsRN   t	   node_depst   is_child_oft   srcnodeR·   R¸   Rœ   R¹   t   parentt   childrenR)   R2   R   R«   R©   R   R…   R¯   R8   t   raw_depst   are_implicit_nodes_readyR»   R†   (	   R   R   R´   t   prevR‹   t   nodest   namesR°   R3   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRª   d  sF    "	/
!	" c         C   se   |  j  j } |  j j } |  j ƒ  x3 | j j |  j ƒ  g  ƒ D] } | | j ƒ  ƒ q> W|  j  j	 ƒ  S(   N(
   RW   R›   R   R   RÏ   RÉ   R>   RJ   R»   R�   (   R   R¿   R   R3   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRÈ   ‰  s    
"c         C   s3  |  j  j } y | j } Wn t k
 r9 i  | _ } n Xy | | j } WnT t k
 r¡ i  } | | j <x3 | j D]$ } x | j D] } | | | <q† Wqv Wn Xt } xL | j	 j
 |  j ƒ  g  ƒ D]/ } | | k rÄ |  j j | | ƒ t } qÄ qÄ W| r/x/ |  j D]! } | j st j d ƒ ‚ qqWn  d  S(   Ns	   not ready(   R   R   t   dct_implicit_nodesR?   R_   R2   t	   cur_tasksRj   t   FalseRÉ   R>   RJ   R‘   R£   t   TrueR1   R   R®   (   R   R   t   cachet   dctt   tskR‹   t   modified(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRÏ   �  s*    "	c         C   s¥  t  |  d d  ƒ s d  S|  j ƒ  } t j |  j ƒ  ƒ t j | ƒ } t j j |  j	 j
 j | ƒ } y t j | ƒ j } Wn t k
 rŒ d  SXx{ |  j D]p } t j j | | j ƒ } y* t j | | j ƒ  ƒ t j | d  ƒ Wq— t t f k
 rt j d ƒ d  SXq— Wy t j | ƒ j } Wn t k
 r5d  SX| | k rFd  SxO |  j D]D } | | _ |  j	 j
 j d k  rP|  j	 j
 j d | j ƒ  ƒ qPqPWt |  _ t S(   NRj   s   task: failed retrieving filei   s   restoring from cache %r
(   R   R   R¬   R    t   to_hexRJ   R·   t   pathRh   R   R   R   R¸   t   st_mtimeR¹   Rj   R)   t   shutilt   copy2Rœ   t   utimet   IOErrorR   R¯   R°   Rd   RY   RÖ   t   cached(   R   R°   t   ssigt   dnamet   t1R¶   t   origt   t2(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   ¦  s:    "		$	c         C   sÄ  t  |  d d  ƒ r d  St  |  d d  ƒ s, d  S|  j ƒ  } t j |  j ƒ  ƒ t j | ƒ } t j j |  j	 j
 j | ƒ } t j d |  j	 j
 j t j d ƒ } y t j | ƒ Wn t k
 rÂ n XyF x? |  j D]4 } t j j | | j ƒ } t j | j ƒ  | ƒ qÐ WWn< t t f k
 rGy t j | ƒ WqÀt k
 rCqÀXny Xy t j | | ƒ Wn6 t k
 r”y t j | ƒ WqÀt k
 r�qÀXn, Xy t j | t j ƒ Wn t k
 r¿n Xd  S(   NRâ   Rj   t   prefixt   waf(   R   R   R¬   R    RÛ   RJ   R·   RÜ   Rh   R   R   R   t   tempfilet   mkdtempR—   RÞ   t   rmtreeRN   Rj   R)   Rß   Rœ   R¹   Rá   t   renamet   chmodt   O755(   R   R°   Rã   Rä   t   tmpdirR¶   t   dest(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   Ä  s@    "&N(   R   R.   R$   RÕ   R!   R   R;   R9   RJ   R    R¡   R¥   R¬   RD   R   R§   R¨   R   R©   Rª   RÈ   RÏ   R   R   (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR�   à   s(   												
	%			c         C   s~   t  j } x0 | | j ƒ D] } | | |  j ƒ k r d Sq W|  j j | | j ƒ k r[ d S| j j | |  j ƒ k rz d Sd S(   Ni   i    (   R    t   to_listRy   Rz   R6   R   Rx   Rw   (   Rå   Rç   Rò   R3   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt	   is_beforeç  s    	c         C   s  t  j t ƒ } t  j t ƒ } x† |  D]~ } xA t | d g  ƒ t | d g  ƒ D] } | t | ƒ j | ƒ qN Wx1 t | d g  ƒ D] } | t | ƒ j | ƒ q‚ Wq% Wt | j ƒ  ƒ j | j ƒ  ƒ } x7 | D]/ } x& | | D] } | j j	 | | ƒ qà WqÏ Wd  S(   NRi   R�   Rj   (
   R    t   defaultdictR#   R   R7   R£   t   keyst   intersectionR‘   R›   (   t   tasksRp   Rq   R‹   R”   t   linksR3   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   set_file_constraintsñ  s    )!c         C   s4  t  j t ƒ } x+ |  D]# } | j ƒ  } | | j | ƒ q Wt | j ƒ  ƒ } t | ƒ } xÒ t | ƒ D]Ä } | | | d } x© t | d | ƒ D]” } | | | d }	 t | |	 ƒ rÊ | }
 | } n! t |	 | ƒ r” | }
 | } n q” t	 | | |
 ƒ } x& | | | D] } | j
 j | ƒ qWq” Wqh Wd  S(   Ni    i   (   R    Rô   R"   R~   RL   Rõ   Rk   t   rangeRó   R#   R‘   R›   (   R÷   t   cstr_groupsR‹   R}   Rõ   t   maxit   iRå   t   jRç   R”   t   bt   aval(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   set_precedence_constraintsý  s(    		c         B   s   i  } |  | U| d S(   NR,   (    (   t   ct   dc(    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   funex  s    sM   (?P<backslash>\\)|(?P<dollar>\$\$)|(?P<subst>\$\{(?P<var>\w+)(?P<code>.*?)\})c   	         sí  g  ‰  ‡  f d †  } t  j | |  ƒ p* |  }  g  } g  } | j } xIˆ  D]A\ } } | d k r… | rx | d | ƒ qŠ| d ƒ qI | d k rµ | r¨ | d | ƒ qŠ| d ƒ qI | r`| j d ƒ rI| d	 } | d k ré d
 } nI | d k rþ d } n4 | d  d k r2| j | | d	 g ƒ d | } n  | d | | f ƒ qŠ| d | | f ƒ qI | | k r|| j | ƒ n  | d | ƒ qI W| rªd d j | ƒ } n d } t |  | f } t j d | j	 ƒ  j
 ƒ  ƒ t | ƒ | f S(   Nc            s\   |  j  } | d ƒ r d S| d ƒ r) d S| d ƒ rX ˆ  j | d ƒ | d ƒ f ƒ d Sd  S(	   Nt   dollart   $t	   backslashs   \\t   substt   vart   codes   %s(   t   groupRL   R   (   t   matcht   g(   t   extr(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   repl  s    	    t   SRCs   tsk.inputs%ss8   " ".join([a.path_from(bld.bldnode) for a in tsk.inputs])t   TGTs   tsk.outputs%ss9   " ".join([a.path_from(bld.bldnode) for a in tsk.outputs])t   :i   s.   [a.path_from(bld.bldnode) for a in tsk.inputs]s/   [a.path_from(bld.bldnode) for a in tsk.outputs]i   RÙ   t   genR   s   %rs   " ".join(tsk.colon(%r, %s))s   %s%ss   p('%s')s   %% (%s) s   ,
		R   s
   action: %s(   RÙ   R  R   (   t   reg_actt   subRL   t
   startswithR‡   Rh   t   COMPILE_TEMPLATE_SHELLR   R¯   t   stript
   splitlinesR  (	   t   lineR  t   parmR-   t   appR	  t   methRW   R  (    (   R  sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   compile_fun_shell  sH    	  
		  c            s\  g  ‰  ‡  f d †  } t  j | |  ƒ } | j d ƒ } ˆ  sB t ‚ g  } g  } | j } x”t t ˆ  ƒ ƒ D]€} | | j ƒ  | | <| | r© | d | | j ƒ  ƒ n  ˆ  | \ } }	 | d k ré |	 rÜ | d |	 ƒ qê| d ƒ qj | d k r|	 r| d |	 ƒ qê| d	 ƒ qj |	 rÀ|	 j d
 ƒ r©|	 d }
 |
 d k rMd }
 nE |
 d k rbd }
 n0 |
 d  d k r’| j	 | |
 g ƒ d |
 }
 n  | d | |
 f ƒ qê| d | |	 f ƒ qj | d | ƒ | | k rj | j | ƒ qj qj Wˆ  r| d r| d | d j ƒ  ƒ qn  t
 d j | ƒ } t j d | j ƒ  j ƒ  ƒ t | ƒ | f S(   Nc            sL   |  j  } | d ƒ r d S| d ƒ rH ˆ  j | d ƒ | d ƒ f ƒ d Sd  S(   NR  R  R  R	  R
  s   <<|@|>>(   R  RL   R   (   R  R  (   R  (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR  B  s    	   s   <<|@|>>s   lst.extend(%r)R  s   lst.append(tsk.inputs%s)s:   lst.extend([a.path_from(bld.bldnode) for a in tsk.inputs])R  s   lst.append(tsk.outputs%s)s;   lst.extend([a.path_from(bld.bldnode) for a in tsk.outputs])R  i   s.   [a.path_from(bld.bldnode) for a in tsk.inputs]s/   [a.path_from(bld.bldnode) for a in tsk.outputs]i   RÙ   R  R   s   %rs   lst.extend(tsk.colon(%r, %s))s   lst.extend(gen.to_list(%s%s))s   lst.extend(to_list(env[%r]))iÿÿÿÿs   
	s
   action: %s(   RÙ   R  R   (   R  R  t   splitR¢   RL   Rú   Rk   R  R  R‡   t   COMPILE_TEMPLATE_NOSHELLRh   R   R¯   R  R  (   R  R  t   line2t   paramst   bufR-   R  R‹   R	  R  RW   R5   (    (   R  sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   compile_fun_noshell@  sT    	
  
		 
c         C   sf   |  j  d ƒ d k s? |  j  d ƒ d k s? |  j  d ƒ d k rH t } n  | rX t |  ƒ St |  ƒ Sd  S(   Nt   <i    t   >s   &&(   t   findRÖ   R  R$  (   R  R!   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR    n  s
    ?	
R/   c
         C   s¾   i	 | p g  d 6| d 6|  d 6t  j | ƒ d 6t  j | ƒ d 6t  j | ƒ d 6t  j | ƒ d 6| d 6|	 d	 6}
 t | t ƒ r‹ | |
 d
 <n
 | |
 d <t t ƒ |  t f |
 ƒ } | t |  <| S(   NR$   Rb   R)   Ry   Rz   Rw   Rx   R!   R©   R   R
   (   R    Rò   R„   R8   t   typeR�   R(   (   R)   t   funcR$   Rb   Ry   Rz   Rw   Rx   R!   R©   R"  R   (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   task_factoryu  s    o

c            s%   |  j  ‰  ‡  f d †  } | |  _  |  S(   Nc            s%   ˆ  |  ƒ } | t  k r! t } n  | S(   N(   R±   RC   (   R   R   (   t   old(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   always�  s    	(   RD   (   R   R,  (    (   R+  sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt
   always_run  s    		c            sF   |  j  ‰  ‡  f d †  } | |  _  |  j ‰ ‡ f d †  } | |  _ |  S(   Nc            sY   ˆ  |  ƒ xH |  j  D]= } t j | j ƒ  ƒ | _ |  j ƒ  |  j j j | j ƒ  <q Wd  S(   N(	   Rj   R    t   h_fileRœ   R°   RJ   R   R   RI   (   R   R¶   (   t   old_post_run(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyR   Š  s    
c            sÎ   ˆ  |  ƒ } | t  k r | Syz |  j j } | j |  j ƒ  } | |  j ƒ  k r• x> |  j D]3 } | j s‰ | j | j ƒ  |  j ƒ  k rZ t  SqZ Wt	 SWn1 t
 k
 r© n! t k
 r¹ n t k
 rÉ n Xt  S(   N(   RC   R   R   RI   RJ   R¬   Rj   R°   Rœ   R±   R2   t
   IndexErrorR?   (   R   t   statusR   Rµ   R‹   (   t   old_runnable_status(    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyRD   ‘  s$    )(   R   RD   (   R   R   RD   (    (   R/  R2  sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   update_outputsˆ  s    				(*   R·   RÞ   t   reRê   t   waflibR    R   R   R0   R€   RT   RQ   t   SKIPPEDRV   R­   R±   RC   R  R   R   R(   R(  R   t   objectR   R   R�   Ró   Rù   R  R  t   compilet   MR  R  R$  RÕ   R    R   R*  R-  R3  (    (    (    sM   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Task.pyt   <module>   s<   0
	�ÿ 	
				(	.$
		