[Python-checkins] bpo-45847: Update whatsnew and add place holder entries for missing extensions (GH-29914)

tiran webhook-mailer at python.org
Sat Dec 4 09:14:57 EST 2021


https://github.com/python/cpython/commit/64be8d369b7e3878078dbef466804ae8be49c1cf
commit: 64be8d369b7e3878078dbef466804ae8be49c1cf
branch: main
author: Christian Heimes <christian at python.org>
committer: tiran <christian at python.org>
date: 2021-12-04T15:14:48+01:00
summary:

bpo-45847: Update whatsnew and add place holder entries for missing extensions (GH-29914)

files:
M Doc/whatsnew/3.11.rst
M Modules/Setup.stdlib.in
M configure.ac

diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index c498225591a74..10dc30939414c 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -583,13 +583,12 @@ Build Changes
   (Contributed by Brett Cannon and Christian Heimes in :issue:`45548`,
   :issue:`45570`, :issue:`45571`, and :issue:`43974`.)
 
-* The build dependencies for :mod:`zlib`, :mod:`bz2`, and :mod:`lzma` are now
-  detected by :program:`configure`.
-  (Contributed by Christian Heimes in :issue:`45763`.)
-
-* Build dependencies for :mod:`dbm` are now detected by :program:`configure`.
-  ``libdb`` 3.x and 4.x are no longer supported.
-  (Contributed by Christian Heimes in :issue:`45747`.)
+* Build dependencies, compiler flags, and linker flags for most stdlib
+  extension modules are now detected by :program:`configure`. libffi, libnsl,
+  libsqlite3, zlib, bzip2, liblzma, libcrypt, and uuid flags are detected by
+  ``pkg-config`` (when available).
+  (Contributed by Christian Heimes and Erlend Egeberg Aasland in
+  :issue:`bpo-45847`, :issue:`45747`, and :issue:`45763`.)
 
 * CPython now has experimental support for cross compiling to WebAssembly
   platform ``wasm32-emscripten``. The effort is inspired by previous work
diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in
index ff92db3cc3784..eaf624d8bc579 100644
--- a/Modules/Setup.stdlib.in
+++ b/Modules/Setup.stdlib.in
@@ -68,9 +68,13 @@
 
 # dbm/gdbm
 # dbm needs either libndbm, libgdbm_compat, or libdb 5.x
+#@MODULE__DBM_TRUE at _dbm _dbmmodule.c
 # gdbm module needs -lgdbm
 @MODULE__GDBM_TRUE at _gdbm _gdbmmodule.c
 
+# needs -lreadline or -leditline, sometimes termcap, termlib, or tinfo
+#@MODULE_READLINE_TRUE at readline readline.c
+
 # hashing builtins, can be disabled with --without-builtin-hashlib-hashes
 @MODULE__MD5_TRUE at _md5 md5module.c
 @MODULE__SHA1_TRUE at _sha1 sha1module.c
@@ -134,6 +138,11 @@
 # needs -lffi and -ldl
 @MODULE__CTYPES_TRUE at _ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c
 
+# needs -lncurses, -lncursesw or -lcurses, sometimes -ltermcap
+#@MODULE__CURSES_TRUE at _curses _cursesmodule.c
+# needs -lncurses and -lpanel
+#@MODULE__CURSES_PANEL_TRUE at _curses_panel _curses_panel.c
+
 @MODULE__SQLITE3_TRUE at _sqlite3 _sqlite/connection.c _sqlite/cursor.c _sqlite/microprotocols.c _sqlite/module.c _sqlite/prepare_protocol.c _sqlite/row.c _sqlite/statement.c _sqlite/util.c
 
 # needs -lssl and -lcrypt
@@ -141,6 +150,9 @@
 # needs -lcrypt
 @MODULE__HASHLIB_TRUE at _hashlib _hashopenssl.c
 
+# needs -ltk, -ltcl, and sometimes -lX11
+#@MODULE__TKINTER_TRUE at _tkinter _tkinter.c tkappinit.c
+
 # Linux: -luuid, BSD/AIX: libc's uuid_create()
 @MODULE__UUID_TRUE at _uuid _uuidmodule.c
 
diff --git a/configure.ac b/configure.ac
index 40dc6f425f26f..39890fe38f0a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6480,17 +6480,22 @@ PY_STDLIB_MOD([_crypt],
 PY_STDLIB_MOD([_ctypes],
   [], [test "$have_libffi" = yes],
   [$LIBFFI_CFLAGS], [$LIBFFI_LIBS])
+dnl PY_STDLIB_MOD([_curses], [], [], [], [])
+dnl PY_STDLIB_MOD([_curses_panel], [], [], [], [])
 PY_STDLIB_MOD([_decimal], [], [], [$LIBMPDEC_CFLAGS], [$LIBMPDEC_LDFLAGS])
+dnl PY_STDLIB_MOD([_dbm], [], [], [], [])
 PY_STDLIB_MOD([_gdbm],
   [test "$have_gdbm_dbmliborder" = yes], [test "$have_gdbm" = yes],
   [$GDBM_CFLAGS], [$GDBM_LIBS])
 PY_STDLIB_MOD([nis],
   [], [test "$have_nis" = yes -a "$ac_cv_header_rpc_rpc_h" = yes],
   [$LIBNSL_CFLAGS], [$LIBNSL_LIBS])
+dnl PY_STDLIB_MOD([readline], [], [], [], [])
 PY_STDLIB_MOD([_sqlite3],
   [test "$have_sqlite3" = "yes"],
   [test "$have_supported_sqlite3" = "yes"],
   [$LIBSQLITE3_CFLAGS], [$LIBSQLITE3_LIBS])
+dnl PY_STDLIB_MOD([_tkinter], [], [], [], [])
 PY_STDLIB_MOD([_uuid],
   [], [test "$have_uuid" = "yes"],
   [$LIBUUID_CFLAGS], [$LIBUUID_LIBS])



More information about the Python-checkins mailing list