Răsfoiți Sursa

Automatically use execinfo for crash handler on *BSD and musl-based Linux

Co-authored-by: Rémi Verschelde <[email protected]>
(cherry picked from commit 8e04bffbcfd5dc846e15c5e6471f96693ee698fe)
Hugo Locurcio 3 ani în urmă
părinte
comite
fc4d35432e
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      platform/x11/detect.py

+ 4 - 2
platform/x11/detect.py

@@ -400,8 +400,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:
-        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"]:
     if env["execinfo"]:
         env.Append(LIBS=["execinfo"])
         env.Append(LIBS=["execinfo"])