tools: Fix cmake build on FreeBSD 10.1

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44281
This commit is contained in:
Jo-Philipp Wich 2015-02-05 16:58:24 +00:00
parent d91e0a4df6
commit e1c95ffb93

View File

@ -0,0 +1,44 @@
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
@@ -88,6 +88,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__)
--
1.7.10.4