Back to index

python3.2  3.2.2
Public Member Functions | Public Attributes
distutils.extension.Extension Class Reference

List of all members.

Public Member Functions

def __init__

Public Attributes


Detailed Description

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" +
  swig_opts : [string]
    any extra options to pass to SWIG if a source file has the .i
  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.
  optional : boolean
    specifies that a build failure in the extension should not abort the
    build process, but simply not install the failing extension.

Definition at line 20 of file

Constructor & Destructor Documentation

def distutils.extension.Extension.__init__ (   self,
  include_dirs = None,
  define_macros = None,
  undef_macros = None,
  library_dirs = None,
  libraries = None,
  runtime_library_dirs = None,
  extra_objects = None,
  extra_compile_args = None,
  extra_link_args = None,
  export_symbols = None,
  swig_opts = None,
  depends = None,
  language = None,
  optional = None,

Definition at line 103 of file

00104                  ):
00105         if not isinstance(name, str):
00106             raise AssertionError("'name' must be a string")
00107         if not (isinstance(sources, list) and
00108                 all(isinstance(v, str) for v in sources)):
00109             raise AssertionError("'sources' must be a list of strings")
00111 = name
00112         self.sources = sources
00113         self.include_dirs = include_dirs or []
00114         self.define_macros = define_macros or []
00115         self.undef_macros = undef_macros or []
00116         self.library_dirs = library_dirs or []
00117         self.libraries = libraries or []
00118         self.runtime_library_dirs = runtime_library_dirs or []
00119         self.extra_objects = extra_objects or []
00120         self.extra_compile_args = extra_compile_args or []
00121         self.extra_link_args = extra_link_args or []
00122         self.export_symbols = export_symbols or []
00123         self.swig_opts = swig_opts or []
00124         self.depends = depends or []
00125         self.language = language
00126         self.optional = optional
00128         # If there are unknown keyword options, warn about them
00129         if len(kw) > 0:
00130             options = [repr(option) for option in kw]
00131             options = ', '.join(sorted(options))
00132             msg = "Unknown Extension options: %s" % options
00133             warnings.warn(msg)

Here is the caller graph for this function:

Member Data Documentation

Definition at line 113 of file

Definition at line 123 of file

Definition at line 121 of file

Definition at line 119 of file

Definition at line 120 of file

Definition at line 118 of file

Definition at line 112 of file

Definition at line 124 of file

Definition at line 116 of file

Definition at line 115 of file

Definition at line 110 of file

Definition at line 125 of file

Definition at line 117 of file

Definition at line 111 of file

Definition at line 122 of file

Definition at line 114 of file

The documentation for this class was generated from the following file: