gh-101100: Documenting --prefix and --exec-prefix. (GH-102695)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
This commit is contained in:
Julien Palard 2023-03-15 16:10:03 +01:00 committed by GitHub
parent afa6092ee4
commit 61b9ff35cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 8 deletions

View File

@ -513,7 +513,7 @@ Process-wide parameters
program name is ``'/usr/local/bin/python'``, the prefix is ``'/usr/local'``. The
returned string points into static storage; the caller should not modify its
value. This corresponds to the :makevar:`prefix` variable in the top-level
:file:`Makefile` and the ``--prefix`` argument to the :program:`configure`
:file:`Makefile` and the :option:`--prefix` argument to the :program:`configure`
script at build time. The value is available to Python code as ``sys.prefix``.
It is only useful on Unix. See also the next function.

View File

@ -78,19 +78,19 @@ used by extension writers. Structure member names do not have a reserved prefix.
The header files are typically installed with Python. On Unix, these are
located in the directories :file:`{prefix}/include/pythonversion/` and
:file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and
:envvar:`exec_prefix` are defined by the corresponding parameters to Python's
:file:`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` and
:option:`exec_prefix <--exec-prefix>` are defined by the corresponding parameters to Python's
:program:`configure` script and *version* is
``'%d.%d' % sys.version_info[:2]``. On Windows, the headers are installed
in :file:`{prefix}/include`, where :envvar:`prefix` is the installation
in :file:`{prefix}/include`, where ``prefix`` is the installation
directory specified to the installer.
To include the headers, place both directories (if different) on your compiler's
search path for includes. Do *not* place the parent directories on the search
path and then use ``#include <pythonX.Y/Python.h>``; this will break on
multi-platform builds since the platform independent headers under
:envvar:`prefix` include the platform specific headers from
:envvar:`exec_prefix`.
:option:`prefix <--prefix>` include the platform specific headers from
:option:`exec_prefix <--exec-prefix>`.
C++ users should note that although the API is defined entirely using C, the
header files properly declare the entry points to be ``extern "C"``. As a result,

View File

@ -1323,7 +1323,7 @@ always available.
A string giving the site-specific directory prefix where the platform
independent Python files are installed; on Unix, the default is
``'/usr/local'``. This can be set at build time with the ``--prefix``
:file:`/usr/local`. This can be set at build time with the :option:`--prefix`
argument to the :program:`configure` script. See
:ref:`installation_paths` for derived paths.

View File

@ -216,6 +216,22 @@ WebAssembly Options
Install Options
---------------
.. cmdoption:: --prefix=PREFIX
Install architecture-independent files in PREFIX. On Unix, it
defaults to :file:`/usr/local`.
This value can be retrived at runtime using :data:`sys.prefix`.
As an example, one can use ``--prefix="$HOME/.local/"`` to install
a Python in its home directory.
.. cmdoption:: --exec-prefix=EPREFIX
Install architecture-dependent files in EPREFIX, defaults to :option:`--prefix`.
This value can be retrived at runtime using :data:`sys.exec_prefix`.
.. cmdoption:: --disable-test-modules
Don't build nor install test modules, like the :mod:`test` package or the

View File

@ -93,7 +93,7 @@ Python-related paths and files
==============================
These are subject to difference depending on local installation conventions;
:envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``${exec_prefix}``)
:option:`prefix <--prefix>` and :option:`exec_prefix <--exec-prefix>`
are installation-dependent and should be interpreted as for GNU software; they
may be the same.