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)
This commit is contained in:
Hugo Locurcio 2022-08-06 04:20:54 +02:00 committed by Relintai
parent 608c16297e
commit 5b2fa8320b

View File

@ -365,8 +365,10 @@ def configure(env):
if platform.system() == "Linux": if platform.system() == "Linux":
env.Append(LIBS=["dl"]) env.Append(LIBS=["dl"])
if platform.system().find("BSD") >= 0: if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
env["execinfo"] = True # 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"]: if env["execinfo"]:
env.Append(LIBS=["execinfo"]) env.Append(LIBS=["execinfo"])