blob: db28e55a1323bfcb56023fa909994fea713f6885 [file] [log] [blame]
\section{\module{distutils.sysconfig} ---
System configuration information}
\declaremodule{standard}{distutils.sysconfig}
\modulesynopsis{Low-level access to configuration information of the
Python interpreter.}
\moduleauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
\moduleauthor{Greg Ward}{gward@python.net}
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
The \module{distutils.sysconfig} module provides access to Python's
low-level configuration information. The specific configuration
variables available depend heavily on the platform and configuration.
The specific variables depend on the build process for the specific
version of Python being run; the variables are those found in the
\file{Makefile} and configuration header that are installed with
Python on \UNIX{} systems. The configuration header is called
\file{pyconfig.h} for Python versions starting with 2.2, and
\file{config.h} for earlier versions of Python.
Some additional functions are provided which perform some useful
manipulations for other parts of the \module{distutils} package.
\begin{datadesc}{PREFIX}
The result of \code{os.path.normpath(sys.prefix)}.
\end{datadesc}
\begin{datadesc}{EXEC_PREFIX}
The result of \code{os.path.normpath(sys.exec_prefix)}.
\end{datadesc}
\begin{funcdesc}{get_config_var}{name}
Return the value of a single variable. This is equivalent to
\code{get_config_vars().get(\var{name})}.
\end{funcdesc}
\begin{funcdesc}{get_config_vars}{\moreargs}
Return a set of variable definitions. If there are no arguments,
this returns a dictionary mapping names of configuration variables
to values. If arguments are provided, they should be strings, and
the return value will be a sequence giving the associated values.
If a given name does not have a corresponding value, \code{None}
will be included for that variable.
\end{funcdesc}
\begin{funcdesc}{get_config_h_filename}{}
Return the full path name of the configuration header. For \UNIX,
this will be the header generated by the \program{configure} script;
for other platforms the header will have been supplied directly by
the Python source distribution. The file is a platform-specific
text file.
\end{funcdesc}
\begin{funcdesc}{get_makefile_filename}{}
Return the full path name of the \file{Makefile} used to build
Python. For \UNIX, this will be a file generated by the
\program{configure} script; the meaning for other platforms will
vary. The file is a platform-specific text file, if it exists.
This function is only useful on \POSIX{} platforms.
\end{funcdesc}
\begin{funcdesc}{get_python_inc}{\optional{plat_specific\optional{, prefix}}}
Return the directory for either the general or platform-dependent C
include files. If \var{plat_specific} is true, the
platform-dependent include directory is returned; if false or
omitted, the platform-independent directory is returned. If
\var{prefix} is given, it is used as either the prefix instead of
\constant{PREFIX}, or as the exec-prefix instead of
\constant{EXEC_PREFIX} if \var{plat_specific} is true.
\end{funcdesc}
\begin{funcdesc}{get_python_lib}{\optional{plat_specific\optional{,
standard_lib\optional{, prefix}}}}
Return the directory for either the general or platform-dependent
library installation. If \var{plat_specific} is true, the
platform-dependent include directory is returned; if false or
omitted, the platform-independent directory is returned. If
\var{prefix} is given, it is used as either the prefix instead of
\constant{PREFIX}, or as the exec-prefix instead of
\constant{EXEC_PREFIX} if \var{plat_specific} is true. If
\var{standard_lib} is true, the directory for the standard library
is returned rather than the directory for the installation of
third-party extensions.
\end{funcdesc}
The following function is only intended for use within the
\module{distutils} package.
\begin{funcdesc}{customize_compiler}{compiler}
Do any platform-specific customization of a
\class{distutils.ccompiler.CCompiler} instance.
This function is only needed on \UNIX{} at this time, but should be
called consistently to support forward-compatibility. It inserts
the information that varies across \UNIX{} flavors and is stored in
Python's \file{Makefile}. This information includes the selected
compiler, compiler and linker options, and the extension used by the
linker for shared objects.
\end{funcdesc}
This function is even more special-purpose, and should only be used
from Python's own build procedures.
\begin{funcdesc}{set_python_build}{}
Inform the \module{distutils.sysconfig} module that it is being used
as part of the build process for Python. This changes a lot of
relative locations for files, allowing them to be located in the
build area rather than in an installed Python.
\end{funcdesc}