aboutsummaryrefslogtreecommitdiffstats
path: root/tools/cmake/patches/110-freebsd-compat.patch
blob: b7419d0bb59cbc0383045544089839a483b86f9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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(+)

--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -89,6 +89,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__)