bpo-43774: Document configure options (GH-25283)
Add Doc/using/configure.rst documentation to document configure,
preprocessor, compiler and linker options.
Add a new section about the "Python debug build".
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
index e194649..35a263a 100644
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -1484,7 +1484,8 @@
.. data:: HAVE_CONTEXTVAR
- The default value is ``True``. If Python is compiled ``--without-decimal-contextvar``,
+ The default value is ``True``. If Python is :option:`configured with
+ --without-decimal-contextvar <--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/devmode.rst b/Doc/library/devmode.rst
index e6ed594..44e7d4f 100644
--- a/Doc/library/devmode.rst
+++ b/Doc/library/devmode.rst
@@ -13,6 +13,8 @@
It can be enabled using the :option:`-X dev <-X>` command line option or by
setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``.
+See also :ref:`Python debug build <debug-build>`.
+
Effects of the Python Development Mode
======================================
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 0929f32..68b6050 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1581,13 +1581,15 @@
By default, the *errors* argument is not checked for best performances, but
only used at the first encoding error. Enable the :ref:`Python Development
- Mode <devmode>`, or use a debug build to check *errors*.
+ Mode <devmode>`, or use a :ref:`debug build <debug-build>` to check
+ *errors*.
.. versionchanged:: 3.1
Support for keyword arguments added.
.. versionchanged:: 3.9
- The *errors* is now checked in development mode and in debug mode.
+ The *errors* is now checked in development mode and
+ in :ref:`debug mode <debug-build>`.
.. method:: str.endswith(suffix[, start[, end]])
@@ -2710,7 +2712,7 @@
By default, the *errors* argument is not checked for best performances, but
only used at the first decoding error. Enable the :ref:`Python Development
- Mode <devmode>`, or use a debug build to check *errors*.
+ Mode <devmode>`, or use a :ref:`debug build <debug-build>` to check *errors*.
.. note::
@@ -2722,7 +2724,8 @@
Added support for keyword arguments.
.. versionchanged:: 3.9
- The *errors* is now checked in development mode and in debug mode.
+ The *errors* is now checked in development mode and
+ in :ref:`debug mode <debug-build>`.
.. method:: bytes.endswith(suffix[, start[, end]])
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 80b30d0..d85eadb 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -250,8 +250,8 @@
Print low-level information to stderr about the state of CPython's memory
allocator.
- If Python is configured --with-pydebug, it also performs some expensive
- internal consistency checks.
+ If Python is :option:`configured --with-pydebug <--with-pydebug>`, it also
+ performs some expensive internal consistency checks.
.. versionadded:: 3.3
diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst
index 9c1743c..fe11aab 100644
--- a/Doc/library/warnings.rst
+++ b/Doc/library/warnings.rst
@@ -229,7 +229,7 @@
ignore::ImportWarning
ignore::ResourceWarning
-In debug builds, the list of default warning filters is empty.
+In a :ref:`debug build <debug-build>`, the list of default warning filters is empty.
.. versionchanged:: 3.2
:exc:`DeprecationWarning` is now ignored by default in addition to