summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-04-14 17:27:41 +0300
committerGitHub <noreply@github.com>2022-04-14 16:27:41 +0200
commit7acedd71dec4e60400c865911e8961dbb49d5597 (patch)
tree950e8aaf6aa4c6c6c591692cbd4f2bdd5623ee93 /configure.ac
parent1b035d9699aaebbe4f1ca096345d538caa07907a (diff)
downloadcpython-git-7acedd71dec4e60400c865911e8961dbb49d5597.tar.gz
gh-84461: Drop -sWASM, fix building tests for browser (GH-91530)
- drop unnecessary ``=1`` suffix from Emscripten flags - drop unnecessary ``-sWASM`` flag for side modules - rename ``build_platform`` to ``build_wasm``. I introduced the target for WASM builds a couple of months ago. - fix ``--enable-test-modules`` for browser builds
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac57
1 files changed, 27 insertions, 30 deletions
diff --git a/configure.ac b/configure.ac
index 6a460cd94c..5c915d1a45 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1574,10 +1574,10 @@ if test "$Py_OPT" = 'true' ; then
])
;;
esac
-elif test "$ac_sys_system" = "Emscripten"; then
+elif test "$ac_sys_system" = "Emscripten" -o "$ac_sys_system" = "WASI"; then
dnl Emscripten does not support shared extensions yet. Build
- dnl "python.[js,html,wasm]", "pybuilddir.txt", and "platform" files.
- DEF_MAKE_ALL_RULE="build_platform"
+ dnl "python.[js,wasm]", "pybuilddir.txt", and "platform" files.
+ DEF_MAKE_ALL_RULE="build_wasm"
REQUIRE_PGO="no"
DEF_MAKE_RULE="all"
else
@@ -1911,30 +1911,30 @@ fi
# WASM flags
AS_CASE([$ac_sys_system/$ac_sys_emscripten_target],
[Emscripten/browser*], [
- LDFLAGS_NODIST="$LDFLAGS_NODIST -sALLOW_MEMORY_GROWTH=1"
+ LDFLAGS_NODIST="$LDFLAGS_NODIST -sALLOW_MEMORY_GROWTH"
LINKFORSHARED="--preload-file=\$(WASM_ASSETS_DIR)"
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
- AS_VAR_APPEND([LINKFORSHARED], [" -sMAIN_MODULE=1"])
+ AS_VAR_APPEND([LINKFORSHARED], [" -sMAIN_MODULE"])
])
WASM_ASSETS_DIR=".\$(prefix)"
WASM_STDLIB="\$(WASM_ASSETS_DIR)/local/lib/python\$(VERSION)/os.py"
dnl separate-dwarf does not seem to work in Chrome DevTools Support.
if test "$Py_DEBUG" = 'true' -o "$ac_sys_emscripten_target" = "browser-debug"; then
- LDFLAGS_NODIST="$LDFLAGS_NODIST -sASSERTIONS=1"
+ LDFLAGS_NODIST="$LDFLAGS_NODIST -sASSERTIONS"
LINKFORSHARED="$LINKFORSHARED -gsource-map --emit-symbol-map"
else
LINKFORSHARED="$LINKFORSHARED -O2 -g0"
fi
],
[Emscripten/node*], [
- LDFLAGS_NODIST="$LDFLAGS_NODIST -sALLOW_MEMORY_GROWTH=1 -sNODERAWFS=1 -sUSE_PTHREADS=1"
- LINKFORSHARED="-sPROXY_TO_PTHREAD=1 -sEXIT_RUNTIME=1"
+ LDFLAGS_NODIST="$LDFLAGS_NODIST -sALLOW_MEMORY_GROWTH -sNODERAWFS -sUSE_PTHREADS"
+ LINKFORSHARED="-sPROXY_TO_PTHREAD -sEXIT_RUNTIME"
AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [
- AS_VAR_APPEND([LINKFORSHARED], [" -sMAIN_MODULE=1"])
+ AS_VAR_APPEND([LINKFORSHARED], [" -sMAIN_MODULE"])
])
CFLAGS_NODIST="$CFLAGS_NODIST -pthread"
if test "$Py_DEBUG" = 'true' -o "$ac_sys_emscripten_target" = "node-debug"; then
- LDFLAGS_NODIST="$LDFLAGS_NODIST -sASSERTIONS=1"
+ LDFLAGS_NODIST="$LDFLAGS_NODIST -sASSERTIONS"
LINKFORSHARED="$LINKFORSHARED -gseparate-dwarf --emit-symbol-map"
else
LINKFORSHARED="$LINKFORSHARED -O2 -g0"
@@ -3009,7 +3009,7 @@ fi
dnl Emscripten's emconfigure sets LDSHARED. Set BLDSHARED outside the
dnl test -z $LDSHARED block to configure BLDSHARED for side module support.
if test "$enable_wasm_dynamic_linking" = "yes" -a "$ac_sys_system" = "Emscripten"; then
- BLDSHARED='$(CC) -shared -sSIDE_MODULE=1 -sWASM=1'
+ BLDSHARED='$(CC) -shared -sSIDE_MODULE=1'
fi
AC_MSG_RESULT($LDSHARED)
@@ -4549,8 +4549,8 @@ PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.0], [
])
if test "$have_zlib" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$ZLIB_LIBS" = "-lz"; then
- ZLIB_CFLAGS="-sUSE_ZLIB=1"
- ZLIB_LIBS="-sUSE_ZLIB=1"
+ ZLIB_CFLAGS="-sUSE_ZLIB"
+ ZLIB_LIBS="-sUSE_ZLIB"
fi
dnl binascii can use zlib for optimized crc32.
@@ -4572,8 +4572,8 @@ PKG_CHECK_MODULES([BZIP2], [bzip2], [have_bzip2=yes], [
])
if test "$have_bzip2" = "yes" -a "$ac_sys_system" = "Emscripten" -a "$BZIP2_LIBS" = "-lbz2"; then
- BZIP2_CFLAGS="-sUSE_BZIP2=1"
- BZIP2_LIBS="-sUSE_BZIP2=1"
+ BZIP2_CFLAGS="-sUSE_BZIP2"
+ BZIP2_LIBS="-sUSE_BZIP2"
fi
@@ -6557,21 +6557,18 @@ fi],
# Check whether to disable test modules. Once set, setup.py will not build
# test extension modules and "make install" will not install test suites.
-AC_MSG_CHECKING(for --disable-test-modules)
-AC_ARG_ENABLE(test-modules,
- AS_HELP_STRING([--disable-test-modules], [don't build nor install test modules]))
-if test "$enable_test_modules" = no; then
- TEST_MODULES=no
-else
- AS_CASE([$ac_sys_system/$ac_sys_emscripten_target],
- [Emscripten/browser*], [TEST_MODULES=no],
- [TEST_MODULES=yes]
- )
-fi
-AS_VAR_IF([TEST_MODULES], [yes],
- [AC_MSG_RESULT(no)], [AC_MSG_RESULT(yes)]
-)
-AC_SUBST(TEST_MODULES)
+AC_MSG_CHECKING([for --disable-test-modules])
+AC_ARG_ENABLE([test-modules],
+ [AS_HELP_STRING([--disable-test-modules], [don't build nor install test modules])], [
+ AS_VAR_IF([enable_test_modules], [yes], [TEST_MODULES=yes], [TEST_MODULES=no])
+], [
+ AS_CASE([$ac_sys_system/$ac_sys_emscripten_target],
+ [Emscripten/browser*], [TEST_MODULES=no],
+ [TEST_MODULES=yes]
+ )
+])
+AC_MSG_RESULT([$TEST_MODULES])
+AC_SUBST([TEST_MODULES])
AC_DEFUN([PY_STDLIB_MOD_SET_NA], [
m4_foreach([mod], [$@], [