Disable the crash handler if execinfo=no scons option is set
This commit is contained in:
parent
5f05e2b9b1
commit
f1a677fb4c
|
@ -36,8 +36,8 @@
|
||||||
#include "core/version.h"
|
#include "core/version.h"
|
||||||
#include "main/main.h"
|
#include "main/main.h"
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED
|
#ifndef DEBUG_ENABLED
|
||||||
#define CRASH_HANDLER_ENABLED 1
|
#undef CRASH_HANDLER_ENABLED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CRASH_HANDLER_ENABLED
|
#ifdef CRASH_HANDLER_ENABLED
|
||||||
|
|
|
@ -50,7 +50,7 @@ def get_opts():
|
||||||
BoolVariable("wayland", "Enable Wayland display", True),
|
BoolVariable("wayland", "Enable Wayland display", True),
|
||||||
BoolVariable("libdecor", "Enable libdecor support", True),
|
BoolVariable("libdecor", "Enable libdecor support", True),
|
||||||
BoolVariable("touch", "Enable touch events", 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),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -487,14 +487,20 @@ def configure(env: "SConsEnvironment"):
|
||||||
if platform.system() == "Linux":
|
if platform.system() == "Linux":
|
||||||
env.Append(LIBS=["dl"])
|
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
|
# The default crash handler depends on glibc, so if the host uses
|
||||||
# a different libc (BSD libc, musl), fall back to libexecinfo.
|
# 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.")
|
if not "execinfo" in env:
|
||||||
env["execinfo"] = True
|
print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
|
||||||
|
env["execinfo"] = True
|
||||||
|
|
||||||
if env["execinfo"]:
|
if env["execinfo"]:
|
||||||
env.Append(LIBS=["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":
|
if platform.system() == "FreeBSD":
|
||||||
env.Append(LINKFLAGS=["-lkvm"])
|
env.Append(LINKFLAGS=["-lkvm"])
|
||||||
|
|
Loading…
Reference in New Issue