summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-06-24 15:03:42 (GMT)
committerGitHub <noreply@github.com>2022-06-24 15:03:42 (GMT)
commite69306f08b9be84ccdd0a1c6601ec229c4e5b377 (patch)
treeae26c9a084846fa80a90f95628cb6898d8c11dc1
parent51fd4de101349bbea8afa4e212489f4b87e3a99b (diff)
downloadcpython-e69306f08b9be84ccdd0a1c6601ec229c4e5b377.zip
cpython-e69306f08b9be84ccdd0a1c6601ec229c4e5b377.tar.gz
cpython-e69306f08b9be84ccdd0a1c6601ec229c4e5b377.tar.bz2
gh-84461: Build Emscripten with WASM BigInt support (#94219)
-rw-r--r--Tools/wasm/README.md4
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac3
3 files changed, 8 insertions, 1 deletions
diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md
index 94b3729..40f23a3 100644
--- a/Tools/wasm/README.md
+++ b/Tools/wasm/README.md
@@ -98,9 +98,11 @@ popd
```
```shell
-node --experimental-wasm-threads --experimental-wasm-bulk-memory builddir/emscripten-node/python.js
+node --experimental-wasm-threads --experimental-wasm-bulk-memory --experimental-wasm-bigint builddir/emscripten-node/python.js
```
+(``--experimental-wasm-bigint`` is not needed with recent NodeJS versions)
+
# wasm32-emscripten limitations and issues
Emscripten before 3.1.8 has known bugs that can cause memory corruption and
diff --git a/configure b/configure
index 34de0f7..9f15e49 100755
--- a/configure
+++ b/configure
@@ -7953,6 +7953,8 @@ fi
as_fn_append LDFLAGS_NODIST " -sALLOW_MEMORY_GROWTH -sTOTAL_MEMORY=20971520"
+ as_fn_append LDFLAGS_NODIST " -sWASM_BIGINT"
+
as_fn_append LDFLAGS_NODIST " -sFORCE_FILESYSTEM -lidbfs.js -lnodefs.js -lproxyfs.js -lworkerfs.js"
if test "x$enable_wasm_dynamic_linking" = xyes; then :
diff --git a/configure.ac b/configure.ac
index 3b70532..f9abd85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2028,6 +2028,9 @@ AS_CASE([$ac_sys_system],
dnl Start with 20 MB and allow to grow
AS_VAR_APPEND([LDFLAGS_NODIST], [" -sALLOW_MEMORY_GROWTH -sTOTAL_MEMORY=20971520"])
+ dnl map int64_t and uint64_t to JS bigint
+ AS_VAR_APPEND([LDFLAGS_NODIST], [" -sWASM_BIGINT"])
+
dnl Include file system support
AS_VAR_APPEND([LDFLAGS_NODIST], [" -sFORCE_FILESYSTEM -lidbfs.js -lnodefs.js -lproxyfs.js -lworkerfs.js"])