ó
–<4Ic           @   sÑ   d  d l  Z  d  d l Z 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 d  d l	 Td e j
 f d „  ƒ  YZ e a d „  Z g  d d „ Z d e f d	 „  ƒ  YZ d
 „  Z d „  Z d S(   iÿÿÿÿN(   t   warn(   t   *t   ConfigurationErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyR      s   c         C   sd   t  | ƒ t j k r$ | j ƒ  } n | } x3 | D]+ } t j j t j j | |  ƒ ƒ r1 | Sq1 Wd S(   Nt    (   t   typet   typest
   StringTypet   splitt   ost   patht   existst   join(   t   filenamet	   path_listt   lstt	   directory(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt	   find_file   s    !c         C   s2  y | j  ƒ  } Wn t k
 r# n X| rb | t j k rM t j | |  | <n  |  | rb |  | Sn  | s„ t j d j  t j ƒ } n  t j d k r™ d pœ d } xŒ g  | j  d ƒ D] } | | ^ q² D]d } x[ | D]S } t j j | | ƒ } t j j	 | ƒ rÓ t
 j | ƒ } | r"| |  | <n  | SqÓ WqÆ Wd S(   Nt   PATHt   win32s   .exe,.com,.bat,.cmdR   t   ,(   R	   t   AttributeErrorR
   t   environt   pathsept   Optionst   platformR   R   t   isfilet   Utilst   quote_whitespace(   t   envR   R   t   vart   extt   xt   yR   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   find_program_impl   s*       
  - t   ConfigurationContextc           B   sà   e  Z i  Z g  Z d d  d  d „ Z d „  Z d „  Z d d d „ Z d „  Z	 d  d „ Z
 d „  Z d d „ Z d	 „  Z d d
 „ Z d „  Z d d „ Z d  d „ Z d  d d „ Z g  d d „ Z d „  Z d „  Z d „  Z RS(   R   c         C   sð   d  |  _ d |  _ d |  _ | |  _ | |  _ t j j | t	 ƒ |  _
 i  |  _ i  |  _ t j ƒ  |  _ g  |  _ |  j t ƒ d |  _ d |  _ g  |  _ t j j |  j t ƒ } y t j | ƒ Wn t t f k
 rÙ n Xt | d ƒ |  _ d  S(   NR   i(   i    t   wb(   t   NoneR   t   envnamet	   line_justt   blddirt   srcdirR
   R   R   t	   CACHE_DIRt   cachedirt   all_envst   definest   getcwdt   cwdt   toolst   setenvt   DEFAULTt   lastprogt   hasht   filest   WAF_CONFIG_LOGt   unlinkt   OSErrort   IOErrort   opent   log(   t   selfR   R)   R*   R   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   __init__'   s(    											  c         C   s,   t  |  d ƒ r( |  j r( |  j j ƒ  n  d  S(   NR<   (   t   hasattrR<   t   close(   R=   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   __del__:   s    c         C   s   t  | ƒ ‚ d  S(   N(   R   (   R=   t   msg(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   fatal=   s    c         C   s  t  j | ƒ } | r' t  j | ƒ } n  xß | D]× } y t j | | ƒ \ } } } Wn" t k
 rw |  j d | ƒ n Xt j | | | | ƒ }	 t |	 d d  ƒ }
 |
 rà t	 |
 ƒ t
 j k rÊ |
 |  ƒ qà |  j | pÙ |
 ƒ n  |  j j i | d 6| d 6| d 6ƒ q. Wd  S(   Ns   no tool named '%s' found.t   detectt   toolt   tooldirt   funs(   R   t   to_listt   impt   find_modulet   ImportErrorRC   t   load_modulet   getattrR&   R   R   t   FunctionTypet
   eval_rulesR1   t   append(   R=   t   inputRF   RG   R1   RE   t   filet   namet   desct   modulet   func(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt
   check_tool?   s      c         C   sÊ   |  j  } t j j |  j  | ƒ |  _  t j j |  j  t ƒ } t j | ƒ } t | d ƒ sn |  j d | ƒ n  | j	 |  ƒ } t
 r½ t j |  j | j	 ƒ |  _ |  j j t j j | ƒ ƒ n  | |  _  | S(   Nt	   configuresM   the module %s has no configure function; make sure such a function is defined(   R0   R
   R   R   t   WSCRIPT_FILER   RL   R?   RC   RX   t
   autoconfigt   hash_function_with_globalsR5   R6   RP   t   abspath(   R=   t   dirt   currentt   curt   modt   ret(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt
   sub_configM   s    		c         C   sâ   t  j j |  j ƒ s( t  j |  j ƒ n  | sR t t  j j |  j d ƒ d ƒ } n  | j d t ƒ | j d |  j	 ƒ | j
 ƒ  |  j sš |  j d ƒ n  xA |  j D]6 } |  j | } | j t  j j |  j | t ƒ ƒ q¤ Wd  S(   Ns   build.config.pyt   ws   version = 0x%x
s   tools = %r
s.   nothing to store in the configuration context!(   R
   R   t   isdirR,   t   makedirsR;   R   t   writet
   HEXVERSIONR1   R@   R-   RC   t   storet   CACHE_SUFFIX(   R=   RR   t   keyt   tmpenv(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyRh   [   s    $
	c         C   s   | |  j  | <| S(   N(   R-   (   R=   RS   R   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   set_env_nameh   s    c         C   sY   y |  j  | } Wn* t k
 r= t j ƒ  } | |  j  | <n X| rU t d | ƒ n  | S(   Ns3   The environment %s may have been configured already(   R-   t   KeyErrort   EnvironmentR    (   R=   RS   t   fromenvR   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   retrievek   s     c         C   s   |  j  | ƒ |  _ | |  _ d  S(   N(   Rp   R   R'   (   R=   RS   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyR2   t   s    c         C   s?   | s | } n  y t  j | |  j | <Wn t k
 r: n Xd  S(   N(   R
   R   R   Rm   (   R=   R   t   dest(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   add_os_flagsw   s     	  c         C   sG   t  |  j t | ƒ ƒ |  _ |  j j | d ƒ d | j |  j ƒ Gd  S(   Ns   

s   %s :(   t   maxR(   t   lenR<   Rf   t   ljust(   R=   t   sr(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   check_message_1{   s    t   GREENc         C   s   t  j | | ƒ d  S(   N(   R   t   pprint(   R=   Rv   t   color(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   check_message_2   s    c         C   sN   d | | f } |  j  | ƒ |  j } | r= | d | ƒ n | d d ƒ d  S(   Ns   Checking for %s %ss   ok s	   not foundt   YELLOW(   Rw   R{   (   R=   t   thRB   t   statet   optionRv   t   p(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   check_message   s    	 t   PINKc         C   s1   d | | f } |  j  | ƒ |  j | | ƒ d  S(   Ns   Checking for %s %s(   Rw   R{   (   R=   R}   RB   t   customR   Rz   Rv   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   check_message_custom‡   s    c         C   s2   t  |  j | | | ƒ } |  j d | | | ƒ | S(   Nt   program(   R#   R   R   (   R=   R   R   R   Ra   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   find_program‹   s    c            s¬   ˆ j  j j | d  ƒ } | r" | S| r— | j d ƒ r— x] d d g D]L } | j d | ƒ } ˆ j  j j | d  ƒ ‰  ˆ  rD ‡ ‡  f d †  } | SqD Wn  ˆ j d | ƒ d  S(   Nt   require_t   check_t   find_c             s,   ˆ ˆ  |  | Ž } | s( ˆ  j  d ƒ n  | S(   Ns   requirement failure(   RC   (   t   kt   kwt   r(   R=   Ra   (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   run—   s    s   No such method %r(   t	   __class__t   __dict__t   getR&   t
   startswitht   replaceRC   (   R=   RS   RŒ   RŠ   t   nR   (    (   Ra   R=   sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   __getattr__   s     c         C   s‘   t  j | ƒ |  _ xx |  j D]m } t |  | ƒ } y | ƒ  Wq t k
 rˆ } |  j | | ƒ } | t k rp Pq‰ | t k r‚ q q‰ ‚  q Xq Wd  S(   N(   R   RH   t   rulesRM   t	   Exceptiont   err_handlert   BREAKt   CONTINUE(   R=   R•   R!   t   ft   eRa   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyRO   ž   s    c         C   s   d  S(   N(    (   R=   t   funt   error(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyR—   ¬   s    N(   R   R   t   testst   error_handlersR&   R>   RA   RC   RW   Rb   Rh   Rl   Rp   R2   Rr   Rw   R{   R   R„   R†   R”   RO   R—   (    (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyR$   $   s(   									c         C   s   t  t |  j |  ƒ |  S(   N(   t   setattrR$   R   (   Rš   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   conf®   s    c         C   s   |  t  j |  j <t |  ƒ S(   N(   R$   Rž   R   R¡   (   Rš   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   conftest±   s    (   R
   R   RI   t   cPickleRn   R   R   t   LogsR    t	   Constantst   WscriptErrorR   t   FalseRZ   R   R&   R#   t   objectR$   R¡   R¢   (    (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Configure.pyt   <module>   s   0$
		Š	