-í
–‚É<c       s„     d  Z    d Z 	 d k Z d k Z d k Z 
 d k T d k l Z  d k l Z  d k	 T d e f d „  ƒ  YZ
 d S(   sH   distutils.command.build_py

Implements the Distutils 'build_py' command.s8   $Id: build_py.py,v 1.34 2001/12/06 20:59:17 fdrake Exp $N(   s   *(   s   glob(   s   Commands   build_pyc      s7    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 o d „  Z š d „  Z	 ¹ d „  Z
 Ä d „  Z Ô d „  Z d „  Z "d „  Z ,d „  Z 1d d „ Z Ad „  Z Qd „  Z _d „  Z x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    s[   # $ 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   initialize_options# s   c    sû   , - |  i d . d d f / d d f ƒ 3 |  i i |  _ 4 |  i i |  _ 5 |  i i |  _ 9 t |  i ƒ t j	 o} : yK ; t	 |  i ƒ |  _ < t
 o( d |  i j o
 d j n p t ‚ Wn( = t t f j
 o > t d ‚ n Xn d  S(   Ns   builds	   build_libs   forcei    i   s   optimize must be 0, 1, or 2(   s   selfs   set_undefined_optionss   distributions   packagess
   py_moduless   package_dirs   types   optimizes   IntTypes   ints	   __debug__s   AssertionErrors
   ValueErrors   DistutilsOptionError(   s   self(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   finalize_options, s   6c    s   @ ] |  i o |  i o ^ d  Sn _ |  i o |  i o ` t d d ‚ n e |  i o f |  i ƒ  n h |  i ƒ  j |  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   run@ s   c    sg  o r t t  i | d ƒ } v |  i o/ w | o x t t i i | ƒ Sn z d Sn| g  } } xü } | oŠ ~ y   |  i t  i | d ƒ } Wn7 € t j
 o(  | i d | d ƒ ‚ | d =n+ X„ | i d | ƒ … t t i i | ƒ Sqg 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   get_package_diro s,   
	 
 	
c    sÛ   š   | d j o^ ¡ t i i | ƒ o ¢ t d | ‚ n ¤ t i i | ƒ o ¥ t d d | ‚ n n ª | oU « 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   check_packageš s   
c    sJ   ¹ º 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(    (    s:   /usr/local/twc/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 ƒ } Ê xŒ | DÊ ] } Ë t i i
 | ƒ } Ì | | j oB Í t i i t i i | ƒ ƒ d } Î | i | | | f ƒ n Ð |  i d | ƒ qb 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   find_package_modulesÄ s   	
 	%c    s}  Ô Ü ä h  }	 ç g  } î xT|  i Dî ]F} ï t i | d ƒ } ð t i | d d !d ƒ } ñ | d } ó y ô |	 | \ }
 } Wn1 õ t j
 o" ö |  i | ƒ }
 ÷ d } n Xù | oS ú |  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   find_modulesÔ s.   		 	
!
c    s‹   |  i o |  i ƒ  } n[ g  } xK |  i D]= } |  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   find_all_moduless   	 	c    sQ   "$|  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   get_source_files"s   	
 	c    s>   ,-| 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   get_module_outfile,s   !i   c    sä   12|  i ƒ  } 3g  } 4x¸ | D4]­ \ } } } 5t i | d ƒ } 6|  i	 |  i
 | | ƒ } 7| i | ƒ 8| oT 9|  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   get_outputs1s   	
 
 c    s»   ABt  | ƒ t j o Ct i | d ƒ } n- Dt  | ƒ t t f j o Et d ‚ n K|  i	 |  i
 | | ƒ } Lt i i | ƒ } M|  i | ƒ N|  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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   build_moduleAs   c    sL   QS|  i ƒ  } Tx0 | DT]% \ } } } Z|  i | | | ƒ q Wd  S(   N(   s   selfs   find_moduless   moduless   packages   modules   module_files   build_module(   s   selfs   moduless   module_files   modules   package(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   build_modulesQs   
 c    sœ   _ax |  i Da] } l|  i | ƒ } m|  i | | ƒ } qxN | Dq]C \ } } } rt
 o | | j p t ‚ s|  i | | | ƒ qJ Wq Wd  S(   N(   s   selfs   packagess   packages   get_package_dirs   package_dirs   find_package_moduless   moduless   package_s   modules   module_files	   __debug__s   AssertionErrors   build_module(   s   selfs   package_s   packages   moduless   module_files   modules   package_dir(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   build_packages_s    	
 c    só   xyd k  l } z|  i } {| d t i j o || t i } n ‚|  i oA ƒ| | d d „d |  i	 …d | †d |  i
 d |  i ƒn ‡|  i d j oD ˆ| | 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(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   byte_compilexs   		(   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(    (    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   build_py s(   	E
	/+9
(   s   __doc__s   __revision__s   syss   strings   oss   typess   globs   distutils.cores   Commands   distutils.errorss   build_py(   s   syss   __revision__s   Commands   strings   build_pys   globs   os(    (    s:   /usr/local/twc/lib/python2.2/distutils/command/build_py.pys   ? s   	

