Commit Graph

77 Commits

Author SHA1 Message Date
Spartan322
4f08ff1a11 Merge commit godotengine/godot@a3b42d85d2 2025-08-13 19:56:49 -04:00
Adam Scott
793258919b [Web] Fix Emscripten for WebXR and update minimum version 2025-07-22 14:02:44 -04:00
Spartan322
cd86012a9d Merge commit godotengine/godot@71a9948157 2025-07-19 14:15:00 -04:00
Adam Scott
8420468647 [Web] Disable GDScript LSP 2025-07-18 11:14:58 -04:00
Spartan322
7f9872092c Merge commit godotengine/godot@5abed52fd9 2025-06-20 03:57:56 -04:00
A Thousand Ships
b616e857aa [Web] Fix build failure on Windows 2025-06-17 11:05:45 +02:00
Rémi Verschelde
d9cda33090 Merge pull request #107415 from adamscott/add-emscripten-version-to-log-header
[Web] Add Web-build specific stdout header
2025-06-13 18:37:37 +02:00
Rémi Verschelde
e0072e9169 Merge pull request #105800 from adamscott/add-emscripten-include-path
[Web] Include emscripten headers by default
2025-06-12 22:48:40 +02:00
Adam Scott
f411c5b2f1 [Web] Add Web-build specific stdout header 2025-06-12 13:00:36 -04:00
Spartan322
0e99b001ac Merge commit godotengine/godot@5dd76968d8 2025-06-05 23:07:30 -04:00
Adam Scott
64b0d5c1c2 [Web] Add required exported functions and runtime methods for emscripten 2025-06-04 09:53:05 -04:00
Rémi Verschelde
2df41d8144 Merge pull request #104458 from marcosc90/fix-thread-collision-shape-3d
[Web] Use actual `PThread` pool size for `get_default_thread_pool_size()`
2025-06-01 00:31:44 +02:00
Marcos Casagrande
a7d18f51a2 Web: Add godot_pool_size/emscripten_pool_size config 2025-05-30 20:38:24 +02:00
Adam Scott
b0e472c8e4 [Web] Include emscripten headers by default 2025-05-20 10:53:28 -04:00
Spartan322
63f2d58fcf Merge commit godotengine/godot@428a762e98 2025-05-14 14:16:55 -04:00
Thaddeus Crews
fb39aa4fd3 Merge pull request #105833 from marcosc90/perf-web-shader-source
[Web] Optimize `GL.getSource` for known-length shader sources
2025-05-14 09:44:08 -05:00
Adam Scott
f114a8d1d1 Add WebAssembly SIMD support 2025-05-13 07:35:53 -04:00
Marcos Casagrande
197b307061 [Web] Optimize GL.getSource for known-length shader sources 2025-04-27 17:44:08 +02:00
Spartan322
2b59059dde Merge commit godotengine/godot@2d3bdcac35 2025-04-19 16:05:28 -04:00
Adam Scott
ce4f64583a Add the equivalent of -Werror for wasm-ld 2025-04-10 11:49:03 -04:00
Thaddeus Crews
10ed66f28c SCons: Add emitter to declutter build objects 2025-03-15 12:08:24 -05:00
Thaddeus Crews
77e9f55c51 Merge pull request #102676 from adamscott/add-web-library-emitter
[Web] Add library emitter to make sources dependent of compiler version
2025-03-11 16:53:53 -05:00
Thaddeus Crews
0bb1f138f2 Merge pull request #100525 from adamscott/set-closure-language-to-default
Remove custom `--language-in` arg for the Closure compiler
2025-03-11 14:00:35 -05:00
Adam Scott
02cc1ec95b [Web] Add library emitter to make sources dependent of compiler version 2025-02-10 16:18:35 -05:00
Spartan322
35e289fa5e Merge commit godotengine/godot@0b6a717ac1 2025-02-04 11:38:32 -05:00
Rémi Verschelde
90208f7dd4 SCons: Fix handling of platform-specific tools, notably mingw
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.

This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.

This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).

Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-01-25 13:59:30 +01:00
Spartan322
5e6a04e752 Merge commit godotengine/godot@5b52b4b5c4 2025-01-12 13:06:53 -05:00
Rémi Verschelde
26db0bb15f SCons: Make lto=auto prefer ThinLTO over full LTO for LLVM targets
This speeds up build time considerably for these platforms compared to
using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC.

Changes to default behavior of `lto=auto` (i.e. `production=yes`):
- Linux: Prefer ThinLTO for LLVM
- Web: Prefer ThinLTO
- Windows: Prefer ThinLTO for llvm-mingw

The following LLVM targets don't use LTO by default currently, which
needs to be assessed further (gains from LLVM LTO on performance need
to be weighed against the potential size increase from heavy inlining):
- Android
- iOS
- macOS
- Windows clang-cl
2025-01-09 13:03:58 +01:00
Spartan322
fa0b4af786 Merge commit godotengine/godot@a7a2a12bfd 2024-12-21 05:32:01 -05:00
Adam Scott
3011717e14 Remove custom --language-in arg for the Closure compiler 2024-12-17 13:52:30 -05:00
Thaddeus Crews
d8761f2c79 SCons: Improve colored output 2024-12-10 11:44:48 -06:00
Spartan322
4a5836e546 Merge commit godotengine/godot@6c05ec3d67 2024-11-15 14:24:07 -05:00
Fabio Alessandrelli
9383610ad1 [Web] Disable UNIX sockets
They are not supported anyway, emscripten has an emulation layer that
implements them over WebSocket/WebRTC, which is really surprising for
users, and also not very useful since we have proper WebSocket and
WebRTC support.

This can make the build smaller, if we also disable the UPNP module
(which will otherwise include a third party library referencing "socket"
thus forcing emscripten to include the compatibility layer)
2024-11-13 10:28:08 +01:00
Spartan322
953af98c79 Merge commit godotengine/godot@61accf0605 2024-10-26 22:41:20 -04:00
Randolph W. Aarseth II
d5fc3d1e8c Rebrand Godot to Redot
Add Linux Editor tests workflow matrix
Add Windows Editor w/ Mono workflow matrix
Add Generate Glue Code job to Windows workflow
Add Build GodotSharp job to Windows workflow

Add godot compatibility version references
Add Godot author info
Add Godot version compatibility info
Add Godot donor info
Add Godot authors and donors to editor_about.cpp

Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
2024-10-11 02:25:54 -04:00
Yevhen Babiichuk (DustDFG)
7aacdaa071 Build System: Extract validate_arch helper function
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Adam Scott
a1e409c58b Update minimum requirements for emscripten to 3.1.62 2024-09-26 10:19:48 -04:00
Fabio Alessandrelli
26f17c33a5 [Web] Add workaround for missing export in threaded builds
The offending symbol gets stripped away by wasm-dce but it's used on the
JavaScript side and causes and undefined symbol which also causes the
closure compiler to throw an error.
2024-07-26 12:28:36 +02:00
Rémi Verschelde
8897c77d50 SCons: Default optimize to auto, fixing target/dev_build inference for Web
Fixes #94087.
2024-07-09 00:21:29 +02:00
David Snopek
8e242fe7c1 Disable *glGetProcAddress() on the web 2024-06-24 10:57:22 -05:00
Fabio Alessandrelli
7af8c494ab [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.
2024-06-14 16:03:56 +02:00
Fabio Alessandrelli
e874cd84f0 [Web] Remove space between emscripten "-s" flags and the option 2024-06-14 16:03:56 +02:00
Adam Scott
5a01c2e954 Replace deprecated USE_WEBGL2 linker flag 2024-06-10 12:14:27 -04:00
Thaddeus Crews
5d265e9a7e SCons: Minor fixes/adjustments for web compilation 2024-05-24 12:30:24 -05:00
Thaddeus Crews
896b003cc8 SCons: Convert platform get_flags to dictionary 2024-05-22 13:53:20 -05:00
Jakub Marcowski
d9f8ef68df Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
Thaddeus Crews
e0e8ce1fc0 SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
Yevhen Babiichuk (DustDFG)
ca60255d8c Fix platform name in the message about unsupported CPU architecture
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-03-17 09:28:53 +02:00
Adam Scott
3ae524fa9e Add WASM_BIGINT linker flag to the web build 2024-02-20 08:19:56 -05:00
Thaddeus Crews
633dcf6dfd SCons: "Environment" to "SConsEnvironment" 2024-02-14 09:26:47 -06:00