diff options
author | Victor Stinner <vstinner@python.org> | 2022-12-05 14:41:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-05 14:41:44 (GMT) |
commit | 5ea052bb0c8fa76867751046c89f69db5661ed4f (patch) | |
tree | b29f03a85bd7da154d5ed3e3ce31e0839d38f684 | |
parent | 038b151963d9d4a5f4c852544fb5b0402ffcb218 (diff) | |
download | cpython-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.
-rw-r--r-- | Doc/using/configure.rst | 46 | ||||
-rw-r--r-- | Doc/whatsnew/3.11.rst | 2 |
2 files changed, 47 insertions, 1 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``). diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 6eb90df..7931988 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -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`.) |