bpo-43774: Add more links to configure options (GH-25363)

This commit is contained in:
Victor Stinner 2021-04-12 23:27:35 +02:00 committed by GitHub
parent 20ac34772a
commit 85918e4ab6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 45 additions and 32 deletions

View File

@ -638,7 +638,7 @@ PyConfig
Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable. Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable.
Need a special build of Python with the ``Py_TRACE_REFS`` macro defined: Need a special build of Python with the ``Py_TRACE_REFS`` macro defined:
see :option:`configure --with-trace-refs <--with-trace-refs>`. see the :option:`configure --with-trace-refs option <--with-trace-refs>`.
Default: ``0``. Default: ``0``.
@ -820,7 +820,7 @@ PyConfig
Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable. Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable.
The option is ignored if Python is :option:`configured using The option is ignored if Python is :option:`configured using
--without-pymalloc <--without-pymalloc>`. the --without-pymalloc option <--without-pymalloc>`.
Default: ``0``. Default: ``0``.
@ -831,8 +831,8 @@ PyConfig
Set by the :envvar:`PYTHONPLATLIBDIR` environment variable. Set by the :envvar:`PYTHONPLATLIBDIR` environment variable.
Default: value of the ``PLATLIBDIR`` macro which is set by the Default: value of the ``PLATLIBDIR`` macro which is set by the
:option:`configure --with-platlibdir option <--with-platlibdir>` (default: :option:`configure --with-platlibdir option <--with-platlibdir>`
``"lib"``). (default: ``"lib"``).
Part of the :ref:`Python Path Configuration <init-path-config>` input. Part of the :ref:`Python Path Configuration <init-path-config>` input.

View File

@ -46,7 +46,8 @@ or::
$ sudo apt-get install systemtap-sdt-dev $ sudo apt-get install systemtap-sdt-dev
CPython must then be configured ``--with-dtrace``: CPython must then be :option:`configured with the --with-dtrace option
<--with-dtrace>`:
.. code-block:: none .. code-block:: none
@ -77,7 +78,8 @@ the built binary by seeing if it contains a ".note.stapsdt" section.
$ readelf -S ./python | grep .note.stapsdt $ readelf -S ./python | grep .note.stapsdt
[30] .note.stapsdt NOTE 0000000000000000 00308d78 [30] .note.stapsdt NOTE 0000000000000000 00308d78
If you've built Python as a shared library (with --enable-shared), you If you've built Python as a shared library
(with the :option:`--enable-shared` configure option), you
need to look instead within the shared library. For example:: need to look instead within the shared library. For example::
$ readelf -S libpython3.3dm.so.1.0 | grep .note.stapsdt $ readelf -S libpython3.3dm.so.1.0 | grep .note.stapsdt
@ -252,7 +254,7 @@ where the columns are:
and the remainder indicates the call/return hierarchy as the script executes. and the remainder indicates the call/return hierarchy as the script executes.
For a `--enable-shared` build of CPython, the markers are contained within the For a :option:`--enable-shared` build of CPython, the markers are contained within the
libpython shared library, and the probe's dotted path needs to reflect this. For libpython shared library, and the probe's dotted path needs to reflect this. For
example, this line from the above example: example, this line from the above example:

View File

@ -1484,8 +1484,8 @@ are also included in the pure Python version for compatibility.
.. data:: HAVE_CONTEXTVAR .. data:: HAVE_CONTEXTVAR
The default value is ``True``. If Python is :option:`configured with The default value is ``True``. If Python is :option:`configured using
--without-decimal-contextvar <--without-decimal-contextvar>`, the --without-decimal-contextvar option <--without-decimal-contextvar>`,
the C version uses a thread-local rather than a coroutine-local context and the value the C version uses a thread-local rather than a coroutine-local context and the value
is ``False``. This is slightly faster in some nested context scenarios. is ``False``. This is slightly faster in some nested context scenarios.

View File

@ -1090,5 +1090,5 @@ committed:
.. [#f1] The sqlite3 module is not built with loadable extension support by .. [#f1] The sqlite3 module is not built with loadable extension support by
default, because some platforms (notably Mac OS X) have SQLite default, because some platforms (notably Mac OS X) have SQLite
libraries which are compiled without this feature. To get loadable libraries which are compiled without this feature. To get loadable
extension support, you must pass ``--enable-loadable-sqlite-extensions`` to extension support, you must pass the
configure. :option:`--enable-loadable-sqlite-extensions` option to configure.

View File

@ -250,8 +250,9 @@ always available.
Print low-level information to stderr about the state of CPython's memory Print low-level information to stderr about the state of CPython's memory
allocator. allocator.
If Python is :option:`configured --with-pydebug <--with-pydebug>`, it also If Python is `built in debug mode <debug-build>` (:option:`configure
performs some expensive internal consistency checks. --with-pydebug option <--with-pydebug>`), it also performs some expensive
internal consistency checks.
.. versionadded:: 3.3 .. versionadded:: 3.3

View File

@ -124,8 +124,9 @@ time zone database (except on Windows, where there are no "well-known"
locations for time zone data). On POSIX systems, downstream distributors and locations for time zone data). On POSIX systems, downstream distributors and
those building Python from source who know where their system those building Python from source who know where their system
time zone data is deployed may change the default time zone path by specifying time zone data is deployed may change the default time zone path by specifying
the compile-time option ``TZPATH`` (or, more likely, the ``configure`` flag the compile-time option ``TZPATH`` (or, more likely, the :option:`configure
``--with-tzpath``), which should be a string delimited by :data:`os.pathsep`. flag --with-tzpath <--with-tzpath>`), which should be a string delimited by
:data:`os.pathsep`.
On all platforms, the configured value is available as the ``TZPATH`` key in On all platforms, the configured value is available as the ``TZPATH`` key in
:func:`sysconfig.get_config_var`. :func:`sysconfig.get_config_var`.

View File

@ -19,7 +19,10 @@ General Options
.. cmdoption:: --enable-loadable-sqlite-extensions .. cmdoption:: --enable-loadable-sqlite-extensions
Support loadable extensions in the :mod:`_sqlite` extension module (default Support loadable extensions in the :mod:`_sqlite` extension module (default
is no), see the :mod:`sqlite3` module. is no).
See the :meth:`sqlite3.Connection.enable_load_extension` method of the
:mod:`sqlite3` module.
.. versionadded:: 3.6 .. versionadded:: 3.6
@ -54,8 +57,9 @@ General Options
.. cmdoption:: --with-tzpath=<list of absolute paths separated by pathsep> .. cmdoption:: --with-tzpath=<list of absolute paths separated by pathsep>
Select the default time zone search path for :data:`zoneinfo.TZPATH`, Select the default time zone search path for :data:`zoneinfo.TZPATH`.
see the :mod:`zoneinfo` module. See the :ref:`Compile-time configuration
<zoneinfo_data_compile_time_config>` of the :mod:`zoneinfo` module.
Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo``. Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo``.
@ -287,6 +291,9 @@ Debug options
Enable DTrace support (default is no). Enable DTrace support (default is no).
See :ref:`Instrumenting CPython with DTrace and SystemTap
<instrumentation>`.
.. versionadded:: 3.6 .. versionadded:: 3.6
.. cmdoption:: --with-address-sanitizer .. cmdoption:: --with-address-sanitizer

View File

@ -168,6 +168,7 @@ Custom OpenSSL
$ popd $ popd
3. Build Python with custom OpenSSL 3. Build Python with custom OpenSSL
(see the configure `--with-openssl` and `--with-openssl-rpath` options)
.. code-block:: shell-session .. code-block:: shell-session

View File

@ -986,9 +986,9 @@ Optimizations
van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy
and MicroPython.) and MicroPython.)
* When building Python with ``--enable-optimizations`` now * When building Python with :option:`--enable-optimizations` now
``-fno-semantic-interposition`` is added to both the compile and link line. ``-fno-semantic-interposition`` is added to both the compile and link line.
This speeds builds of the Python interpreter created with ``--enable-shared`` This speeds builds of the Python interpreter created with :option:`--enable-shared`
with ``gcc`` by up to 30%. See `this article with ``gcc`` by up to 30%. See `this article
<https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-8-run-speeds/>`_ <https://developers.redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-8-run-speeds/>`_
for more details. (Contributed by Victor Stinner and Pablo Galindo in for more details. (Contributed by Victor Stinner and Pablo Galindo in
@ -1300,11 +1300,12 @@ Build Changes
* The :mod:`atexit` module must now always be built as a built-in module. * The :mod:`atexit` module must now always be built as a built-in module.
(Contributed by Victor Stinner in :issue:`42639`.) (Contributed by Victor Stinner in :issue:`42639`.)
* Added ``--disable-test-modules`` option to the ``configure`` script: * Added :option:`--disable-test-modules` option to the ``configure`` script:
don't build nor install test modules. don't build nor install test modules.
(Contributed by Xavier de Gaye, Thomas Petazzoni and Peixing Xin in :issue:`27640`.) (Contributed by Xavier de Gaye, Thomas Petazzoni and Peixing Xin in :issue:`27640`.)
* Add ``--with-wheel-pkg-dir=PATH`` option to the ``./configure`` script. If * Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>`
to the ``./configure`` script. If
specified, the :mod:`ensurepip` module looks for ``setuptools`` and ``pip`` specified, the :mod:`ensurepip` module looks for ``setuptools`` and ``pip``
wheel packages in this directory: if both are present, these wheel packages wheel packages in this directory: if both are present, these wheel packages
are used instead of ensurepip bundled wheel packages. are used instead of ensurepip bundled wheel packages.
@ -1316,19 +1317,19 @@ Build Changes
(Contributed by Victor Stinner in :issue:`42856`.) (Contributed by Victor Stinner in :issue:`42856`.)
* Add a new configure ``--without-static-libpython`` option to not build the * Add a new :option:`configure --without-static-libpython option
``libpythonMAJOR.MINOR.a`` static library and not install the ``python.o`` <--without-static-libpython>` to not build the ``libpythonMAJOR.MINOR.a``
object file. static library and not install the ``python.o`` object file.
(Contributed by Victor Stinner in :issue:`43103`.) (Contributed by Victor Stinner in :issue:`43103`.)
* The ``configure`` script now uses the ``pkg-config`` utility, if available, * The ``configure`` script now uses the ``pkg-config`` utility, if available,
to detect the location of Tcl/Tk headers and libraries. As before, those to detect the location of Tcl/Tk headers and libraries. As before, those
locations can be explicitly specified with the ``--with-tcltk-includes`` locations can be explicitly specified with the :option:`--with-tcltk-includes`
and ``--with-tcltk-libs`` configuration options. and :option:`--with-tcltk-libs` configuration options.
(Contributed by Manolis Stamatogiannakis in :issue:`42603`.) (Contributed by Manolis Stamatogiannakis in :issue:`42603`.)
* Add ``--with-openssl-rpath`` option to ``configure`` script. The option * Add :option:`--with-openssl-rpath` option to ``configure`` script. The option
simplifies building Python with a custom OpenSSL installation, e.g. simplifies building Python with a custom OpenSSL installation, e.g.
``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. ``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``.
(Contributed by Christian Heimes in :issue:`43466`.) (Contributed by Christian Heimes in :issue:`43466`.)
@ -1405,8 +1406,8 @@ New Features
in debug mode because the :c:type:`PyObject` structure is the same in release in debug mode because the :c:type:`PyObject` structure is the same in release
and debug mode since Python 3.8 (see :issue:`36465`). and debug mode since Python 3.8 (see :issue:`36465`).
The limited C API is still not supported in the ``--with-trace-refs`` special The limited C API is still not supported in the :option:`--with-trace-refs`
build (``Py_TRACE_REFS`` macro). special build (``Py_TRACE_REFS`` macro).
(Contributed by Victor Stinner in :issue:`43688`.) (Contributed by Victor Stinner in :issue:`43688`.)
* Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is * Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is

View File

@ -1211,9 +1211,9 @@ Build Changes
non-system Tcl and Tk frameworks if they are installed in non-system Tcl and Tk frameworks if they are installed in
``/Library/Frameworks``, as had been the case on older releases ``/Library/Frameworks``, as had been the case on older releases
of macOS. If a macOS SDK is explicitly configured, by using of macOS. If a macOS SDK is explicitly configured, by using
``--enable-universalsdk=`` or ``-isysroot``, only the SDK itself is :option:`--enable-universalsdk` or ``-isysroot``, only the SDK itself is
searched. The default behavior can still be overridden with searched. The default behavior can still be overridden with
``--with-tcltk-includes`` and ``--with-tcltk-libs``. :option:`--with-tcltk-includes` and :option:`--with-tcltk-libs`.
(Contributed by Ned Deily in :issue:`34956`.) (Contributed by Ned Deily in :issue:`34956`.)
* Python can now be built for Windows 10 ARM64. * Python can now be built for Windows 10 ARM64.