ó
è¾bc           @   sw   d  Z  d Z d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 d „  Z
 d e f d	 „  ƒ  YZ d S(
   sB   distutils.command.build

Implements the Distutils 'build' command.s   $Id$iÿÿÿÿN(   t   get_platform(   t   Command(   t   DistutilsOptionErrorc          C   s   d d l  m }  |  ƒ  d  S(   Niÿÿÿÿ(   t   show_compilers(   t   distutils.ccompilerR   (   R   (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR      s    t   buildc           B   sÜ   e  Z d  Z d, d. d/ d d- d	 d
 f d0 d1 d d d e ƒ  f d2 d3 d4 d5 g Z d d g Z d d- d  e f g Z d! „  Z	 d" „  Z
 d# „  Z d$ „  Z d% „  Z d& „  Z d' „  Z d( e f d) e f d* e f d+ e f g Z RS(6   s"   build everything needed to installs   build-base=t   bs    base directory for build librarys   build-purelib=s2   build directory for platform-neutral distributionss   build-platlib=s3   build directory for platform-specific distributionss
   build-lib=s9   build directory for all distribution (defaults to either s   build-purelib or build-platlibs   build-scripts=s   build directory for scriptss   build-temp=t   ts   temporary build directorys
   plat-name=t   ps6   platform name to build for, if supported (default: %s)s	   compiler=t   cs   specify the compiler typet   debugt   gs;   compile extensions and libraries with debugging informationt   forcet   fs2   forcibly build everything (ignore file timestamps)s   executable=t   es5   specify final destination interpreter path (build.py)s   help-compilers   list available compilersc         C   sg   d |  _  d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _	 d |  _
 d  |  _ d  S(   NR   i    (   t
   build_baset   Nonet   build_purelibt   build_platlibt	   build_libt
   build_tempt   build_scriptst   compilert	   plat_nameR
   R   t
   executable(   t   self(    (    s-   /usr/lib/python2.7/distutils/command/build.pyt   initialize_options7   s    										c         C   s³  |  j  d  k r t ƒ  |  _  n t j d k r< t d ƒ ‚ n  d |  j  t j d d !f } t t d ƒ ru | d 7} n  |  j	 d  k r¦ t j
 j |  j d | ƒ |  _	 n  |  j d  k r× t j
 j |  j d | ƒ |  _ n  |  j d  k r|  j j r|  j |  _ q|  j	 |  _ n  |  j d  k rAt j
 j |  j d	 | ƒ |  _ n  |  j d  k r|t j
 j |  j d
 t j d d !ƒ |  _ n  |  j d  k r¯t j r¯t j
 j t j ƒ |  _ n  d  S(   Nt   ntsW   --plat-name only supported on Windows (try using './configure --help' on your platform)s   .%s-%si    i   t   gettotalrefcounts   -pydebugt   libt   temps   scripts-(   R   R   R    t   ost   nameR   t   syst   versiont   hasattrR   t   patht   joinR   R   R   t   distributiont   ext_modulesR   R   R   t   normpath(   R   t   plat_specifier(    (    s-   /usr/lib/python2.7/distutils/command/build.pyt   finalize_optionsF   s4    c         C   s(   x! |  j  ƒ  D] } |  j | ƒ q Wd  S(   N(   t   get_sub_commandst   run_command(   R   t   cmd_name(    (    s-   /usr/lib/python2.7/distutils/command/build.pyt   runy   s    c         C   s   |  j  j ƒ  S(   N(   R&   t   has_pure_modules(   R   (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR/   „   s    c         C   s   |  j  j ƒ  S(   N(   R&   t   has_c_libraries(   R   (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR0   ‡   s    c         C   s   |  j  j ƒ  S(   N(   R&   t   has_ext_modules(   R   (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR1   Š   s    c         C   s   |  j  j ƒ  S(   N(   R&   t   has_scripts(   R   (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR2      s    t   build_pyt
   build_clibt	   build_extR   (   s   build-base=R   s    base directory for build libraryN(   s   build-purelib=Ns2   build directory for platform-neutral distributions(   s   build-platlib=Ns3   build directory for platform-specific distributions(   s   build-scripts=Ns   build directory for scripts(   s   build-temp=R   s   temporary build directory(   s	   compiler=R	   s   specify the compiler type(   R
   R   s;   compile extensions and libraries with debugging information(   R   R   s2   forcibly build everything (ignore file timestamps)(   s   executable=R   s5   specify final destination interpreter path (build.py)(   t   __name__t
   __module__t   descriptionR   R    t   user_optionst   boolean_optionsR   t   help_optionsR   R*   R.   R/   R0   R1   R2   t   sub_commands(    (    (    s-   /usr/lib/python2.7/distutils/command/build.pyR      sN        
    			3								(   t   __doc__t   __revision__R!   R   t   distutils.utilR    t   distutils.coreR   t   distutils.errorsR   R   R   (    (    (    s-   /usr/lib/python2.7/distutils/command/build.pyt   <module>   s   	