diff options
| author | Nick Maltbie <nick.dmalt@gmail.com> | 2023-09-20 01:08:09 -0700 |
|---|---|---|
| committer | Nick Maltbie <nick.dmalt@gmail.com> | 2023-10-01 13:43:19 -0700 |
| commit | 2b4bcbb0ce69b8b7b2db226d3b01ea2134fdacfc (patch) | |
| tree | 0d30ac00e8bfa224ba4d85c378758cca188cb256 /tools/javascript.py | |
| parent | 0d6de7a80e328c1969c9feabaf268008764c6812 (diff) | |
| download | redot-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.py | 15 |
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"]) |
