[Python-checkins] bpo-40280: Use Setup.stdlib static for wasm builds (GH-29784)

tiran webhook-mailer at python.org
Fri Nov 26 02:26:59 EST 2021


https://github.com/python/cpython/commit/ee1e2c604c8a66a407116d9c3e589ab0b9580c54
commit: ee1e2c604c8a66a407116d9c3e589ab0b9580c54
branch: main
author: Christian Heimes <christian at python.org>
committer: tiran <christian at python.org>
date: 2021-11-26T08:26:49+01:00
summary:

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``.

files:
M Modules/Setup.stdlib.in
M configure
M configure.ac

diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in
index eadd1619a3b38..03295400f638c 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 944e97ccf9929..1aaa13abd6816 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 2140e3e43db82..7963f9ccaf80a 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"])])



More information about the Python-checkins mailing list