]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-100008: Document Python build requirements (#100009)
authorVictor Stinner <vstinner@python.org>
Mon, 5 Dec 2022 14:41:44 +0000 (15:41 +0100)
committerGitHub <noreply@github.com>
Mon, 5 Dec 2022 14:41:44 +0000 (15:41 +0100)
Document also configure --without-freelists option added to Python
3.11.

Doc/using/configure.rst
Doc/whatsnew/3.11.rst

index 0922972f9bf1dccd8c95707c592be882de0292fc..3df6ff4873b72e29844e95f90a1d830c687d1fa4 100644 (file)
@@ -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``).
index 6eb90df89cac0ed435e0cd59ced33cb3bccc7abf..7931988ed0b04dc0fdbf4d08d9eda897f430ac8f 100644 (file)
@@ -2131,7 +2131,7 @@ Build Changes
   (Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
 
 * Freelists for object structs can now be disabled. A new :program:`configure`
-  option :option:`!--without-freelists` can be used to disable all freelists
+  option :option:`--without-freelists` can be used to disable all freelists
   except empty tuple singleton.
   (Contributed by Christian Heimes in :issue:`45522`.)