\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.prefex)}. \end{datadesc} \begin{datadesc}{EXEC_PREFIX} The result of \code{os.path.normpath(sys.exec_prefex)}. \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}