ó
gÊù]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 d j	 ƒ  Z
 i  a g  a e  j j d d e j ƒ Z y e  j j e  j d ƒ Z Wn e k
 rÂ d Z n Xe j ƒ  Z d e j f d	 „  ƒ  YZ d
 e j f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   Logst   Utilst   ContextsF   distclean configure build install clean uninstall check dist distcheckt   WAFLOCKs   .lock-waf_%s_buildt   WAFCACHEt    t
   opt_parserc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sp  t  j j |  d d d d t j t j f ƒt j ƒ  |  j _	 |  j
 } | |  _ | j ƒ  } | d d d d d	 | d
 d d d | ƒ| d d d d d	 d d d d d ƒ| d d d d d	 d d d d d ƒ| d d d d	 t d d d d ƒ| d d d d	 d d d  d d! ƒt  j |  d" ƒ } |  j | ƒ | j
 d# d$ d d  d	 d d d% d d& ƒ| j
 d' d( d d  d	 d d d) d d* ƒt j j d+ ƒ } | sÖt d, k rÍt j ƒ  } | d j ƒ  | d- } qÖd. } n  | j
 d/ d d0 d	 | d d1 | ƒ| j
 d2 d d3 d	 t d d d d4 ƒt  j |  d5 ƒ } |  j | ƒ | j
 d6 d7 d d8 d	 d d d d d9 ƒ| j
 d: d d; d	 d d d  d d< ƒt  j |  d= ƒ } |  j | ƒ | j
 d> d d? d	 d d d  d d@ ƒt j j dA d ƒ } t  j |  dB ƒ } |  j | ƒ | j
 dC d dD | d	 | d dE ƒ| j
 dF dG d dH d	 t d d d dI ƒ| j
 dJ d dK d	 d  d d  ƒd  S(L   Nt   conflict_handlert   resolvet   versions   waf %s (%s)s   -js   --jobst   destt   jobst   defaultt   typet   intt   helps   amount of parallel jobs (%r)s   -ks   --keept   keepi    t   actiont   counts-   keep running happily even if errors are founds   -vs	   --verboset   verboses+   verbosity level -v -vv or -vvv [default: 0]s	   --nocachet   nocachet
   store_trues   ignore the WAFCACHE (if set)s   --zonest   zonesR   t   stores,   debugging zones (task_gen, deps, tasks, etc)s   configure optionss   -os   --outs   build dir for the projectt   outs   -ts   --tops   src dir for the projectt   topt   PREFIXt   win32i   s   /usr/local/s   --prefixt   prefixs!   installation prefix [default: %r]s
   --downloadt   downloads$   try to download the tools if missings   build and install optionss   -ps
   --progresst   progress_bars!   -p: progress bar; -pp: ide outputs	   --targetst   targetss'   task generators, e.g. "target1,target2"s   step optionss   --filest   filess:   files to process, by regexp, e.g. "*/main.c,*/test/main.o"t   DESTDIRs   install/uninstall optionss	   --destdirs   installation root [default: %r]t   destdirs   -fs   --forcet   forces   force file installations   --distcheck-argss   arguments to pass to distcheck(   t   optparset   OptionParsert   __init__R   t
   WAFVERSIONt   WAFREVISIONR    t   get_term_colst	   formattert   widtht
   add_optiont   ctxR   t   Falset   OptionGroupt   add_option_groupt   ost   environt   gett   platformt   tempfilet
   gettempdirt   uppert   None(   t   selfR-   t   pR   t   grt   default_prefixt   dt   default_destdir(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR&      sF    ,		)%%""((	#%(%%#(c   	      C   sb  i  } xL t  j D]A } | j s | j d k r5 q n  | j pA d } | | | j <q Wt  j rÝ x| t  j j j ƒ  D]e \ } } | d
 k r� qq n  t | ƒ t t  j ƒ k rq | j rÖ | j	 d ƒ rÖ | j | | <qÖ qq qq Wn  d } x# | D] } t
 | t | ƒ ƒ } qê Wg  | j ƒ  D]% \ } } d | j | ƒ | f ^ q} | j ƒ  d j | ƒ } d	 | S(   Nt   optionsR   t   initt   shutdownt   _i    s     %s: %ss   
sF   waf [commands] [options]

Main commands (example: ./waf build -j4)
%s
(   R?   R@   RA   (   R   t   classest   cmdt   __doc__t   g_modulet   __dict__t   itemsR   t   create_contextt
   startswitht   maxt   lent   ljustt   sortt   join(	   R9   t   cmds_strt   clst   st   kt   vt   justt   lstt   ret(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyt	   get_usage4   s(    	8
(   t   __name__t
   __module__R&   RX   (    (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR      s   	%t   OptionsContextc           B   sV   e  Z d  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z
 d „  Z RS(	   R?   c         K   s2   t  t |  ƒ j | �  t |  ƒ |  _ i  |  _ d  S(   N(   t   superR[   R&   R   t   parsert   option_groups(   R9   t   kw(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR&   P   s    c         C   sU  t  t j j d d ƒ ƒ } | d k  r'd t j k rT t  t j j d d ƒ ƒ } q't t d ƒ r´ d t j k rŠ t  t j d ƒ ƒ } q´ d t j k r´ t  t j d ƒ ƒ } q´ n  | r't j d k r'y" |  j d
 d d g d d ƒ} Wn t	 k
 rÿ q$Xt
 j d | ƒ r$t  | ƒ } q$q'n  | d k  r<d } n | d k rQd } n  | S(   Nt   JOBSi    i   t   NUMBER_OF_PROCESSORSt   sysconf_namest   SC_NPROCESSORS_ONLNt   SC_NPROCESSORS_CONFt   ntt   javat   sysctls   -ns   hw.ncput   quiets   ^[0-9]+$i   (   Re   Rf   (   R   R1   R2   R3   t   hasattrRb   t   sysconft   namet   cmd_and_logt	   Exceptiont   ret   match(   R9   R   t   tmp(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR   T   s*    "		c         O   s   |  j  j | | Ž  S(   N(   R]   R,   (   R9   RS   R_   (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR,   l   s    c         O   sS   y |  j  | d } Wn& t k
 r= |  j j | | Ž  } n X| |  j  | d <| S(   Ni    (   R^   t   KeyErrorR]   R0   (   R9   RS   R_   R;   (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR0   n   s    c         C   sR   y |  j  | SWn< t k
 rM x' |  j j  D] } | j | k r, | Sq, Wd  SXd  S(   N(   R^   Rq   R]   t   titleR8   (   R9   t   opt_strt   group(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyt   get_option_groupu   s    c         C   st   |  j  j d | ƒ \ a } | a t j rQ t j j t j j t j ƒ ƒ t _ n  t j	 d k rp |  j
 d ƒ n  d  S(   Nt   argsi   t   errcheck(   R]   t
   parse_argsR?   t   commandsR"   R1   t   patht   abspatht
   expanduserR   t   load(   R9   t   _argst   leftover_args(    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyRx   }   s    	'c         C   s!   t  t |  ƒ j ƒ  |  j ƒ  d  S(   N(   R\   R[   t   executeRx   (   R9   (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR€   …   s    N(   RY   RZ   RD   t   funR&   R   R,   R0   Ru   R8   Rx   R€   (    (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyR[   M   s   					(   R1   R5   R$   t   sysRn   t   waflibR    R   R   t   splitt   cmdsR?   Ry   R2   R3   R4   t   lockfileRz   R{   t   cache_globalRq   t   unversioned_sys_platformR%   R   R[   (    (    (    sP   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Options.pyt   <module>   s   <  
?