Mailing List Archive

bpo-45847: Update whatsnew and add place holder entries for missing extensions (GH-29914)
https://github.com/python/cpython/commit/64be8d369b7e3878078dbef466804ae8be49c1cf
commit: 64be8d369b7e3878078dbef466804ae8be49c1cf
branch: main
author: Christian Heimes <christian@python.org>
committer: tiran <christian@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@_dbm _dbmmodule.c
# gdbm module needs -lgdbm
@MODULE__GDBM_TRUE@_gdbm _gdbmmodule.c

+# needs -lreadline or -leditline, sometimes termcap, termlib, or tinfo
+#@MODULE_READLINE_TRUE@readline readline.c
+
# hashing builtins, can be disabled with --without-builtin-hashlib-hashes
@MODULE__MD5_TRUE@_md5 md5module.c
@MODULE__SHA1_TRUE@_sha1 sha1module.c
@@ -134,6 +138,11 @@
# needs -lffi and -ldl
@MODULE__CTYPES_TRUE@_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@_curses _cursesmodule.c
+# needs -lncurses and -lpanel
+#@MODULE__CURSES_PANEL_TRUE@_curses_panel _curses_panel.c
+
@MODULE__SQLITE3_TRUE@_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@_hashlib _hashopenssl.c

+# needs -ltk, -ltcl, and sometimes -lX11
+#@MODULE__TKINTER_TRUE@_tkinter _tkinter.c tkappinit.c
+
# Linux: -luuid, BSD/AIX: libc's uuid_create()
@MODULE__UUID_TRUE@_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])

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins