Skip to content

Docs: update using/configure.rst #116274

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

Merged
merged 3 commits into from
Mar 3, 2024
Merged
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
54 changes: 31 additions & 23 deletions Doc/using/configure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
Configure Python
****************

.. highlight:: sh

Build Requirements
==================

Expand Down Expand Up @@ -30,31 +32,31 @@ Features and minimum versions required to build CPython:
* Autoconf 2.71 and aclocal 1.16.4 are required to regenerate the
:file:`configure` script.

.. versionchanged:: 3.13:
Autoconf 2.71, aclocal 1.16.4 and SQLite 3.15.2 are now required.
.. versionchanged:: 3.1
Tcl/Tk version 8.3.1 is now required.

.. versionchanged:: 3.11
C11 compiler, IEEE 754 and NaN support are now required.
On Windows, Visual Studio 2017 or later is required.
Tcl/Tk version 8.5.12 is now required for the :mod:`tkinter` module.
.. versionchanged:: 3.5
On Windows, Visual Studio 2015 or later is now required.
Tcl/Tk version 8.4 is now required.

.. versionchanged:: 3.10
OpenSSL 1.1.1 is now required.
Require SQLite 3.7.15.
.. versionchanged:: 3.6
Selected C99 features are now required, like ``<stdint.h>`` and ``static
inline`` functions.

.. versionchanged:: 3.7
Thread support and OpenSSL 1.0.2 are now required.

.. versionchanged:: 3.6
Selected C99 features are now required, like ``<stdint.h>`` and ``static
inline`` functions.
.. versionchanged:: 3.10
OpenSSL 1.1.1 is now required.
Require SQLite 3.7.15.

.. versionchanged:: 3.5
On Windows, Visual Studio 2015 or later is now required.
Tcl/Tk version 8.4 is now required.
.. versionchanged:: 3.11
C11 compiler, IEEE 754 and NaN support are now required.
On Windows, Visual Studio 2017 or later is required.
Tcl/Tk version 8.5.12 is now required for the :mod:`tkinter` module.

.. versionchanged:: 3.1
Tcl/Tk version 8.3.1 is now required.
.. versionchanged:: 3.13
Autoconf 2.71, aclocal 1.16.4 and SQLite 3.15.2 are now required.

See also :pep:`7` "Style Guide for C Code" and :pep:`11` "CPython platform
support".
Expand Down Expand Up @@ -275,7 +277,7 @@ General Options
* to/from free lists;
* dictionary materialized/dematerialized;
* type cache;
* optimization attemps;
* optimization attempts;
* optimization traces created/executed;
* uops executed.

Expand Down Expand Up @@ -694,12 +696,12 @@ Debug options

:ref:`Statically allocated objects <static-types>` are not traced.

.. versionadded:: 3.8

.. versionchanged:: 3.13
This build is now ABI compatible with release build and :ref:`debug build
<debug-build>`.

.. versionadded:: 3.8

.. option:: --with-assertions

Build with C assertions enabled (default is no): ``assert(...);`` and
Expand Down Expand Up @@ -941,7 +943,9 @@ the version of the cross compiled host Python.

An environment variable that points to a file with configure overrides.

Example *config.site* file::
Example *config.site* file:

.. code-block:: ini

# config.site-aarch64
ac_cv_buggy_getaddrinfo=no
Expand Down Expand Up @@ -1019,7 +1023,9 @@ C extensions

Some C extensions are built as built-in modules, like the ``sys`` module.
They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined.
Built-in modules have no ``__file__`` attribute::
Built-in modules have no ``__file__`` attribute:

.. code-block:: pycon

>>> import sys
>>> sys
Expand All @@ -1031,7 +1037,9 @@ Built-in modules have no ``__file__`` attribute::

Other C extensions are built as dynamic libraries, like the ``_asyncio`` module.
They are built with the ``Py_BUILD_CORE_MODULE`` macro defined.
Example on Linux x86-64::
Example on Linux x86-64:

.. code-block:: pycon

>>> import _asyncio
>>> _asyncio
Expand Down