Skip to content

Commit 5ea052b

Browse files
authored
gh-100008: Document Python build requirements (#100009)
Document also configure --without-freelists option added to Python 3.11.
1 parent 038b151 commit 5ea052b

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

Doc/using/configure.rst

+46
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22
Configure Python
33
****************
44

5+
Build Requirements
6+
==================
7+
8+
Features required to build CPython:
9+
10+
* A `C11 <https://en.cppreference.com/w/c/11>`_ compiler. `Optional C11
11+
features
12+
<https://en.wikipedia.org/wiki/C11_(C_standard_revision)#Optional_features>`_
13+
are not required.
14+
15+
* Support for `IEEE 754 <https://en.wikipedia.org/wiki/IEEE_754>`_ floating
16+
point numbers and `floating point Not-a-Number (NaN)
17+
<https://en.wikipedia.org/wiki/NaN#Floating_point>`_.
18+
19+
* Support for threads.
20+
21+
* OpenSSL 1.1.1 or newer for the :mod:`ssl` and :mod:`hashlib` modules.
22+
23+
* On Windows, Microsoft Visual Studio 2017 or later is required.
24+
25+
.. versionchanged:: 3.11
26+
C11 compiler, IEEE 754 and NaN support are now required.
27+
28+
.. versionchanged:: 3.10
29+
OpenSSL 1.1.1 is now required.
30+
31+
.. versionchanged:: 3.7
32+
Thread support and OpenSSL 1.0.2 are now required.
33+
34+
.. versionchanged:: 3.6
35+
Selected C99 features are now required, like ``<stdint.h>`` and ``static
36+
inline`` functions.
37+
38+
.. versionchanged:: 3.5
39+
On Windows, Visual Studio 2015 or later is required.
40+
41+
See also :pep:`7` "Style Guide for C Code" and :pep:`11` "CPython platform
42+
support".
43+
44+
545
.. _configure-options:
646

747
Configure Options
@@ -93,6 +133,12 @@ General Options
93133

94134
See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`.
95135

136+
.. cmdoption:: --without-freelists
137+
138+
Disable all freelists except the empty tuple singleton.
139+
140+
.. versionadded:: 3.11
141+
96142
.. cmdoption:: --with-platlibdir=DIRNAME
97143

98144
Python library directory name (default is ``lib``).

Doc/whatsnew/3.11.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -2131,7 +2131,7 @@ Build Changes
21312131
(Contributed by Dong-hee Na and Brett Holman in :issue:`44340`.)
21322132

21332133
* Freelists for object structs can now be disabled. A new :program:`configure`
2134-
option :option:`!--without-freelists` can be used to disable all freelists
2134+
option :option:`--without-freelists` can be used to disable all freelists
21352135
except empty tuple singleton.
21362136
(Contributed by Christian Heimes in :issue:`45522`.)
21372137

0 commit comments

Comments
 (0)