Commit Graph

19 Commits

Author SHA1 Message Date
Rémi Verschelde
fae5c7f2f8 SCons: Fix Python 3.12 SyntaxError with regex escape sequences
(cherry picked from commit b362976504c3346b9f34b69dcad0838d1d381037)
2024-02-08 15:20:45 +01:00
Rémi Verschelde
1089d60dae Linux: Remove hardcoded lib path for x86 cross-compilation
This breaks the build with our updated i686 Linux SDK which doesn't contain
this path, and may not be needed at all.

(cherry picked from commit 63153c9d36768b1e5ab9c1562f400a2bd8c2f8cd)
2024-02-08 15:20:35 +01:00
Rafał Mikrut
baa1442c58 Added code coverate support to Godot 2023-08-30 10:41:17 +02:00
Hugo Locurcio
ab28148fdc Update PCK embedding SCons warning message to mention mold linker
mold is now part of the SCons `linker` option.

(cherry picked from commit 074d87d7188da6400028c719ea7571bff6265c36)
2023-08-30 10:23:04 +02:00
Ekaterina Vaartis
2bac27b711 Alter linux debug stacktraces handling to support more environments
- Use -gdwarf-4 to support both LLVM and GCC when calling addr2line
- Subtract position-independant execuable relocation when passing the
  address to addr2line

(cherry picked from commit 5e041eee11e611bc2c89dd54b1dad28d0660f335)
2023-08-30 10:20:09 +02:00
Riteo
658e19194d Actually set the execinfo flag on non-glibc systems
(cherry picked from commit a3b53538920e1a60102623a894533da76f127c22)
2022-11-30 19:07:45 +01:00
Hugo Locurcio
5b2fa8320b Automatically use execinfo for crash handler on *BSD and musl-based Linux
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 8e04bffbcfd5dc846e15c5e6471f96693ee698fe)
2022-11-30 19:07:29 +01:00
6f4a778796 Don't try to include x86 assembly into non-x86 based platforms when cross compiling the x11 platform on x86. 2022-10-12 12:18:56 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
Rémi Verschelde
c708c44180 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.

Also add `linker` option to `server` platform missed in #63283.

Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-16 22:54:09 +02:00
Rémi Verschelde
d4e240f487 Linux: Fix GNU ld detection for pck_embed linker script
(cherry picked from commit fce3602a1e892cbc35fb3aa409bdae835a37be4f)
2022-09-16 22:31:50 +02:00
Rémi Verschelde
44c23ae9a5 SCons: Fix X11 use_lld fallback not being applied 2022-08-02 17:58:15 +02:00
679f5a7d64 Ported: SCons: Refactor Linux linker options with linker=<bfd|gold|lld|mold>
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:
- `default`: No change, typically uses GNU ld (bfd) unless the user or
  distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
  use in production but great for development speed. Provided by distro
  `mold` package or needs to be compiled from source and installed to
  `/usr` otherwise.
Deprecates the `use_lld=yes` option, and make lld actually usable with
GCC too.
Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
- akien-mga
5bb3063eec
2022-07-29 23:18:06 +02:00
Rémi Verschelde
a0f698d4a6 Linux: Use pkg-config for alsa, libudev and GL too
It's not needed on most distros as those are found in standard lib
and include paths, but on NixOS they're all in non-standard prefixes,
so we need to rely on information provided by pkg-config.

Fixes #59913.

Co-authored-by: David Lewis <davidalewis00@gmail.com>
(cherry picked from commit 07ad0664204fbc965627ed5cba548e93e5af4be7)
2022-07-27 09:03:00 +02:00
d4c57cf537 Fix compile when using llvm on linux. 2022-04-02 12:58:52 +02:00
8009d32185 Removed remnants of libvpx and libwebp. 2022-04-02 12:34:15 +02:00
d1587aaa6b Removed bullet. 2022-03-23 13:28:35 +01:00
ba4cda4890 Removed the lightmap_raycast module along with embree. 2022-03-15 15:37:28 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00