307 Commits

Author SHA1 Message Date
Arctis-Fireblight
00692349f5 Merge commit godotengine/godot@4ebf67c 2025-08-27 23:18:33 -05:00
Thaddeus Crews
d9a77a42ee SCons: Fix dlltool on Windows MinGW builds
- Expand `env.Run` function to accept optional command string, because we can't just call `env.Action` for some reason
2025-08-18 18:49:50 -05:00
Spartan322
0a87a7b475 Merge commit godotengine/godot@e1b4101e34 2025-07-01 06:43:54 -04:00
Nintorch
0b3496fb4f Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
Spartan322
0e99b001ac Merge commit godotengine/godot@5dd76968d8 2025-06-05 23:07:30 -04:00
Rémi Verschelde
5904f4f2d4 SCons: Fix support for compiling .S files on Windows/MinGW 2025-06-05 15:53:10 +02:00
Pāvels Nadtočajevs
617e12a6b4 [Windows] Drop support for Windows 7/8/8.1. 2025-05-30 17:30:23 +03:00
Spartan322
38fb5272ad Merge commit godotengine/godot@7a0ab9d561 2025-05-22 14:03:25 -04:00
Pedro J. Estébanez
7759296594 Direct3D 12: Let platforms report support for direct composition 2025-05-14 17:48:19 +02:00
Spartan322
8122592328 Merge commit godotengine/godot@80a3d205f1 2025-05-01 01:30:09 -04:00
Adam Scott
1fbc0c5631 [Buildsystem] Add EnumVariable(ignorecase=2) 2025-04-29 13:35:40 -04:00
Pāvels Nadtočajevs
3e8c99b346 Fix uiautomationcore linking in 32-bit x86 MinGW builds. 2025-04-26 23:45:07 +03:00
Spartan322
e2c671a4c3 Merge commit godotengine/godot@d00f25ecd9 2025-04-25 16:31:50 -04:00
Pāvels Nadtočajevs
46c690e4b2 [MinGW] Explicitly link shell32 library. 2025-04-25 21:27:15 +03:00
Pāvels Nadtočajevs
43e9b04f66 Update Mesa-NIR library detection and download script. 2025-04-25 08:11:14 +03:00
Spartan322
2b59059dde Merge commit godotengine/godot@2d3bdcac35 2025-04-19 16:05:28 -04:00
bruvzg
da1fca613f Fix crash in release build with llvm-mingw. 2025-04-15 20:18:11 +03:00
Pāvels Nadtočajevs
4310cb82b8 AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
Thaddeus Crews
7a28334596 SCons: Ensure MinGW as fallback if missing MSVC 2025-03-29 10:14:20 -05:00
Thaddeus Crews
10ed66f28c SCons: Add emitter to declutter build objects 2025-03-15 12:08:24 -05:00
Thaddeus Crews
4505352021 SCons: Simplify Windows/MSVC detection 2025-03-09 10:45:32 -05:00
Spartan322
a68eb8a076 Merge commit godotengine/godot@4c311cbee6 2025-03-04 03:35:45 -05:00
cafebeef
5201dfb34c Windows x86_64 GCC: Disable Theora assembly optimizations
Co-authored-by: Bernat Arlandis <berarma@hotmail.com>
2025-02-22 17:20:55 -06:00
Spartan322
70b41e3288 Merge commit godotengine/godot@394508d26d 2025-02-22 02:02:27 -05:00
Rémi Verschelde
26fd3458f9 Windows: Configure MinGW LTO with -fno-use-linker-plugin -fwhole-program
- Works around and closes #102867.
- Works around and closes #102982.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2025-02-20 17:47:26 +01: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
Thaddeus Crews
a29294fddc SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
Spartan322
fa0b4af786 Merge commit godotengine/godot@a7a2a12bfd 2024-12-21 05:32:01 -05:00
Thaddeus Crews
95b00295fb Merge pull request #96447 from Repiteo/scons/clang-cl-compile_commands
SCons: Set appropriate prefix when using clang-cl
2024-12-19 19:59:45 -06:00
Pāvels Nadtočajevs
a0300532b5 [Windows, LLVM] Fix colorize flag. 2024-12-18 21:00:32 +02:00
Spartan322
9d47e1e39e Merge commit godotengine/godot@b9437c3938 2024-12-15 09:24:31 -05:00
Rémi Verschelde
f86b3696f6 SCons: Properly set SSE2 as baseline on x86_32
Setting it only for release templates on Windows and macOS was inconsistent,
and Jolt requires it as a minimum.

Drop the `-mxsave` flag from the raycast module, this doesn't seem to be
used explicitly by Embree, and unnecessarily makes our config and baseline
muddy.
2024-12-12 22:44:44 +01:00
Spartan322
62fbec9f6f Merge commit godotengine/godot@0f5f3bc954 2024-11-11 09:08:01 -05:00
Rémi Verschelde
6d326547da Windows: Fix duplicate .exe extension with mingw on Linux/macOS
This old hack is no longer needed and now wrong after #98105.

Fixes #98967.
2024-11-08 16:46:35 +01:00
Thaddeus Crews
fa65b70494 Merge pull request #98105 from Repiteo/scons/mingw-shenanigans
SCons: Extend `MinGW` support & checks
2024-11-07 12:36:32 -06:00
Spartan322
953af98c79 Merge commit godotengine/godot@61accf0605 2024-10-26 22:41:20 -04:00
Thaddeus Crews
17f06f6dae Merge pull request #97555 from dustdfg/platform_methods/extract_validate_arch
Build System: Extract `validate_arch` helper functions
2024-10-25 13:03:48 -05:00
Spartan322
3679f5971a Merge commit godotengine/godot@1015a481ff 2024-10-24 18:01:23 -04:00
Thaddeus Crews
14d201ab54 Merge pull request #97556 from dustdfg/platforms/windows_detect_extract_common_checks
Extract common check functions in windows_detect.py file
2024-10-24 13:22:40 -05:00
Thaddeus Crews
9968828913 SCons: Set appropriate prefix when using clang-cl 2024-10-24 10:22:32 -05:00
Lancelot 'Robin' Chen
6fadc95313 Fix solution build failure when using Visual Studio IDE 2024-10-21 17:51:53 +08:00
Thaddeus Crews
d4dddd00cb SCons: Extend MinGW support & checks 2024-10-11 14:24:00 -05:00
Thaddeus Crews
a44f691fc7 CI: Add MinGW/GCC build to Windows GHA 2024-10-10 10:10:55 -05: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
Yevhen Babiichuk (DustDFG)
9c50312f0d Extract common check functions in windows_detect.py file
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-27 21:15:33 +03:00
Fabio Alessandrelli
395a4fc5f2 [SCons] Remove MAXLINELENGTH override for MSVC
It's not clear what is the actual max value that windows support, but
despite their claim of it being 8191 we have been seeing failure with
just 8150.
2024-09-26 12:06:16 +02:00