[Web] Force emcc to use "wasm" longjmp mode
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to "wasm" mode when exceptions are enabled, and "emscripten" mode when disabled. While we generally doesn't use exception in core, linked libraries may need them, and emscripten don't plan to support WASM EH + Emscripten SjLj in the long term.pull/1489/head
parent
6c4064125b
commit
1bb543b6f4
12
tools/web.py
12
tools/web.py
|
@ -36,12 +36,16 @@ def generate(env):
|
||||||
|
|
||||||
# Thread support (via SharedArrayBuffer).
|
# Thread support (via SharedArrayBuffer).
|
||||||
if env["threads"]:
|
if env["threads"]:
|
||||||
env.Append(CCFLAGS=["-s", "USE_PTHREADS=1"])
|
env.Append(CCFLAGS=["-sUSE_PTHREADS=1"])
|
||||||
env.Append(LINKFLAGS=["-s", "USE_PTHREADS=1"])
|
env.Append(LINKFLAGS=["-sUSE_PTHREADS=1"])
|
||||||
|
|
||||||
# Build as side module (shared library).
|
# Build as side module (shared library).
|
||||||
env.Append(CPPFLAGS=["-s", "SIDE_MODULE=1"])
|
env.Append(CPPFLAGS=["-sSIDE_MODULE=1"])
|
||||||
env.Append(LINKFLAGS=["-s", "SIDE_MODULE=1"])
|
env.Append(LINKFLAGS=["-sSIDE_MODULE=1"])
|
||||||
|
|
||||||
|
# Force wasm longjmp mode.
|
||||||
|
env.Append(CCFLAGS=["-sSUPPORT_LONGJMP='wasm'"])
|
||||||
|
env.Append(LINKFLAGS=["-sSUPPORT_LONGJMP='wasm'"])
|
||||||
|
|
||||||
env.Append(CPPDEFINES=["WEB_ENABLED", "UNIX_ENABLED"])
|
env.Append(CPPDEFINES=["WEB_ENABLED", "UNIX_ENABLED"])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue