From 76cfe6f9d249c280cb314464ebe3b178486cca63 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 29 Aug 2023 17:56:17 +0200 Subject: [PATCH 1/6] Document Python build requirements * Autoconf and aclocal: issue GH-89886 * SQLite 3.15.2: issue GH-105875 * Tcl/Tk 8.5.12: issue GH-91152 --- Doc/using/configure.rst | 14 +++++++++++--- Doc/whatsnew/3.13.rst | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 6279b0efbf9321..0d93c8d6d198b8 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -5,7 +5,9 @@ Configure Python Build Requirements ================== -Features required to build CPython: +Features and minimum versions required to build CPython: + +* On Windows, Microsoft Visual Studio 2017 or later is required. * A `C11 `_ compiler. `Optional C11 features @@ -18,13 +20,19 @@ Features required to build CPython: * Support for threads. -* OpenSSL 1.1.1 or newer for the :mod:`ssl` and :mod:`hashlib` modules. +* OpenSSL 1.1.1 for the :mod:`ssl` and :mod:`hashlib` extension modules. -* On Windows, Microsoft Visual Studio 2017 or later is required. +* SQLite 3.15.2 for the :mod:`sqlite3` extension module. + +* Tcl/Tk 8.5.12 for the :mod:`tkinter` module. + +* Autoconf 2.71 and aclocal 1.16.4 are required to regenerate the ``configure`` + script. .. 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.10 OpenSSL 1.1.1 is now required. diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 1c94da23bc1b70..0301f679f74b0e 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -815,7 +815,7 @@ Build Changes ============= * Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate - :file:`!configure`. + the ``configure`` script. (Contributed by Christian Heimes in :gh:`89886`.) * SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension module. From ccd7ae6cb8da2bbff0400b7f8e842bdd4d1659d5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 29 Aug 2023 19:30:39 +0200 Subject: [PATCH 2/6] Use :file:`configure` syntax --- Doc/using/configure.rst | 6 +++--- Doc/whatsnew/3.13.rst | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 0d93c8d6d198b8..635082b76929e9 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -26,8 +26,8 @@ Features and minimum versions required to build CPython: * Tcl/Tk 8.5.12 for the :mod:`tkinter` module. -* Autoconf 2.71 and aclocal 1.16.4 are required to regenerate the ``configure`` - script. +* Autoconf 2.71 and aclocal 1.16.4 are required to regenerate the + :file:`configure` script. .. versionchanged:: 3.11 C11 compiler, IEEE 754 and NaN support are now required. @@ -56,7 +56,7 @@ support". Configure Options ================= -List all ``./configure`` script options using:: +List all :file:`configure` script options using:: ./configure --help diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 0301f679f74b0e..bcc9996c4eec7f 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -815,7 +815,7 @@ Build Changes ============= * Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate - the ``configure`` script. + the :file:`configure` script. (Contributed by Christian Heimes in :gh:`89886`.) * SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension module. From 0263d536594cd154c7e40b696d1cb98ec9adb81b Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 30 Aug 2023 00:33:40 +0200 Subject: [PATCH 3/6] Address Erlend's review --- Doc/using/configure.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 635082b76929e9..3724a415b492a8 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -20,7 +20,8 @@ Features and minimum versions required to build CPython: * Support for threads. -* OpenSSL 1.1.1 for the :mod:`ssl` and :mod:`hashlib` extension modules. +* OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.9 is the recommended + version for the :mod:`ssl` and :mod:`hashlib` extension modules. * SQLite 3.15.2 for the :mod:`sqlite3` extension module. @@ -29,6 +30,9 @@ 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.11 C11 compiler, IEEE 754 and NaN support are now required. On Windows, Visual Studio 2017 or later is required. From 82be2e8617577d1fe2146a3ace60f678c02d7f76 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 30 Aug 2023 01:07:59 +0200 Subject: [PATCH 4/6] recommended minimum version --- Doc/using/configure.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 3724a415b492a8..1fe5764f5ceb3c 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -21,7 +21,7 @@ Features and minimum versions required to build CPython: * Support for threads. * OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.9 is the recommended - version for the :mod:`ssl` and :mod:`hashlib` extension modules. + minimum version for the :mod:`ssl` and :mod:`hashlib` extension modules. * SQLite 3.15.2 for the :mod:`sqlite3` extension module. From d5d6d45f3ebc8944a4b9b95c4913e0cd81272d9d Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 30 Aug 2023 13:53:19 +0200 Subject: [PATCH 5/6] History of Tcl/Tk requirement --- Doc/using/configure.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 1fe5764f5ceb3c..fb368e1327bdca 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -7,13 +7,13 @@ Build Requirements Features and minimum versions required to build CPython: -* On Windows, Microsoft Visual Studio 2017 or later is required. - * A `C11 `_ compiler. `Optional C11 features `_ are not required. +* On Windows, Microsoft Visual Studio 2017 or later is required. + * Support for `IEEE 754 `_ floating point numbers and `floating point Not-a-Number (NaN) `_. @@ -49,7 +49,11 @@ Features and minimum versions required to build CPython: inline`` functions. .. versionchanged:: 3.5 - On Windows, Visual Studio 2015 or later is required. + On Windows, Visual Studio 2015 or later is now required. + Tcl/Tk version 8.4 is now required. + +.. versionchanged:: 3.1 + Tcl/Tk version 8.3.1 is now required. See also :pep:`7` "Style Guide for C Code" and :pep:`11` "CPython platform support". From f3cea5f09182a62aad9852e64c9caf17be302607 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 30 Aug 2023 14:53:38 +0200 Subject: [PATCH 6/6] Complete SQLite requirement history --- Doc/using/configure.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index fb368e1327bdca..a16a4afffb1afe 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -40,6 +40,7 @@ Features and minimum versions required to build CPython: .. versionchanged:: 3.10 OpenSSL 1.1.1 is now required. + Require SQLite 3.7.15. .. versionchanged:: 3.7 Thread support and OpenSSL 1.0.2 are now required.