12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- From 5409696dfcbb05d6e4e67e74c97487b1987639e1 Mon Sep 17 00:00:00 2001
- From: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
- Date: Thu, 25 Aug 2016 17:23:38 +0530
- Subject: [PATCH 1/1] add proper check for detecting header <execinfo.h>
- domoticz.cpp currently assumes that on GNU/Linux systems header
- <execinfo.h> 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 <execinfo.h>
- ^
- compilation terminated.
- Instead of depending on __gnu_linux__, add check for detecting
- presence of <execinfo.h> 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 <rahul.bedarkar@imgtec.com>
- ---
- 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 <string.h>
- #endif
-
- -#ifdef __gnu_linux__
- +#ifdef HAVE_EXECINFO_H
- #include <execinfo.h>
- static void dumpstack(void) {
- // Notes :
- --
- 2.6.2
|