Bläddra i källkod

[SCons] Rename javascript tool to web

And clean it up a bit.
Fabio Alessandrelli 1 år sedan
förälder
incheckning
18bfa133ab
4 ändrade filer med 25 tillägg och 25 borttagningar
  1. 5 5
      .github/workflows/ci.yml
  2. 2 2
      test/project/example.gdextension
  3. 2 2
      tools/godotcpp.py
  4. 16 16
      tools/web.py

+ 5 - 5
.github/workflows/ci.yml

@@ -80,11 +80,11 @@ jobs:
 
           - name: 🌐 Web (wasm32)
             os: ubuntu-20.04
-            platform: javascript
-            artifact-name: godot-cpp-javascript-wasm32-release
-            artifact-path: bin/libgodot-cpp.javascript.template_release.wasm32.a
+            platform: web
+            artifact-name: godot-cpp-web-wasm32-release
+            artifact-path: bin/libgodot-cpp.web.template_release.wasm32.a
             run-tests: false
-            cache-name: javascript-wasm32
+            cache-name: web-wasm32
 
     env:
       SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
@@ -115,7 +115,7 @@ jobs:
           sudo apt-get install -qqq build-essential pkg-config
 
       - name: Web dependencies
-        if: ${{ matrix.platform == 'javascript' }}
+        if: ${{ matrix.platform == 'web' }}
         uses: mymindstorm/setup-emsdk@v12
         with:
           version: ${{env.EM_VERSION}}

+ 2 - 2
test/project/example.gdextension

@@ -21,5 +21,5 @@ android.debug.x86_64 = "res://bin/libgdexample.android.template_debug.x86_64.so"
 android.release.x86_64 = "res://bin/libgdexample.android.template_release.x86_64.so"
 android.debug.arm64 = "res://bin/libgdexample.android.template_debug.arm64.so"
 android.release.arm64 = "res://bin/libgdexample.android.template_release.arm64.so"
-web.debug.wasm32 = "res://bin/libgdexample.javascript.template_debug.wasm32.wasm"
-web.release.wasm32 = "res://bin/libgdexample.javascript.template_release.wasm32.wasm"
+web.debug.wasm32 = "res://bin/libgdexample.web.template_debug.wasm32.wasm"
+web.release.wasm32 = "res://bin/libgdexample.web.template_release.wasm32.wasm"

+ 2 - 2
tools/godotcpp.py

@@ -33,7 +33,7 @@ def validate_parent_dir(key, val, env):
         raise UserError("'%s' is not a directory: %s" % (key, os.path.dirname(val)))
 
 
-platforms = ("linux", "macos", "windows", "android", "ios", "javascript")
+platforms = ("linux", "macos", "windows", "android", "ios", "web")
 
 # CPU architecture options.
 architecture_array = [
@@ -222,7 +222,7 @@ def generate(env):
             env["arch"] = "universal"
         elif env["platform"] == "android":
             env["arch"] = "arm64"
-        elif env["platform"] == "javascript":
+        elif env["platform"] == "web":
             env["arch"] = "wasm32"
         else:
             host_machine = platform.machine().lower()

+ 16 - 16
tools/javascript.py → tools/web.py

@@ -11,34 +11,34 @@ def generate(env):
         print("Only wasm32 supported on web. Exiting.")
         env.Exit(1)
 
+    # Emscripten toolchain
     env["CC"] = "emcc"
     env["CXX"] = "em++"
     env["AR"] = "emar"
     env["RANLIB"] = "emranlib"
-    env.Append(CPPFLAGS=["-s", "SIDE_MODULE=1"])
-    env.Append(LINKFLAGS=["-s", "SIDE_MODULE=1"])
-    env["SHOBJSUFFIX"] = ".bc"
-    env["SHLIBSUFFIX"] = ".wasm"
+
     # Use TempFileMunge since some AR invocations are too long for cmd.exe.
     # Use POSIX-style paths, required with TempFileMunge.
     env["ARCOM_POSIX"] = env["ARCOM"].replace("$TARGET", "$TARGET.posix").replace("$SOURCES", "$SOURCES.posix")
     env["ARCOM"] = "${TEMPFILE(ARCOM_POSIX)}"
 
+    # All intermediate files are just object files.
+    env["OBJSUFFIX"] = ".o"
+    env["SHOBJSUFFIX"] = ".o"
+
+    # Static libraries clang-style.
+    env["LIBPREFIX"] = "lib"
+    env["LIBSUFFIX"] = ".a"
+
+    # Shared library as wasm.
+    env["SHLIBSUFFIX"] = ".wasm"
+
     # 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"
-    env["PROGPREFIX"] = ""
-    # Program() output consists of multiple files, so specify suffixes manually at builder.
-    env["PROGSUFFIX"] = ""
-    env["LIBPREFIX"] = "lib"
-    env["LIBSUFFIX"] = ".a"
-    env["LIBPREFIXES"] = ["$LIBPREFIX"]
-    env["LIBSUFFIXES"] = ["$LIBSUFFIX"]
-    env.Replace(SHLINKFLAGS="$LINKFLAGS")
-    env.Replace(SHLINKFLAGS="$LINKFLAGS")
+    # Build as side module (shared library).
+    env.Append(CPPFLAGS=["-s", "SIDE_MODULE=1"])
+    env.Append(LINKFLAGS=["-s", "SIDE_MODULE=1"])
 
     env.Append(CPPDEFINES=["WEB_ENABLED", "UNIX_ENABLED"])