summaryrefslogtreecommitdiffstats
path: root/tools/javascript.py
diff options
context:
space:
mode:
authorNick Maltbie <nick.dmalt@gmail.com>2023-09-20 01:08:09 -0700
committerNick Maltbie <nick.dmalt@gmail.com>2023-10-01 13:43:19 -0700
commit2b4bcbb0ce69b8b7b2db226d3b01ea2134fdacfc (patch)
tree0d30ac00e8bfa224ba4d85c378758cca188cb256 /tools/javascript.py
parent0d6de7a80e328c1969c9feabaf268008764c6812 (diff)
downloadredot-cpp-2b4bcbb0ce69b8b7b2db226d3b01ea2134fdacfc.tar.gz
Added fix for javascript build for godot 4.x
Added changes to tools/javascript.py to add PFlags to fix SharedArrayBuffer memory error. Corrected some small errors in tools/javascript.py to support new target names. Also updated ci to include validation for web build.
Diffstat (limited to 'tools/javascript.py')
-rw-r--r--tools/javascript.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/tools/javascript.py b/tools/javascript.py
index 1d8009e..e8f6af1 100644
--- a/tools/javascript.py
+++ b/tools/javascript.py
@@ -1,8 +1,9 @@
import os
+from SCons.Util import WhereIs
def exists(env):
- return "EM_CONFIG" in os.environ
+ return WhereIs("emcc") is not None
def generate(env):
@@ -10,9 +11,6 @@ def generate(env):
print("Only wasm32 supported on web. Exiting.")
env.Exit(1)
- if "EM_CONFIG" in os.environ:
- env["ENV"] = os.environ
-
env["CC"] = "emcc"
env["CXX"] = "em++"
env["AR"] = "emar"
@@ -26,6 +24,10 @@ def generate(env):
env["ARCOM_POSIX"] = env["ARCOM"].replace("$TARGET", "$TARGET.posix").replace("$SOURCES", "$SOURCES.posix")
env["ARCOM"] = "${TEMPFILE(ARCOM_POSIX)}"
+ # Thread support (via SharedArrayBuffer).
+ env.Append(CCFLAGS=["-s", "USE_PTHREADS=1"])
+ env.Append(LINKFLAGS=["-s", "USE_PTHREADS=1"])
+
# All intermediate files are just LLVM bitcode.
env["OBJPREFIX"] = ""
env["OBJSUFFIX"] = ".bc"
@@ -39,9 +41,4 @@ def generate(env):
env.Replace(SHLINKFLAGS="$LINKFLAGS")
env.Replace(SHLINKFLAGS="$LINKFLAGS")
- if env["target"] == "debug":
- env.Append(CCFLAGS=["-O0", "-g"])
- elif env["target"] == "release":
- env.Append(CCFLAGS=["-O3"])
-
env.Append(CPPDEFINES=["WEB_ENABLED", "UNIX_ENABLED"])