openwrt-owl/tools/cmake/patches/110-freebsd-compat.patch

43 lines
1.5 KiB
Diff

From 6eab64c3adc7a38c322cd4d9a1a1881f2d49cb9c Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <rakuco@FreeBSD.org>
Date: Tue, 15 Oct 2013 00:10:56 +0300
Subject: [PATCH] SystemInformation: Include backtrace-related headers on
FreeBSD
This was probably broken for a long while, but the problem was not apparent
because the check for execinfo.h would fail by default because
-I/usr/local/include was not being passed to the compiler when making the
checks for the header's existence.
Now that very recent FreeBSD versions (ie. 10-CURRENT) have NetBSD's
libexecinfo in base (and it is thus installed into /usr), the
backtrace-related checks would pass, but the required headers were not being
included in SystemInformation.cxx.
Change-Id: I3b91ed7ac0e6878035aee202b3336c536cc6d2ff
---
Source/kwsys/SystemInformation.cxx | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index 7c31f3a..2672730 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -91,6 +91,15 @@ typedef int siginfo_t;
# include <ifaddrs.h>
# define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN
# endif
+# if defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE)
+# include <execinfo.h>
+# if defined(KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE)
+# include <cxxabi.h>
+# endif
+# if defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP)
+# include <dlfcn.h>
+# endif
+# endif
#endif
#if defined(__OpenBSD__) || defined(__NetBSD__)