distutils.command.config
index
/usr/local/lib/python2.3/distutils/command/config.py

distutils.command.config
 
Implements the Distutils 'config' command, a (mostly) empty command class
that exists mainly to be sub-classed by specific module distributions and
applications.  The idea is that while every "config" command is different,
at least they're all named the same, and users always see "config" in the
list of standard commands.  Also, this is a good place to put common
configure-like tasks: "try to compile this C code", or "figure out where
this header file lives".

 
Modules
       
distutils.log
os
re
string
sys

 
Classes
       
distutils.cmd.Command
config

 
class config(distutils.cmd.Command)
     Methods defined here:
check_func(self, func, headers=None, include_dirs=None, libraries=None, library_dirs=None, decl=0, call=0)
Determine if function 'func' is available by constructing a
source file that refers to 'func', and compiles and links it.
If everything succeeds, returns true; otherwise returns false.
 
The constructed source file starts out by including the header
files listed in 'headers'.  If 'decl' is true, it then declares
'func' (as "int func()"); you probably shouldn't supply 'headers'
and set 'decl' true in the same call, or you might get errors about
a conflicting declarations for 'func'.  Finally, the constructed
'main()' function either references 'func' or (if 'call' is true)
calls it.  'libraries' and 'library_dirs' are used when
linking.
check_header(self, header, include_dirs=None, library_dirs=None, lang='c')
Determine if the system header file named by 'header_file'
exists and can be found by the preprocessor; return true if so,
false otherwise.
check_lib(self, library, library_dirs=None, headers=None, include_dirs=None, other_libraries=[])
Determine if 'library' is available to be linked against,
without actually checking that any particular symbols are provided
by it.  'headers' will be used in constructing the source file to
be compiled, but the only effect of this is to check if all the
header files listed are available.  Any libraries listed in
'other_libraries' will be included in the link, in case 'library'
has symbols that depend on other libraries.
finalize_options(self)
initialize_options(self)
run(self)
search_cpp(self, pattern, body=None, headers=None, include_dirs=None, lang='c')
Construct a source file (just like 'try_cpp()'), run it through
the preprocessor, and return true if any line of the output matches
'pattern'.  'pattern' should either be a compiled regex object or a
string containing a regex.  If both 'body' and 'headers' are None,
preprocesses an empty file -- which can be useful to determine the
symbols the preprocessor and compiler set by default.
try_compile(self, body, headers=None, include_dirs=None, lang='c')
Try to compile a source file built from 'body' and 'headers'.
Return true on success, false otherwise.
try_cpp(self, body=None, headers=None, include_dirs=None, lang='c')
Construct a source file from 'body' (a string containing lines
of C/C++ code) and 'headers' (a list of header files to include)
and run it through the preprocessor.  Return true if the
preprocessor succeeded, false if there were any errors.
('body' probably isn't of much use, but what the heck.)
try_link(self, body, headers=None, include_dirs=None, libraries=None, library_dirs=None, lang='c')
Try to compile and link a source file, built from 'body' and
'headers', to executable form.  Return true on success, false
otherwise.
try_run(self, body, headers=None, include_dirs=None, libraries=None, library_dirs=None, lang='c')
Try to compile, link to an executable, and run a program
built from 'body' and 'headers'.  Return true on success, false
otherwise.

Data and other attributes defined here:
description = 'prepare to build'
user_options = [('compiler=', None, 'specify the compiler type'), ('cc=', None, 'specify the compiler executable'), ('include-dirs=', 'I', 'list of directories to search for header files'), ('define=', 'D', 'C preprocessor macros to define'), ('undef=', 'U', 'C preprocessor macros to undefine'), ('libraries=', 'l', 'external C libraries to link with'), ('library-dirs=', 'L', 'directories to search for external C libraries'), ('noisy', None, 'show every action (compile, link, run, ...) taken'), ('dump-source', None, 'dump generated source files before attempting to compile them')]

Methods inherited from distutils.cmd.Command:
__getattr__(self, attr)
__init__(self, dist)
Create and initialize a new Command object.  Most importantly,
invokes the 'initialize_options()' method, which is the real
initializer and depends on the actual command being
instantiated.
announce(self, msg, level=1)
If the current verbosity level is of greater than or equal to
'level' print 'msg' to stdout.
copy_file(self, infile, outfile, preserve_mode=1, preserve_times=1, link=None, level=1)
Copy a file respecting verbose, dry-run and force flags.  (The
former two default to whatever is in the Distribution object, and
the latter defaults to false for commands that don't define it.)
copy_tree(self, infile, outfile, preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1)
Copy an entire directory tree respecting verbose, dry-run,
and force flags.
debug_print(self, msg)
Print 'msg' to stdout if the global DEBUG (taken from the
DISTUTILS_DEBUG environment variable) flag is true.
dump_options(self, header=None, indent='')
ensure_dirname(self, option)
ensure_filename(self, option)
Ensure that 'option' is the name of an existing file.
ensure_finalized(self)
ensure_string(self, option, default=None)
Ensure that 'option' is a string; if not defined, set it to
'default'.
ensure_string_list(self, option)
Ensure that 'option' is a list of strings.  If 'option' is
currently a string, we split it either on /,\s*/ or /\s+/, so
"foo bar baz", "foo,bar,baz", and "foo,   bar baz" all become
["foo", "bar", "baz"].
execute(self, func, args, msg=None, level=1)
get_command_name(self)
get_finalized_command(self, command, create=1)
Wrapper around Distribution's 'get_command_obj()' method: find
(create if necessary and 'create' is true) the command object for
'command', call its 'ensure_finalized()' method, and return the
finalized command object.
get_sub_commands(self)
Determine the sub-commands that are relevant in the current
distribution (ie., that need to be run).  This is based on the
'sub_commands' class attribute: each tuple in that list may include
a method that we call to determine if the subcommand needs to be
run for the current distribution.  Return a list of command names.
make_archive(self, base_name, format, root_dir=None, base_dir=None)
make_file(self, infiles, outfile, func, args, exec_msg=None, skip_msg=None, level=1)
Special case of 'execute()' for operations that process one or
more input files and generate one output file.  Works just like
'execute()', except the operation is skipped and a different
message printed if 'outfile' already exists and is newer than all
files listed in 'infiles'.  If the command defined 'self.force',
and it is true, then the command is unconditionally run -- does no
timestamp checks.
mkpath(self, name, mode=511)
move_file(self, src, dst, level=1)
Move a file respectin dry-run flag.
reinitialize_command(self, command, reinit_subcommands=0)
# XXX rename to 'get_reinitialized_command()'? (should do the
# same in dist.py, if so)
run_command(self, command)
Run some other command: uses the 'run_command()' method of
Distribution, which creates and finalizes the command object if
necessary and then invokes its 'run()' method.
set_undefined_options(self, src_cmd, *option_pairs)
Set the values of any "undefined" options from corresponding
option values in some other command object.  "Undefined" here means
"is None", which is the convention used to indicate that an option
has not been changed between 'initialize_options()' and
'finalize_options()'.  Usually called from 'finalize_options()' for
options that depend on some other command rather than another
option of the same command.  'src_cmd' is the other command from
which option values will be taken (a command object will be created
for it if necessary); the remaining arguments are
'(src_option,dst_option)' tuples which mean "take the value of
'src_option' in the 'src_cmd' command object, and copy it to
'dst_option' in the current command object".
spawn(self, cmd, search_path=1, level=1)
Spawn an external command respecting dry-run flag.
warn(self, msg)

Data and other attributes inherited from distutils.cmd.Command:
sub_commands = []

 
Functions
       
dump_file(filename, head=None)

 
Data
        LANG_EXT = {'c': '.c', 'c++': '.cxx'}
StringTypes = (<type 'str'>, <type 'unicode'>)
__revision__ = '$Id: config.py,v 1.17 2003/02/18 01:28:51 akuchling Exp $'