From 5409696dfcbb05d6e4e67e74c97487b1987639e1 Mon Sep 17 00:00:00 2001 From: Rahul Bedarkar Date: Thu, 25 Aug 2016 17:23:38 +0530 Subject: [PATCH 1/1] add proper check for detecting header domoticz.cpp currently assumes that on GNU/Linux systems header is available. But that is not true. Since it provided by C library and uClibc can be built without backtrace support. And in such cases we get following build error. domoticz-3.4834/main/domoticz.cpp:48:22: fatal error: execinfo.h: No such file or directory #include ^ compilation terminated. Instead of depending on __gnu_linux__, add check for detecting presence of and guard code for dumpstack accordingly. This build failure is detected by Buildroot autobuilder. http://autobuild.buildroot.net/results/393/393f839e160b51ca12ac36058718ad2f0c1b50a6/ Signed-off-by: Rahul Bedarkar --- CMakeLists.txt | 7 +++++++ main/domoticz.cpp | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d3113f4..ef32f7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,13 @@ SET(EXECUTABLE_OUTPUT_PATH "" CACHE INTERNAL "Where to put the executables for Domoticz" ) +INCLUDE(CheckIncludeFiles) +CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H) + +IF(HAVE_EXECINFO_H) + ADD_DEFINITIONS(-DHAVE_EXECINFO_H) +ENDIF(HAVE_EXECINFO_H) + #set(CMAKE_EXE_LINKER_FLAGS "-static") # Macro for setting up precompiled headers. Usage: diff --git a/main/domoticz.cpp b/main/domoticz.cpp index 69d2ef6..c52e5ac 100644 --- a/main/domoticz.cpp +++ b/main/domoticz.cpp @@ -44,7 +44,7 @@ #include #endif -#ifdef __gnu_linux__ +#ifdef HAVE_EXECINFO_H #include static void dumpstack(void) { // Notes : -- 2.6.2