From a28b22831e1f88560790e29d3ad72e009ab39db0 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sat, 4 Dec 2021 13:25:59 +0100 Subject: [PATCH] bpo-45847: Update whatsnew and add place holder entries for missing extensions --- Doc/whatsnew/3.11.rst | 13 ++++++------- Modules/Setup.stdlib.in | 12 ++++++++++++ configure.ac | 5 +++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index c498225591a74c..10dc30939414c5 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 ff92db3cc37842..eaf624d8bc579b 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 40dc6f425f26f3..39890fe38f0a13 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])