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