From ee1e2c604c8a66a407116d9c3e589ab0b9580c54 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 26 Nov 2021 09:26:49 +0200 Subject: [PATCH] bpo-40280: Use Setup.stdlib static for wasm builds (GH-29784) ``Modules/Setup.stdlib`` contains ``Setup`` lines for all stdlib extension modules for which ``configure`` has detected their dependencies. The file is not used yet and still under development. To use the file, do ``ln -sfr Modules/Setup.stdlib Modules/Setup.local``. --- Modules/Setup.stdlib.in | 4 ++-- configure | 10 ++++++++++ configure.ac | 7 +++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index eadd1619a3b380..03295400f638c3 100644 --- a/Modules/Setup.stdlib.in +++ b/Modules/Setup.stdlib.in @@ -22,8 +22,8 @@ # Build modules statically or as shared extensions -*shared* -# *static* +# *shared* / *static* +*@MODULE_BUILDTYPE@* ############################################################################ diff --git a/configure b/configure index 944e97ccf99293..1aaa13abd68161 100755 --- a/configure +++ b/configure @@ -770,6 +770,7 @@ MODULE_TIME_FALSE MODULE_TIME_TRUE MODULE__IO_FALSE MODULE__IO_TRUE +MODULE_BUILDTYPE TEST_MODULES LIBRARY_DEPS STATIC_LIBPYTHON @@ -21012,6 +21013,15 @@ case $ac_sys_system in #( ;; esac +case $host_cpu in #( + wasm32|wasm64) : + MODULE_BUILDTYPE=static ;; #( + *) : + MODULE_BUILDTYPE=${MODULE_BUILDTYPE:-shared} + ;; +esac + + MODULE_BLOCK= diff --git a/configure.ac b/configure.ac index 2140e3e43db823..7963f9ccaf80a5 100644 --- a/configure.ac +++ b/configure.ac @@ -6185,6 +6185,13 @@ AS_CASE([$ac_sys_system], [py_stdlib_not_available="_scproxy"] ) +dnl Default value for Modules/Setup.stdlib build type +AS_CASE([$host_cpu], + [wasm32|wasm64], [MODULE_BUILDTYPE=static], + [MODULE_BUILDTYPE=${MODULE_BUILDTYPE:-shared}] +) +AC_SUBST([MODULE_BUILDTYPE]) + dnl _MODULE_BLOCK_ADD([VAR], [VALUE]) dnl internal: adds $1=quote($2) to MODULE_BLOCK AC_DEFUN([_MODULE_BLOCK_ADD], [AS_VAR_APPEND([MODULE_BLOCK], ["$1=_AS_QUOTE([$2])$as_nl"])])