summaryrefslogtreecommitdiffstats
path: root/Doc/using/configure.rst
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-12-05 14:41:44 (GMT)
committerGitHub <noreply@github.com>2022-12-05 14:41:44 (GMT)
commit5ea052bb0c8fa76867751046c89f69db5661ed4f (patch)
treeb29f03a85bd7da154d5ed3e3ce31e0839d38f684 /Doc/using/configure.rst
parent038b151963d9d4a5f4c852544fb5b0402ffcb218 (diff)
downloadcpython-5ea052bb0c8fa76867751046c89f69db5661ed4f.zip
cpython-5ea052bb0c8fa76867751046c89f69db5661ed4f.tar.gz
cpython-5ea052bb0c8fa76867751046c89f69db5661ed4f.tar.bz2
gh-100008: Document Python build requirements (#100009)
Document also configure --without-freelists option added to Python 3.11.
Diffstat (limited to 'Doc/using/configure.rst')
-rw-r--r--Doc/using/configure.rst46
1 files changed, 46 insertions, 0 deletions
diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst
index 0922972..3df6ff4 100644
--- a/Doc/using/configure.rst
+++ b/Doc/using/configure.rst
@@ -2,6 +2,46 @@
Configure Python
****************
+Build Requirements
+==================
+
+Features required to build CPython:
+
+* A `C11 <https://en.cppreference.com/w/c/11>`_ compiler. `Optional C11
+ features
+ <https://en.wikipedia.org/wiki/C11_(C_standard_revision)#Optional_features>`_
+ are not required.
+
+* Support for `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_ floating
+ point numbers and `floating point Not-a-Number (NaN)
+ <https://en.wikipedia.org/wiki/NaN#Floating_point>`_.
+
+* Support for threads.
+
+* OpenSSL 1.1.1 or newer for the :mod:`ssl` and :mod:`hashlib` modules.
+
+* On Windows, Microsoft Visual Studio 2017 or later is required.
+
+.. versionchanged:: 3.11
+ C11 compiler, IEEE 754 and NaN support are now required.
+
+.. versionchanged:: 3.10
+ OpenSSL 1.1.1 is now required.
+
+.. 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.5
+ On Windows, Visual Studio 2015 or later is required.
+
+See also :pep:`7` "Style Guide for C Code" and :pep:`11` "CPython platform
+support".
+
+
.. _configure-options:
Configure Options
@@ -93,6 +133,12 @@ General Options
See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`.
+.. cmdoption:: --without-freelists
+
+ Disable all freelists except the empty tuple singleton.
+
+ .. versionadded:: 3.11
+
.. cmdoption:: --with-platlibdir=DIRNAME
Python library directory name (default is ``lib``).