summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2022-08-06 04:20:54 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2022-10-04 19:40:19 +0200
commit8e04bffbcfd5dc846e15c5e6471f96693ee698fe (patch)
treea29c7c6ee5f93c13e51a4d26d05c31f6d12bd7b3 /platform
parent1371a97acfb9263aaca7fa8642e95ba68534fa19 (diff)
Automatically use execinfo for crash handler on *BSD and musl-based Linux
Co-authored-by: RĂ©mi Verschelde <rverschelde@gmail.com>
Diffstat (limited to 'platform')
-rw-r--r--platform/linuxbsd/detect.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index dfde0d249c..86ae1f2d9c 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -363,8 +363,10 @@ def configure(env: "Environment"):
if platform.system() == "Linux":
env.Append(LIBS=["dl"])
- if platform.system().find("BSD") >= 0:
- env["execinfo"] = True
+ if not env["execinfo"] and 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.")
if env["execinfo"]:
env.Append(LIBS=["execinfo"])