4Suite™ API Documentation

# ► Module Ft.Lib.DistExt

Extensions to distutils to support building, installing, packaging 4Suite

    Copyright 2005 Fourthought, Inc. (USA).
    Detailed license and copyright information: http://4suite.org/COPYRIGHT
    Project home, documentation, distributions: http://4suite.org/

Classes: Document, Executable, Extension, ExtensionsDocument, File, FileList, Localization, ModulesDocument, Script |  |  |  | Functions: EnsureVersion, setup

## Modules

BDist |
BDistEgg |
BDistInno |
BDistRpm |
Build |
BuildDocs | Main distutils extensions for generating documentation
BuildExt |
BuildL10n |
BuildPy |
BuildScripts |
Config |
Dist |
Formatters |
Generate |
GenerateBisonGen |
GenerateL10n |
ImageHlp |
Install |
InstallConfig | distutils command for installing the configuration file.
InstallData |
InstallDevel |
InstallDocs |
InstallEggInfo | distutils.command.install_egg_info
InstallHtml |
InstallL10n |
InstallLib |
InstallLocalState |
InstallMisc |
InstallScripts |
InstallSysconf |
InstallText |
ModuleFinder | Utilities to help applications using modulefinder get all of the modules and data files used throughout 4Suite.
PackageManager |
Py2Exe |
SDist |
Structures | Data structures that are to be used in a pkg file.
Uninstall |
Util |
Version |

## Classes

class Document
  An XSLT rendered document. It creates both a XML, HTML and Text version of the document (if desired)

  ### Methods

  __init__(self, source, stylesheet, params=None, title=None, category=None, flags=None, mtime=None, outfile=None)
  __repr__(self)
class Executable
  Just a collection of attributes that describes an executable 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'.

  ### Methods

  __init__(self, name, sources, 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)
  __repr__(self)
class Extension
  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.

  ### Methods

  __init__(self, name, sources, 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, **kw)
class ExtensionsDocument(Ft.Lib.DistExt.Structures.GeneratedDocument)
  A collection of attributes that describes a set of Python modules that implement 4Suite's XPath/XSLT extension API. Instances of File are used as members of the doc_files argument to setup().

  ### Methods

  __init__(self, name, modules, title)
  __repr__(self)

  ### Methods inherited from class Ft.Lib.DistExt.Structures.GeneratedDocument

  get_source_files
class File
  A collection of attributes that describes a file on the filesystem. Instances of File are used as members of the doc_files argument to setup().

  ### Methods

  __init__(self, source, outdir='', flags=None)
  __repr__(self)
  get_source_files(self)
class FileList(distutils.filelist.FileList)
  Defines a collection of files.

  ### Methods

  __init__(self, dest, sources, recursive=False, excludes=None)
    Overrides: __init__ from class FileList

  ### Methods inherited from class distutils.filelist.FileList

  append, debug_print, exclude_pattern, extend, findall, include_pattern, process_template_line, remove_duplicates, set_allfiles, sort
class Localization
  Defines a message catalog for a particular language

  ### Methods

  __init__(self, language, source)
  __repr__(self)
class ModulesDocument(Ft.Lib.DistExt.Structures.GeneratedDocument)

  ### Methods

  __init__(self, title, packages)
  __repr__(self)

  ### Methods inherited from class Ft.Lib.DistExt.Structures.GeneratedDocument

  get_source_files
class Script

  ### Methods

  __init__(self, name, module, function=None, application=None)
  __repr__(self)

## Functions

EnsureVersion(version)
  Checks Distutils version against specified version number
setup(**attrs)
  The gateway to the Distutils: do everything your setup script needs to do, in a highly flexible and user-driven way. Briefly: create a Distribution instance; find and parse config files; parse the command line; run each Distutils command found there, customized by the options supplied to 'setup()' (as keyword arguments), in config files, and on the command line.

      The Distribution instance might be an instance of a class supplied via
      the 'distclass' keyword argument to 'setup'; if no such class is
      supplied, then the Distribution class (in dist.py) is instantiated.
      All other arguments to 'setup' (except for 'cmdclass') are used to set
      attributes of the Distribution instance.

      The 'cmdclass' argument, if supplied, is a dictionary mapping command
      names to command classes.  Each command encountered on the command line
      will be turned into a command class, which is in turn instantiated; any
      class found in 'cmdclass' is used in place of the default, which is
      (for command 'foo_bar') class 'foo_bar' in module
      'distutils.command.foo_bar'.  The command class must provide a
      'user_options' attribute which is a list of option specifiers for
      'distutils.fancy_getopt'.  Any command-line options between the current
      and the next command are used to set attributes of the current command
      object.

      When the entire command-line has been successfully parsed, calls the
      'run()' method on each command object in turn.  This method will be
      driven entirely by the Distribution object (which each command object
      has a reference to, thanks to its constructor), and the
      command-specific options that became attributes of each command
      object.