//usr/lib64/lib64//lib64/lib64//ó
ÛœSec @ s„ d Z d Z d d l Z d d l Z d d l Z d d l Ty d d l Z Wn e k
rc d Z n Xd d d „ ƒ YZ d „ Z
d S( sm distutils.extension
Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.s $Id$iÿÿÿÿN( t *t Extensionc B s> e Z d Z d d d d d d d d d d d d d d „
Z RS( s4 Just a collection of attributes that describes an extension
module and everything needed to build it (hopefully in a portable
way, but there are hooks that let you be as unportable as you need).
Instance attributes:
name : string
the full name of the extension, including any packages -- ie.
*not* a filename or pathname, but Python dotted name
sources : [string]
list of source filenames, relative to the distribution root
(where the setup script lives), in Unix form (slash-separated)
for portability. Source files may be C, C++, SWIG (.i),
platform-specific resource files, or whatever else is recognized
by the "build_ext" command as source for a Python extension.
include_dirs : [string]
list of directories to search for C/C++ header files (in Unix
form for portability)
define_macros : [(name : string, value : string|None)]
list of macros to define; each macro is defined using a 2-tuple,
where 'value' is either the string to define it to or None to
define it without a particular value (equivalent of "#define
FOO" in source or -DFOO on Unix C compiler command line)
undef_macros : [string]
list of macros to undefine explicitly
library_dirs : [string]
list of directories to search for C/C++ libraries at link time
libraries : [string]
list of library names (not filenames or paths) to link against
runtime_library_dirs : [string]
list of directories to search for C/C++ libraries at run time
(for shared extensions, this is when the extension is loaded)
extra_objects : [string]
list of extra files to link with (eg. object files not implied
by 'sources', static library that must be explicitly specified,
binary resource files, etc.)
extra_compile_args : [string]
any extra platform- and compiler-specific information to use
when compiling the source files in 'sources'. For platforms and
compilers where "command line" makes sense, this is typically a
list of command-line arguments, but for other platforms it could
be anything.
extra_link_args : [string]
any extra platform- and compiler-specific information to use
when linking object files together to create the extension (or
to create a new static Python interpreter). Similar
interpretation as for 'extra_compile_args'.
export_symbols : [string]
list of symbols to be exported from a shared extension. Not
used on all platforms, and not generally necessary for Python
extensions, which typically export exactly one symbol: "init" +
extension_name.
swig_opts : [string]
any extra options to pass to SWIG if a source file has the .i
extension.
depends : [string]
list of files that the extension depends on
language : string
extension language (i.e. "c", "c++", "objc"). Will be detected
from the source extensions if not provided.
c K sM | | _ | | _ | p g | _ | p* g | _ | p9 g | _ | pH g | _ | pW g | _ | pf g | _ | pu g | _ |
p„ g | _ | p“ g | _
| p¢ g | _ |
p± g | _ | pÀ g | _
| | _ t | ƒ rI| j ƒ } | j ƒ t t | ƒ } d t j | d ƒ } t d k r2t j | ƒ qIt j j | d ƒ n d S( Ns Unknown Extension options: s , s
( t namet sourcest include_dirst
define_macrost undef_macrost library_dirst librariest runtime_library_dirst
extra_objectst extra_compile_argst extra_link_argst export_symbolst swig_optst dependst languaget lent keyst sortt mapt reprt stringt joint warningst Nonet warnt syst stderrt write( t selfR R R R R R R R R
R R R
R R R t kwt Lt msg( ( s+ /usr/lib64/python2.7/distutils/extension.pyt __init__Z s.
N( t __name__t
__module__t __doc__R R" ( ( ( s+ /usr/lib64/python2.7/distutils/extension.pyR s <c C sä d d l m } m } m } d d l m } d d l m } | | ƒ } | | d d d d d d d d d
d ƒ} z`g } xS| j ƒ } | d k rš Pn | j
| ƒ rê q~ | d | d k oË d k n rê | j d
| ƒ q~ qê n | | | ƒ } | | ƒ }
|
d } t | g ƒ } d }
xš|
d D]Ž} |
d k rZ|
j
| ƒ d }
q/n t j j | ƒ d } | d d !} | d } | d( k r¦| j j
| ƒ q/| d k rÅ| j j
| ƒ q/| d k r0t j | d ƒ } | d k r| j j
| d f ƒ q½| j j
| d | !| | d f ƒ q/| d k rO| j j
| ƒ q/| d k rn| j j
| ƒ q/| d k r| j j
| ƒ q/| d k r¬| j j
| ƒ q/| d k rË| j j
| ƒ q/| d k rã| j }
q/| d k rû| j }
q/| d k r| j }
q/| d! k rD| j j
| ƒ | s½| j }
q½q/| d k r\| j }
q/| d! k r| j j
| ƒ | s½| j }
q½q/| d) k r¬| j j
| ƒ q/| j d' | ƒ q/W| j
| ƒ q~ Wd | j ƒ X| S(* Niÿÿÿÿ( t parse_makefilet expand_makefile_varst _variable_rx( t TextFile( t split_quotedt strip_commentsi t skip_blankst
join_linest lstrip_wst rstrip_wsi R s '%s' lines not handled yeti s .cs .ccs .cpps .cxxs .c++s .ms .mms -Is -Dt =s -Us -Cs -ls -Ls -Rs -rpaths -Xlinkers
-Xcompilers -us .as .sos .sls .os .dylibs unrecognized argument '%s'( s .cs .ccs .cpps .cxxs .c++s .ms .mm( s .as .sos .sls .os .dylib( t distutils.sysconfigR&