Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.11] gh-101100: Documenting --prefix and --exec-prefix. (GH-102695) #102727

Merged
merged 1 commit into from
Mar 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Doc/c-api/init.rst
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,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.

Expand Down
10 changes: 5 additions & 5 deletions Doc/c-api/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/sys.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1307,7 +1307,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.

Expand Down
16 changes: 16 additions & 0 deletions Doc/using/configure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,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
Expand Down
2 changes: 1 addition & 1 deletion Doc/using/unix.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down