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 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 returned string points into static storage; the caller should not modify its
value. This corresponds to the :makevar:`prefix` variable in the top-level 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``. 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. 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 The header files are typically installed with Python. On Unix, these are
located in the directories :file:`{prefix}/include/pythonversion/` and located in the directories :file:`{prefix}/include/pythonversion/` and
:file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and :file:`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` and
:envvar:`exec_prefix` are defined by the corresponding parameters to Python's :option:`exec_prefix <--exec-prefix>` are defined by the corresponding parameters to Python's
:program:`configure` script and *version* is :program:`configure` script and *version* is
``'%d.%d' % sys.version_info[:2]``. On Windows, the headers are installed ``'%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. directory specified to the installer.
To include the headers, place both directories (if different) on your compiler's 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 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 path and then use ``#include <pythonX.Y/Python.h>``; this will break on
multi-platform builds since the platform independent headers under multi-platform builds since the platform independent headers under
:envvar:`prefix` include the platform specific headers from :option:`prefix <--prefix>` include the platform specific headers from
:envvar:`exec_prefix`. :option:`exec_prefix <--exec-prefix>`.
C++ users should note that although the API is defined entirely using C, the 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, 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 A string giving the site-specific directory prefix where the platform
independent Python files are installed; on Unix, the default is 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 argument to the :program:`configure` script. See
:ref:`installation_paths` for derived paths. :ref:`installation_paths` for derived paths.

View file

@ -216,6 +216,22 @@ WebAssembly Options
Install 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 .. cmdoption:: --disable-test-modules
Don't build nor install test modules, like the :mod:`test` package or the 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; 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 are installation-dependent and should be interpreted as for GNU software; they
may be the same. may be the same.