-í
ì¶<c       sv   d  Z  d Z d k Z d k Z d k Z d k Td k l Z d k l Z d k	 Td k
 l Z d e f d „  ƒ  YZ d S(	   sH   distutils.command.build_py

Implements the Distutils 'build_py' command.s9   $Id: build_py.py,v 1.34.6.1 2002/02/19 14:15:40 mwh Exp $N(   s   *(   s   glob(   s   Command(   s   convert_paths   build_pyc      sþ   t  Z d Z d d d f d d d f d e d	 f d
 d d f d d d f g Z d d g Z h  d 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 d  „  Z RS(!   Ns5   "build" pure Python modules (copy to build directory)s
   build-lib=s   ds   directory to "build" (copy) tos   compiles   cs   compile .py to .pycs
   no-compiles!   don't compile .py files [default]s	   optimize=s   Osl   also compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]s   forces   fs2   forcibly build everything (ignore file timestamps)c    sC   t  |  _ t  |  _ t  |  _ t  |  _ d |  _ d |  _ t  |  _ d  S(   Ni    (	   s   Nones   selfs	   build_libs
   py_moduless   packages   package_dirs   compiles   optimizes   force(   s   self(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   initialize_options$ s    						c    sæ   |  i d d d f d d f ƒ |  i i |  _ |  i i |  _ h  |  _ |  i i o: x3 |  i i i ƒ  D] \ } } t	 | ƒ |  i | <qf Wn t
 |  i ƒ t j	 o? y t |  i ƒ |  _ Wn" t t f j
 o t d ‚ n Xn d  S(   Ns   builds	   build_libs   forces   optimize must be 0, 1, or 2(   s   selfs   set_undefined_optionss   distributions   packagess
   py_moduless   package_dirs   itemss   names   paths   convert_paths   types   optimizes   IntTypes   ints
   ValueErrors   AssertionErrors   DistutilsOptionError(   s   selfs   names   path(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   finalize_options- s     			 c    s‚   |  i o |  i o d  Sn |  i o |  i o t d d ‚ n |  i o |  i ƒ  n |  i ƒ  |  i |  i d d ƒ ƒ d  S(   Ns5   build_py: supplying both 'packages' and 'py_modules' s   options is not alloweds   include_bytecodei    (   s   selfs
   py_moduless   packagess   DistutilsOptionErrors   build_moduless   build_packagess   byte_compiles   get_outputs(   s   self(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   runD s    

c    s"  t  i | d ƒ } |  i o& | o t t i i | ƒ Sn d SnÜ g  } xÒ | ou y |  i t  i | d ƒ } Wn. t j
 o" | i d | d ƒ | d =n% X| i d | ƒ t t i i | ƒ SqL W|  i i d ƒ } | t j	 o | i d | ƒ n | o t t i i | ƒ Sn d Sd S(   s½   Return the directory, relative to the top of the source
           distribution, where package 'package' should be found
           (at least according to the 'package_dir' option, if any).s   .s    i    iÿÿÿÿN(   s   strings   splits   packages   paths   selfs   package_dirs   applys   oss   joins   tails   pdirs   KeyErrors   inserts   gets   None(   s   selfs   packages   tails   paths   pdir(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   get_package_dirs s,      	c    s·   | d j oR t i i | ƒ o t d | ‚ n t i i | ƒ o t d d | ‚ n n | oI t i i | d ƒ } t i i	 | ƒ o | Sn |  i d d | ƒ n d  Sd  S(   Ns    s%   package directory '%s' does not exists(   supposed package directory '%s' exists, s   but is not a directorys   __init__.pys!   package init file '%s' not found s   (or not a regular file)(   s   package_dirs   oss   paths   existss   DistutilsFileErrors   isdirs   packages   joins   init_pys   isfiles   selfs   warn(   s   selfs   packages   package_dirs   init_py(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   check_packagež s    c    s;   t  i i | ƒ o |  i d | | f ƒ d Sn d Sd  S(   Ns!   file %s (for module %s) not foundi    i   (   s   oss   paths   isfiles   module_files   selfs   warns   module(   s   selfs   modules   module_file(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   check_module½ s    c 	   sÎ   |  i | | ƒ t t i i | d ƒ ƒ } g  } t i i
 |  i i ƒ } xz | D]r } t i i
 | ƒ } | | j o< t i i t i i | ƒ ƒ d } | i | | | f ƒ n |  i d | ƒ qP W| Sd  S(   Ns   *.pyi    s   excluding %s(   s   selfs   check_packages   packages   package_dirs   globs   oss   paths   joins   module_filess   moduless   abspaths   distributions   script_names   setup_scripts   fs   abs_fs   splitexts   basenames   modules   appends   debug_print(	   s   selfs   packages   package_dirs   fs   moduless   setup_scripts   module_filess   modules   abs_f(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   find_package_modulesÈ s     "c    s5  h  }	 g  } x|  i D]} t i | d ƒ } t i | d d !d ƒ } | d } y |	 | \ }
 } Wn( t j
 o |  i | ƒ }
 d } n X| oG |  i | |
 ƒ } |
 d f |	 | <| o | i | d | f ƒ n n t i i |
 | d ƒ } |  i | | ƒ o q n | i | | | f ƒ q W| Sd S(   sÈ  Finds individually-specified Python modules, ie. those listed by
        module name in 'self.py_modules'.  Returns a list of tuples (package,
        module_base, filename): 'package' is a tuple of the path through
        package-space to the module; 'module_base' is the bare (no
        packages, no dots) module name, and 'filename' is the path to the
        ".py" file (relative to the distribution root) that implements the
        module.
        s   .i    iÿÿÿÿi   s   __init__s   .pyN(   s   packagess   moduless   selfs
   py_moduless   modules   strings   splits   paths   joins   packages   module_bases   package_dirs   checkeds   KeyErrors   get_package_dirs   check_packages   init_pys   appends   oss   module_files   check_module(   s   selfs   checkeds   packages   init_pys   moduless   modules   module_bases   paths   module_files   packagess   package_dir(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   find_modulesØ s.     
 
c    sj   |  i o |  i ƒ  } nI g  } x? |  i D]4 } |  i | ƒ } |  i | | ƒ } | i
 | ƒ q* W| Sd S(   s4  Compute the list of all modules that will be built, whether
        they are specified one-module-at-a-time ('self.py_modules') or
        by whole packages ('self.packages').  Return a list of tuples
        (package, module, module_file), just like 'find_modules()' and
        'find_package_modules()' do.N(   s   selfs
   py_moduless   find_moduless   moduless   packagess   packages   get_package_dirs   package_dirs   find_package_moduless   ms   extend(   s   selfs   ms   package_dirs   moduless   package(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   find_all_moduless     

 c    s<   |  i ƒ  } g  } x | D] } | i | d ƒ q W| Sd  S(   Niÿÿÿÿ(   s   selfs   find_all_moduless   moduless	   filenamess   modules   append(   s   selfs   moduless   modules	   filenames(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   get_source_files&s     c    s5   | g t | ƒ | d g } t t i i | ƒ Sd  S(   Ns   .py(	   s	   build_dirs   lists   packages   modules   outfile_paths   applys   oss   paths   join(   s   selfs	   build_dirs   packages   modules   outfile_path(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   get_module_outfile0s    i   c    sº   |  i ƒ  } g  } x | D]• \ } } } t i | d ƒ } |  i	 |  i
 | | ƒ } | i | ƒ | oH |  i o | i | d ƒ n |  i d j o | i | d ƒ n n q W| Sd  S(   Ns   .s   ci    s   o(   s   selfs   find_all_moduless   moduless   outputss   packages   modules   module_files   strings   splits   get_module_outfiles	   build_libs   filenames   appends   include_bytecodes   compiles   optimize(   s   selfs   include_bytecodes   packages   outputss   moduless   module_files   modules   filename(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   get_outputs5s     
c    s    t  | ƒ t j o t i | d ƒ } n' t  | ƒ t t f j o t d ‚ n |  i	 |  i
 | | ƒ } t i i | ƒ } |  i | ƒ |  i | | d d ƒSd  S(   Ns   .s:   'package' must be a string (dot-separated), list, or tuples   preserve_modei    (   s   types   packages
   StringTypes   strings   splits   ListTypes	   TupleTypes	   TypeErrors   selfs   get_module_outfiles	   build_libs   modules   outfiles   oss   paths   dirnames   dirs   mkpaths	   copy_files   module_file(   s   selfs   modules   module_files   packages   outfiles   dir(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   build_moduleEs    c    s=   |  i ƒ  } x* | D]" \ } } } |  i | | | ƒ q Wd  S(   N(   s   selfs   find_moduless   moduless   packages   modules   module_files   build_module(   s   selfs   moduless   module_files   modules   package(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   build_modulesUs     c    sf   x_ |  i D]T } |  i | ƒ } |  i | | ƒ } x* | D]" \ } } } |  i
 | | | ƒ q8 Wq
 Wd  S(   N(   s   selfs   packagess   packages   get_package_dirs   package_dirs   find_package_moduless   moduless   package_s   modules   module_files   build_module(   s   selfs   package_s   packages   moduless   module_files   modules   package_dir(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   build_packagescs    
   c    sÆ   d k  l } |  i } | d t i j o | t i } n |  i o5 | | d d d |  i	 d | d |  i
 d |  i ƒn |  i d j o8 | | d |  i d |  i	 d | d |  i
 d |  i ƒn d  S(	   N(   s   byte_compileiÿÿÿÿs   optimizei    s   forces   prefixs   verboses   dry_run(   s   distutils.utils   byte_compiles   selfs	   build_libs   prefixs   oss   seps   compiles   filess   forces   verboses   dry_runs   optimize(   s   selfs   filess   byte_compiles   prefix(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   byte_compile|s    	
		(   s   __name__s
   __module__s   descriptions   Nones   user_optionss   boolean_optionss   negative_opts   initialize_optionss   finalize_optionss   runs   get_package_dirs   check_packages   check_modules   find_package_moduless   find_moduless   find_all_moduless   get_source_filess   get_module_outfiles   get_outputss   build_modules   build_moduless   build_packagess   byte_compile(    (    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   build_py s(   B
				/	+				9		
				(   s   __doc__s   __revision__s   syss   strings   oss   typess   globs   distutils.cores   Commands   distutils.errorss   distutils.utils   convert_paths   build_py(   s   syss   convert_paths   __revision__s   Commands   strings   build_pys   globs   os(    (    s0   /usr/lib/python2.2/distutils/command/build_py.pys   ? s   