Commit Graph

251 Commits

Author SHA1 Message Date
Alvin Wong 35a8ff9284 mingw: Only use `ar --thin` on supported versions
The flag is supported since Binutils 2.38 [1] or LLVM 14 [2].

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=28759
[2]: dd6e7e0d57
2024-09-01 02:13:31 +08:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Alvin Wong 2d300a0bdc MinGW: Use thin archives to reduce disk space 2024-08-28 18:20:16 +08:00
Alvin Wong b5258b42c0 Enable Clang color output on Windows 2024-08-28 18:20:16 +08:00
Alvin Wong e9b6c1baf8 Windows/detect.py: Detect llvm-mingw GCC wrappers and set use_llvm 2024-08-28 18:20:16 +08:00
Alvin Wong 3a0837b74b Windows/detect.py: Simplify try_cmd function 2024-08-28 17:20:27 +08:00
Rémi Verschelde 73acb2a5b8
Merge pull request #94845 from alvinhochun/llvm-mingw-sanitizers
Windows: Add sanitizers for llvm-mingw, increase stack for ASan
2024-08-28 00:12:30 +02:00
Rémi Verschelde 6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00
Alvin Wong 25270d5907 Allow llvm-mingw sanitizers only on x86_32/x86_64 2024-07-28 17:21:35 +08:00
Alvin Wong 0cda0b935d Windows: Add sanitizers for llvm-mingw, increase stack for ASan
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +08:00
bruvzg 5d5d51937f [Windows] Remove libSynchronization 2024-07-27 17:12:27 +03:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +03:00
Rémi Verschelde a50fe87b89
Merge pull request #94078 from Repiteo/scons/msvc-flag-fix
SCons: Don't override cl flags on msvc
2024-07-22 14:12:45 +02:00
bruvzg 0e519118d2 [Windows] Fix release export template build for ARM64 Windows. 2024-07-19 14:33:40 +03:00
bruvzg 9f714bfde5 [Windows] Add `libSynchronization` to link flags. 2024-07-17 10:58:03 +03:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
Thaddeus Crews 0f691efb1b
SCons: Don't override cl flags on msvc 2024-07-08 09:48:18 -05:00
Rémi Verschelde abfce31ba7
Merge pull request #93152 from RandomShaper/prebuilt_asan
Enable usage of asan-enabled versions of prebuilt libraries
2024-07-02 17:27:31 +02:00
Max Hilbrunner 63911b994c Windows: Fix arch detection via VCTOOLSINSTALLDIR 2024-06-25 13:31:46 +02:00
Rémi Verschelde f9c51183bb
Merge pull request #93342 from kus04e4ek/build-fix
Fix not using `encoding="utf-8"` when writing to files or reading from them
2024-06-24 11:14:10 +02:00
bruvzg 04d70c11fc [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW. 2024-06-20 15:52:04 +03:00
Kusok 0c6dbbd050 Fix not using `encoding="utf-8"` when writing to files or reading from them
Co-authored-by: ChristopheClaustre <christophe.claustre.31@gmail.com>
2024-06-19 23:35:03 +08:00
Pedro J. Estébanez d1eebd3493 Enable usage of asan-enabled versions of prebuilt libraries 2024-06-14 14:06:38 +02:00
Rémi Verschelde 31277e43a7
Merge pull request #91890 from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +02: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 0ec4ec0f90
SCons: Fix `silence_msvc` implementation errors 2024-05-14 12:22:54 -05:00
Rémi Verschelde 8a57f64255
Revert "Implement "get_mingw_tool" to fix mingw prefixes"
This reverts commits ecebe0b40d
and 15d37ed2a8.

Fixes #91710.
2024-05-09 11:10:32 +02:00
Thaddeus Crews ecebe0b40d
Implement "get_mingw_tool" to fix mingw prefixes
• Replaces "try_cmd" entirely and removes need for "get_mingw_bin_prefix" in isolation
2024-05-06 17:32:53 -05:00
Rémi Verschelde dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Thaddeus Crews e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
bruvzg c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
Thaddeus Crews 6df57d2d7d
SCons: Fix `silence_msvc` regression 2024-04-13 08:58:29 -05:00
Thaddeus Crews b278cefd1c
SCons: Silence msvc output without hiding errors 2024-04-11 22:21:18 -05:00
Rémi Verschelde 0eee7345ee
Merge pull request #89159 from Repiteo/suppress-msvc-false-default
SCons: Set `silence_msvc` to false by default
2024-03-05 09:56:15 +01:00
Rémi Verschelde 5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
Thaddeus Crews 581315a975
Set `silence_msvc` default to false, amend description 2024-03-04 16:06:19 -06:00
Rémi Verschelde 3655973e0e
Merge pull request #87154 from Repiteo/scons/cl-quiet
SCons: Silence redundant MSVC output
2024-03-04 13:33:01 +01:00
bruvzg f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions. 2024-02-19 15:08:04 +02:00
Rémi Verschelde 033821c595
Merge pull request #88245 from shana/simplify-mono-support-detection
C#: Let platforms signal if they support the mono module or not
2024-02-19 00:08:07 +01:00
Thaddeus Crews 633dcf6dfd
SCons: "Environment" to "SConsEnvironment" 2024-02-14 09:26:47 -06:00
Andreia Gaita 21e524a798 C#: Let platforms signal if they support it or not
Instead of hardcoding platform names that support C#, let platforms
set a flag indicating if they support it. All public platforms
except web already support it, and it's a pain to maintain a patch
for this list just to add additional names of proprietary console
platforms.

This makes adding new platforms or variants or existing platforms
much easier, as the platform can signal what it supports/doesn't
support directly, and we can avoid harcoding platform names.
2024-02-13 22:48:43 +01:00
bruvzg ffdf8084c0
Use raw strings for D3D12 install messages. 2024-01-30 11:13:12 +02:00
bruvzg dfa303f7c4
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in. 2024-01-26 20:43:18 +02:00
Rémi Verschelde b4e519b07f
SCons: Fix Windows cross-compilation from Linux after #86717 2024-01-26 12:42:09 +01:00
MrBBBaiXue ea2c6f1d0b Add a python script to install Direct3D 12 SDK components.
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.

This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.

- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
bruvzg f3a24e082c
[Windows] Remove `dxc path` check. 2024-01-16 13:32:24 +02:00
Thaddeus Crews 9c674e26a0
SCons: Silence redundant msvc output 2024-01-13 14:57:00 -06:00
jsjtxietian 078bfae6a4 Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added 2023-12-25 11:13:01 +08:00
Pedro J. Estébanez 12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00