Browse Source

Merge pull request #1489 from Faless/web/longjmp

[Web] Force emcc to use "wasm" longjmp mode
David Snopek 1 year ago
parent
commit
89831ff333
1 changed files with 8 additions and 4 deletions
  1. 8 4
      tools/web.py

+ 8 - 4
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(LINKFLAGS=["-s", "USE_PTHREADS=1"])
+        env.Append(CCFLAGS=["-sUSE_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(LINKFLAGS=["-s", "SIDE_MODULE=1"])
+    env.Append(CPPFLAGS=["-sSIDE_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"])