# HG changeset patch
# User Victor Stinner <vstinner@python.org>
# Date 1618262855 -7200
#      Mon Apr 12 23:27:35 2021 +0200
# Node ID b40559f8493e2857b3b2362a273ee0f47e4b2c33
# Parent  f614f85ced55742a99d39713ab9bd69365b9b2ff
bpo-43774: Add more links to configure options (GH-25363)

diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -638,7 +638,7 @@
       Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable.
 
       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``.
 
@@ -820,7 +820,7 @@
       Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable.
 
       The option is ignored if Python is :option:`configured using
-      --without-pymalloc <--without-pymalloc>`.
+      the --without-pymalloc option <--without-pymalloc>`.
 
       Default: ``0``.
 
@@ -831,8 +831,8 @@
       Set by the :envvar:`PYTHONPLATLIBDIR` environment variable.
 
       Default: value of the ``PLATLIBDIR`` macro which is set by the
-      :option:`configure --with-platlibdir option <--with-platlibdir>` (default:
-      ``"lib"``).
+      :option:`configure --with-platlibdir option <--with-platlibdir>`
+      (default: ``"lib"``).
 
       Part of the :ref:`Python Path Configuration <init-path-config>` input.
 
diff --git a/Doc/howto/instrumentation.rst b/Doc/howto/instrumentation.rst
--- a/Doc/howto/instrumentation.rst
+++ b/Doc/howto/instrumentation.rst
@@ -46,7 +46,8 @@
    $ 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
 
@@ -77,7 +78,8 @@
    $ readelf -S ./python | grep .note.stapsdt
    [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::
 
    $ readelf -S libpython3.3dm.so.1.0 | grep .note.stapsdt
@@ -252,7 +254,7 @@
 
 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
 example, this line from the above example:
 
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -1484,8 +1484,8 @@
 
 .. data:: HAVE_CONTEXTVAR
 
-   The default value is ``True``. If Python is :option:`configured with
-   --without-decimal-contextvar <--without-decimal-contextvar>`,
+   The default value is ``True``. If Python is :option:`configured using
+   the --without-decimal-contextvar option <--without-decimal-contextvar>`,
    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.
 
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -1090,5 +1090,5 @@
 .. [#f1] The sqlite3 module is not built with loadable extension support by
    default, because some platforms (notably Mac OS X) have SQLite
    libraries which are compiled without this feature. To get loadable
-   extension support, you must pass ``--enable-loadable-sqlite-extensions`` to
-   configure.
+   extension support, you must pass the
+   :option:`--enable-loadable-sqlite-extensions` option to configure.
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -250,8 +250,9 @@
    Print low-level information to stderr about the state of CPython's memory
    allocator.
 
-   If Python is :option:`configured --with-pydebug <--with-pydebug>`, it also
-   performs some expensive internal consistency checks.
+   If Python is `built in debug mode <debug-build>` (:option:`configure
+   --with-pydebug option <--with-pydebug>`), it also performs some expensive
+   internal consistency checks.
 
    .. versionadded:: 3.3
 
diff --git a/Doc/library/zoneinfo.rst b/Doc/library/zoneinfo.rst
--- a/Doc/library/zoneinfo.rst
+++ b/Doc/library/zoneinfo.rst
@@ -124,8 +124,9 @@
 locations for time zone data). On POSIX systems, downstream distributors and
 those building Python from source who know where their system
 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
-``--with-tzpath``), which should be a string delimited by :data:`os.pathsep`.
+the compile-time option ``TZPATH`` (or, more likely, the :option:`configure
+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
 :func:`sysconfig.get_config_var`.
diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst
--- a/Doc/using/configure.rst
+++ b/Doc/using/configure.rst
@@ -19,7 +19,10 @@
 .. cmdoption:: --enable-loadable-sqlite-extensions
 
    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
 
@@ -54,8 +57,9 @@
 
 .. cmdoption:: --with-tzpath=<list of absolute paths separated by pathsep>
 
-   Select the default time zone search path for :data:`zoneinfo.TZPATH`,
-   see the :mod:`zoneinfo` module.
+   Select the default time zone search path for :data:`zoneinfo.TZPATH`.
+   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``.
 
@@ -287,6 +291,9 @@
 
    Enable DTrace support (default is no).
 
+   See :ref:`Instrumenting CPython with DTrace and SystemTap
+   <instrumentation>`.
+
    .. versionadded:: 3.6
 
 .. cmdoption:: --with-address-sanitizer
diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst
--- a/Doc/using/unix.rst
+++ b/Doc/using/unix.rst
@@ -168,6 +168,7 @@
          $ popd
 
 3. Build Python with custom OpenSSL
+   (see the configure `--with-openssl` and `--with-openssl-rpath` options)
 
    .. code-block:: shell-session
 
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -986,9 +986,9 @@
   van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy
   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.
-  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
   <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
@@ -1300,11 +1300,12 @@
 * The :mod:`atexit` module must now always be built as a built-in module.
   (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.
   (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``
   wheel packages in this directory: if both are present, these wheel packages
   are used instead of ensurepip bundled wheel packages.
@@ -1316,19 +1317,19 @@
 
   (Contributed by Victor Stinner in :issue:`42856`.)
 
-* Add a new configure ``--without-static-libpython`` option to not build the
-  ``libpythonMAJOR.MINOR.a`` static library and not install the ``python.o``
-  object file.
+* Add a new :option:`configure --without-static-libpython option
+  <--without-static-libpython>` to not build the ``libpythonMAJOR.MINOR.a``
+  static library and not install the ``python.o`` object file.
 
   (Contributed by Victor Stinner in :issue:`43103`.)
 
 * The ``configure`` script now uses the ``pkg-config`` utility, if available,
   to detect the location of Tcl/Tk headers and libraries.  As before, those
-  locations can be explicitly specified with the ``--with-tcltk-includes``
-  and ``--with-tcltk-libs`` configuration options.
+  locations can be explicitly specified with the :option:`--with-tcltk-includes`
+  and :option:`--with-tcltk-libs` configuration options.
   (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.
   ``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``.
   (Contributed by Christian Heimes in :issue:`43466`.)
@@ -1405,8 +1406,8 @@
   in debug mode because the :c:type:`PyObject` structure is the same in release
   and debug mode since Python 3.8 (see :issue:`36465`).
 
-  The limited C API is still not supported in the ``--with-trace-refs`` special
-  build (``Py_TRACE_REFS`` macro).
+  The limited C API is still not supported in the :option:`--with-trace-refs`
+  special build (``Py_TRACE_REFS`` macro).
   (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
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -1211,9 +1211,9 @@
   non-system Tcl and Tk frameworks if they are installed in
   ``/Library/Frameworks``, as had been the case on older releases
   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
-  ``--with-tcltk-includes`` and ``--with-tcltk-libs``.
+  :option:`--with-tcltk-includes` and :option:`--with-tcltk-libs`.
   (Contributed by Ned Deily in :issue:`34956`.)
 
 * Python can now be built for Windows 10 ARM64.