£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

f  c               @   sD  d  Z  d d l Z d d l Z d d l Z d d l m Z d d l Td d l m Z m	 Z	 d d l m
 Z
 d d l m Z d d l m Z d d	 l m Z d d
 l m Z e j d k  r d Z d Z n d d l m Z d Z e j d k rd d l m Z e e    Z n  e j d  Z  d d   Z! Gd d   d e  Z" d S(   u   distutils.command.build_ext

Implements the Distutils 'build_ext' command, for building extension
modules (currently limited to C extensions, should accommodate C++
extensions ASAP).i    N(   u   Command(   u   *(   u   customize_compileru   get_python_version(   u   get_config_h_filename(   u   newer_group(   u	   Extension(   u   get_platform(   u   logu   2.6(   u	   USER_BASEu   nt(   u   get_build_versionu3   ^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c              C   s   d d l  m }  |    d  S(   Ni    (   u   show_compilers(   u   distutils.ccompileru   show_compilers(   u   show_compilers(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   show_compilers#   s    u   show_compilersc             B   s  |  Ee  Z d  Z d Z d e j Z dW dX d	 d
 d e   f d d d d f d d d e f dY dZ d[ d d d e f d\ d] d^ d_ d` da db dc g Z	 d d% d( d. g Z
 e r e	 j dd  e
 j d4  n  d6 dV d7 e f g Z d8 d9   Z d: d;   Z d< d=   Z d> d?   Z d@ dA   Z dB dC   Z dD dE   Z dF dG   Z dH dI   Z dJ dK   Z dL dM   Z dN dO   Z dP dQ   Z dR dS   Z dT dU   Z dV S(e   u	   build_extu8   build C/C++ extensions (compile/link to build directory)u    (separated by '%s')u
   build-lib=u   bu(   directory for compiled extension modulesu   build-temp=u   tu1   directory for temporary files (build by-products)u
   plat-name=u   pu>   platform name to cross-compile for, if supported (default: %s)u   inplaceu   iu=   ignore build-lib and put compiled extensions into the source u,   directory alongside your pure Python modulesu   include-dirs=u   Iu.   list of directories to search for header filesu   define=u   Du   C preprocessor macros to defineu   undef=u   Uu!   C preprocessor macros to undefineu
   libraries=u   lu!   external C libraries to link withu   library-dirs=u   Lu.   directories to search for external C librariesu   rpath=u   Ru7   directories to search for shared C libraries at runtimeu   link-objects=u   Ou2   extra explicit link objects to include in the linku   debugu   gu'   compile/link with debugging informationu   forceu   fu2   forcibly build everything (ignore file timestamps)u	   compiler=u   cu   specify the compiler typeu   swig-cppu)   make SWIG create C++ files (default is C)u
   swig-opts=u!   list of SWIG command line optionsu   swig=u   path to the SWIG executableu   useru#   add user include, library and rpathu   help-compileru   list available compilersc             C   s   d  |  _ d  |  _ d  |  _ d  |  _ d |  _ d  |  _ d  |  _ d  |  _ d  |  _	 d  |  _
 d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S(   Ni    (   u   Noneu
   extensionsu	   build_libu	   plat_nameu
   build_tempu   inplaceu   packageu   include_dirsu   defineu   undefu	   librariesu   library_dirsu   rpathu   link_objectsu   debugu   forceu   compileru   swigu   swig_cppu	   swig_optsu   user(   u   self(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   initialize_optionsr   s(    																			u   build_ext.initialize_optionsc       
   	   C   s=  d d l  m } |  j d d. d/ d0 d1 d2 d3  |  j d  k rP |  j j |  _ n  |  j j |  _ | j	   } | j	 d
 d  } |  j
 d  k r |  j j
 p g  |  _
 n  t |  j
 t  r |  j
 j t j  |  _
 n  t j t j k r|  j
 j t j j t j d   n  |  j
 j |  | | k r7|  j
 j |  n  |  j d  |  j d  k r_g  |  _ n  |  j d  k rzg  |  _ n- t |  j t  r|  j j t j  |  _ n  |  j d  k rg  |  _ n- t |  j t  r|  j j t j  |  _ n  t j d k r|  j j t j j t j d   t j t j k rW|  j j t j j t j d   n  |  j r~t j j |  j d  |  _ n t j j |  j d  |  _ |  j
 j t j j t     t  t d d   } | r|  j j |  n  t! d k rc|  j" d k rd } n |  j" d d   } t j j t j d  } | rPt j j | |  } n  |  j j |  qt! d k r|  j j t j j t j d d   qt! d k r|  j j t j j t j d d   q|  j j t j j t j d d   n  t j d k r'|  j j t j j t j d   n  t j# d  d   d! k sYt j# d  d   d" k rt j$ j% t j j t j d#   r|  j j t j j t j d$ d% t&   d&   q|  j j d'  n  | j' d(  r$t j$ j% t j j t j d#   r|  j j | j' d)   q$|  j j d'  n  |  j( rX|  j( j d*  } d+ d,   | D |  _( n  |  j) ry|  j) j d*  |  _) n  |  j* d  k rg  |  _* n |  j* j d-  |  _* |  j+ r9t j j t, d  } t j j t, d$  }	 t j j- |  r|  j
 j |  n  t j j- |	  r9|  j j |	  |  j j |	  q9n  d  S(4   Ni    (   u	   sysconfigu   buildu	   build_libu
   build_tempu   compileru   debugu   forceu	   plat_nameu   plat_specifici   u   includeu	   librariesu   ntu   libsu   Debugu   Releaseu   _homei	   u   win32u    i   u   PCbuildi   u   PCu   VS8.0i   u   VS7.1u   VC6u   os2u   Configi   u   cygwinu   atheosu   binu   libu   pythonu   configu   .u   Py_ENABLE_SHAREDu   LIBDIRu   ,c             S   s   g  |  ] } | d  f  q S(   u   1(    (   u   .0u   symbol(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu
   <listcomp>  s   	 u.   build_ext.finalize_options.<locals>.<listcomp>u    (   u	   build_libu	   build_lib(   u
   build_tempu
   build_temp(   u   compileru   compiler(   u   debugu   debug(   u   forceu   force(   u	   plat_nameu	   plat_name(.   u	   distutilsu	   sysconfigu   set_undefined_optionsu   packageu   Noneu   distributionu   ext_packageu   ext_modulesu
   extensionsu   get_python_incu   include_dirsu
   isinstanceu   stru   splitu   osu   pathsepu   sysu   exec_prefixu   base_exec_prefixu   appendu   pathu   joinu   ensure_string_listu	   librariesu   library_dirsu   rpathu   nameu   prefixu   debugu
   build_tempu   dirnameu   get_config_h_filenameu   getattru   MSVC_VERSIONu	   plat_nameu   platformu
   executableu
   startswithu   get_python_versionu   get_config_varu   defineu   undefu	   swig_optsu   useru	   USER_BASEu   isdir(
   u   selfu	   sysconfigu
   py_includeu   plat_py_includeu	   _sys_homeu   suffixu   new_libu   definesu   user_includeu   user_lib(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   finalize_options   s    	%"%		%2$
$			u   build_ext.finalize_optionsc          
   C   s  d d l  m } |  j s d  S|  j j   rm |  j d  } |  j j | j   pS g   |  j	 j
 | j  n  | d |  j d |  j d |  j d |  j  |  _ t |  j  t j d k r |  j t   k r |  j j |  j  n  |  j d  k	 r|  j j |  j  n  |  j d  k	 rEx- |  j D] \ } } |  j j | |  qWn  |  j d  k	 r{x$ |  j D] } |  j j |  q^Wn  |  j d  k	 r|  j j |  j  n  |  j	 d  k	 r|  j j |  j	  n  |  j d  k	 r|  j j  |  j  n  |  j! d  k	 r|  j j" |  j!  n  |  j#   d  S(	   Ni    (   u   new_compileru
   build_clibu   compileru   verboseu   dry_runu   forceu   nt($   u   distutils.ccompileru   new_compileru
   extensionsu   distributionu   has_c_librariesu   get_finalized_commandu	   librariesu   extendu   get_library_namesu   library_dirsu   appendu
   build_clibu   compileru   verboseu   dry_runu   forceu   customize_compileru   osu   nameu	   plat_nameu   get_platformu
   initializeu   include_dirsu   Noneu   set_include_dirsu   defineu   define_macrou   undefu   undefine_macrou   set_librariesu   set_library_dirsu   rpathu   set_runtime_library_dirsu   link_objectsu   set_link_objectsu   build_extensions(   u   selfu   new_compileru
   build_clibu   nameu   valueu   macro(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   run#  s>    			!u   build_ext.runc       
   	   C   s0  t  | t  s t d   n  xt |  D]\ } } t  | t  rL q+ n  t  | t  sn t |  d k r} t d   n  | \ } } t j d |  t  | t	  o t
 j |  s t d   n  t  | t  s t d   n  t | | d  } x< d D]4 } | j |  } | d k	 r t | | |  q q W| j d  | _ d | k ret j d  n  | j d  } | rg  | _ g  | _ x | D] }	 t  |	 t  ot |	  d k st d   n  t |	  d k r| j j |	 d  qt |	  d k r| j j |	  qqWn  | | | <q+ Wd S(   u  Ensure that the list of extensions (presumably provided as a
        command option 'extensions') is valid, i.e. it is a list of
        Extension objects.  We also support the old-style list of 2-tuples,
        where the tuples are (ext_name, build_info), which are converted to
        Extension instances here.

        Raise DistutilsSetupError if the structure is invalid anywhere;
        just returns otherwise.
        u:   'ext_modules' option must be a list of Extension instancesi   uM   each element of 'ext_modules' option must be an Extension instance or 2-tupleuu   old-style (ext_name, build_info) tuple found in ext_modules for extension '%s'-- please convert to Extension instanceuR   first element of each tuple in 'ext_modules' must be the extension name (a string)uO   second element of each tuple in 'ext_modules' must be a dictionary (build info)u   sourcesu   include_dirsu   library_dirsu	   librariesu   extra_objectsu   extra_compile_argsu   extra_link_argsu   rpathu   def_fileu9   'def_file' element of build info dict no longer supportedu   macrosi   u9   'macros' element of build info dict must be 1- or 2-tuplei    N(   u   include_dirsu   library_dirsu	   librariesu   extra_objectsu   extra_compile_argsu   extra_link_args(   i   i   (   u
   isinstanceu   listu   DistutilsSetupErroru	   enumerateu	   Extensionu   tupleu   lenu   logu   warnu   stru   extension_name_reu   matchu   dictu   getu   Noneu   setattru   runtime_library_dirsu   define_macrosu   undef_macrosu   append(
   u   selfu
   extensionsu   iu   extu   ext_nameu
   build_infou   keyu   valu   macrosu   macro(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   check_extensions_listc  sT    
"	 
		!u   build_ext.check_extensions_listc             C   s>   |  j  |  j  g  } x! |  j D] } | j | j  q  W| S(   N(   u   check_extensions_listu
   extensionsu   extendu   sources(   u   selfu	   filenamesu   ext(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_source_files  s
    u   build_ext.get_source_filesc             C   sG   |  j  |  j  g  } x* |  j D] } | j |  j | j   q  W| S(   N(   u   check_extensions_listu
   extensionsu   appendu   get_ext_fullpathu   name(   u   selfu   outputsu   ext(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_outputs  s
    u   build_ext.get_outputsc             C   s   |  j  |  j  x| |  j D]q } y |  j |  Wq t t t f k
 r } z. | j s^   n  |  j d | j | f  WYd  d  } ~ Xq Xq Wd  S(   Nu"   building extension "%s" failed: %s(	   u   check_extensions_listu
   extensionsu   build_extensionu   CCompilerErroru   DistutilsErroru   CompileErroru   optionalu   warnu   name(   u   selfu   extu   e(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   build_extensions  s    		u   build_ext.build_extensionsc       
      C   s	  | j  } | d  k s+ t | t t f  rA t d | j   n  t |  } |  j | j  } | | j } |  j	 p t
 | | d  s t j d | j  d  St j d | j  |  j | |  } | j p g  } | j d  d   } x! | j D] } | j | f  q W|  j j | d |  j d | d | j d |  j d	 | d
 | j } | d  d   |  _ | j rz| j | j  n  | j pg  } | j p|  j j |  }	 |  j j | | d |  j |  d | j d | j  d	 | d |  j! |  d |  j d |  j d |	 d  S(   Nuj   in 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesu   neweru$   skipping '%s' extension (up-to-date)u   building '%s' extensionu
   output_diru   macrosu   include_dirsu   debugu   extra_postargsu   dependsu	   librariesu   library_dirsu   runtime_library_dirsu   export_symbolsu
   build_tempu   target_lang("   u   sourcesu   Noneu
   isinstanceu   listu   tupleu   DistutilsSetupErroru   nameu   get_ext_fullpathu   dependsu   forceu   newer_groupu   logu   debugu   infou   swig_sourcesu   extra_compile_argsu   define_macrosu   undef_macrosu   appendu   compileru   compileu
   build_tempu   include_dirsu   _built_objectsu   extra_objectsu   extendu   extra_link_argsu   languageu   detect_languageu   link_shared_objectu   get_librariesu   library_dirsu   runtime_library_dirsu   get_export_symbols(
   u   selfu   extu   sourcesu   ext_pathu   dependsu
   extra_argsu   macrosu   undefu   objectsu   language(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   build_extension  sN    	"										u   build_ext.build_extensionc          	   C   s  g  } g  } i  } |  j  r+ t j d  n  |  j  sR d |  j k sR d | j k r[ d } n d } xr | D]j } t j j |  \ } }	 |	 d k r | j | d |  | j |  | d | | <qh | j |  qh W| s | S|  j p |  j	   }
 |
 d g } | j
 |  j  |  j  r*| j d  n  |  j sWx! | j D] } | j |  q=Wn  xE | D]= } | | } t j d	 | |  |  j | d
 | | g  q^W| S(   u   Walk the list of source files in 'sources', looking for SWIG
        interface (.i) files.  Run SWIG on all that are found, and
        return a modified 'sources' list with SWIG source files replaced
        by the generated C (or C++) files.
        u/   --swig-cpp is deprecated - use --swig-opts=-c++u   -c++u   .cppu   .cu   .iu   _wrapi   u   -pythonu   swigging %s to %su   -oi(   u   swig_cppu   logu   warnu	   swig_optsu   osu   pathu   splitextu   appendu   swigu	   find_swigu   extendu   infou   spawn(   u   selfu   sourcesu	   extensionu   new_sourcesu   swig_sourcesu   swig_targetsu
   target_extu   sourceu   baseu   extu   swigu   swig_cmdu   ou   target(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   swig_sources'  s>    				
u   build_ext.swig_sourcesc             C   s   t  j d k r d St  j d k ri xj d D]5 } t  j j d | d  } t  j j |  r) | Sq) Wd Sn& t  j d	 k r| d St d
 t  j   d S(   u   Return the name of the SWIG executable.  On Unix, this is
        just "swig" -- it should be in the PATH.  Tries a bit harder on
        Windows.
        u   posixu   swigu   ntu   1.3u   1.2u   1.1u	   c:\swig%su   swig.exeu   os2u>   I don't know how to find (much less run) SWIG on platform '%s'N(   u   1.3u   1.2u   1.1(   u   osu   nameu   pathu   joinu   isfileu   DistutilsPlatformError(   u   selfu   versu   fn(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu	   find_swig]  s    u   build_ext.find_swigc             C   s   |  j  |  } | j d  } |  j | d  } |  j ss t j j | d d  | g   } t j j |  j |  Sd j | d d   } |  j d  } t j j	 | j
 |   } t j j | |  S(	   u   Returns the path of the filename for a given extension.

        The file is located in `build_lib` or directly in the package
        (inplace option).
        u   .i   Ni    u   build_pyiii(   u   get_ext_fullnameu   splitu   get_ext_filenameu   inplaceu   osu   pathu   joinu	   build_libu   get_finalized_commandu   abspathu   get_package_dir(   u   selfu   ext_nameu   fullnameu   modpathu   filenameu   packageu   build_pyu   package_dir(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_ext_fullpathx  s    	#u   build_ext.get_ext_fullpathc             C   s&   |  j  d k r | S|  j  d | Sd S(   uS   Returns the fullname of a given extension name.

        Adds the `package.` prefixu   .N(   u   packageu   None(   u   selfu   ext_name(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_ext_fullname  s    u   build_ext.get_ext_fullnamec             C   s   d d l  m } | j d  } t j d k r] | t |  d d d  | t |  d <n  | d  } t j d	 k r |  j r t j j |   d
 | St j j |   | S(   u   Convert the name of an extension (eg. "foo.bar") into the name
        of the file from which it will be loaded (eg. "foo/bar.so", or
        "foo\bar.pyd").
        i    (   u   get_config_varu   .u   os2i   Ni   u
   EXT_SUFFIXu   ntu   _d(	   u   distutils.sysconfigu   get_config_varu   splitu   osu   nameu   lenu   debugu   pathu   join(   u   selfu   ext_nameu   get_config_varu   ext_pathu
   ext_suffix(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_ext_filename  s    /u   build_ext.get_ext_filenamec             C   sC   d | j  j d  d } | | j k r< | j j |  n  | j S(   u  Return the list of symbols that a shared extension has to
        export.  This either uses 'ext.export_symbols' or, if it's not
        provided, "PyInit_" + module_name.  Only relevant on Windows, where
        the .pyd file (DLL) must export the module "PyInit_" function.
        u   PyInit_u   .i   i(   u   nameu   splitu   export_symbolsu   append(   u   selfu   extu   initfunc_name(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_export_symbols  s    u   build_ext.get_export_symbolsc             C   su  t  j d k r d d l m } t |  j |  s} d } |  j rM | d } n  | t  j d ?t  j d ?d @f } | j | g S| j Snt  j d	 k r d } | t  j d ?t  j d ?d @f } | j | g St  j d
 d  d k rd } | t  j d ?t  j d ?d @f } | j | g St  j d
 d  d k rd d l	 m
 } d } | t  j d ?t  j d ?d @f } g  } xS | j d  j   D]< } | j d  r| j | d d
   q| j |  qW| j | d g | St  j d k r| j St  j d
 d  d k r| j Sd d l	 m
 } | j d  rjd j t  j d ?t  j d ?d @t  j  } | j | g S| j Sd
 S(   u   Return the list of libraries to link against when building a
        shared extension.  On most platforms, this is just 'ext.libraries';
        on Windows and OS/2, we add the Python library (eg. python20.dll).
        u   win32i    (   u   MSVCCompileru
   python%d%du   _di   i   i   u   os2emxNi   u   cygwinu   python%d.%du   atheos(   u	   sysconfigu   SHLIBSu   -li   u   mu   darwini   u   aixu   Py_ENABLE_SHAREDu   python{}.{}{}(   u   sysu   platformu   distutils.msvccompileru   MSVCCompileru
   isinstanceu   compileru   debugu
   hexversionu	   librariesu	   distutilsu	   sysconfigu   get_config_varu   splitu
   startswithu   appendu   formatu   abiflags(   u   selfu   extu   MSVCCompileru   templateu	   pythonlibu	   sysconfigu   extrau   lib(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   get_libraries  sT    
	
u   build_ext.get_librariesN(   u
   build-lib=u   bu(   directory for compiled extension modules(   u   build-temp=u   tu1   directory for temporary files (build by-products)(   u   define=u   Du   C preprocessor macros to define(   u   undef=u   Uu!   C preprocessor macros to undefine(   u
   libraries=u   lu!   external C libraries to link with(   u   rpath=u   Ru7   directories to search for shared C libraries at runtime(   u   link-objects=u   Ou2   extra explicit link objects to include in the link(   u   debugu   gu'   compile/link with debugging information(   u   forceu   fu2   forcibly build everything (ignore file timestamps)(   u	   compiler=u   cu   specify the compiler type(   u   swig-cppNu)   make SWIG create C++ files (default is C)(   u
   swig-opts=Nu!   list of SWIG command line options(   u   swig=Nu   path to the SWIG executable(   u   userNu#   add user include, library and rpath(   u   __name__u
   __module__u   __qualname__u   descriptionu   osu   pathsepu   sep_byu   get_platformu   Noneu   user_optionsu   boolean_optionsu   HAS_USER_SITEu   appendu   show_compilersu   help_optionsu   initialize_optionsu   finalize_optionsu   runu   check_extensions_listu   get_source_filesu   get_outputsu   build_extensionsu   build_extensionu   swig_sourcesu	   find_swigu   get_ext_fullpathu   get_ext_fullnameu   get_ext_filenameu   get_export_symbolsu   get_libraries(   u
   __locals__(    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu	   build_ext(   sx     

   
        	@N	R6	u	   build_extFT(#   u   __doc__u   sysu   osu   reu   distutils.coreu   Commandu   distutils.errorsu   distutils.sysconfigu   customize_compileru   get_python_versionu   get_config_h_filenameu   distutils.dep_utilu   newer_groupu   distutils.extensionu	   Extensionu   distutils.utilu   get_platformu	   distutilsu   logu   versionu   Noneu	   USER_BASEu   Falseu   HAS_USER_SITEu   siteu   Trueu   nameu   distutils.msvccompileru   get_build_versionu   intu   MSVC_VERSIONu   compileu   extension_name_reu   show_compilersu	   build_ext(    (    (    u@   /opt/alt/python33/lib64/python3.3/distutils/command/build_ext.pyu   <module>   s*   $
		