diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-05 16:54:37 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-05 16:54:37 +0100 |
commit | 2ecf0eba9511e9e18154d091728f8ac6bc7fe716 (patch) | |
tree | 5b7811aadcddcf6e833996964d9a8daa134348a0 /platform/linuxbsd | |
parent | f9ebd84b5ace8d0e6a9c43c3403ecd9a4bcb132e (diff) | |
parent | f1a677fb4c47e32633809ccadc7ccde6703767b2 (diff) | |
download | redot-engine-2ecf0eba9511e9e18154d091728f8ac6bc7fe716.tar.gz |
Merge pull request #88520 from LinuxUserGD/execinfo
Disable the crash handler if `execinfo=no` scons option is set
Diffstat (limited to 'platform/linuxbsd')
-rw-r--r-- | platform/linuxbsd/crash_handler_linuxbsd.cpp | 4 | ||||
-rw-r--r-- | platform/linuxbsd/detect.py | 18 |
2 files changed, 14 insertions, 8 deletions
diff --git a/platform/linuxbsd/crash_handler_linuxbsd.cpp b/platform/linuxbsd/crash_handler_linuxbsd.cpp index fd4bcf92be..446fe5c7a1 100644 --- a/platform/linuxbsd/crash_handler_linuxbsd.cpp +++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp @@ -36,8 +36,8 @@ #include "core/version.h" #include "main/main.h" -#ifdef DEBUG_ENABLED -#define CRASH_HANDLER_ENABLED 1 +#ifndef DEBUG_ENABLED +#undef CRASH_HANDLER_ENABLED #endif #ifdef CRASH_HANDLER_ENABLED diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index 4856076436..27dec73b65 100644 --- a/platform/linuxbsd/detect.py +++ b/platform/linuxbsd/detect.py @@ -50,7 +50,7 @@ def get_opts(): BoolVariable("wayland", "Enable Wayland display", True), BoolVariable("libdecor", "Enable libdecor support", True), BoolVariable("touch", "Enable touch events", True), - BoolVariable("execinfo", "Use libexecinfo on systems where glibc is not available", False), + BoolVariable("execinfo", "Use libexecinfo on systems where glibc is not available", None), ] @@ -488,14 +488,20 @@ def configure(env: "SConsEnvironment"): if platform.system() == "Linux": env.Append(LIBS=["dl"]) - if not env["execinfo"] and platform.libc_ver()[0] != "glibc": + if platform.libc_ver()[0] != "glibc": # The default crash handler depends on glibc, so if the host uses # a different libc (BSD libc, musl), fall back to libexecinfo. - print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.") - env["execinfo"] = True + if not "execinfo" in env: + print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.") + env["execinfo"] = True - if env["execinfo"]: - env.Append(LIBS=["execinfo"]) + if env["execinfo"]: + env.Append(LIBS=["execinfo"]) + env.Append(CPPDEFINES=["CRASH_HANDLER_ENABLED"]) + else: + print("Note: Using `execinfo=no` disables the crash handler on platforms where glibc is missing.") + else: + env.Append(CPPDEFINES=["CRASH_HANDLER_ENABLED"]) if platform.system() == "FreeBSD": env.Append(LINKFLAGS=["-lkvm"]) |