kumquat-buildroot/package/domoticz/0001-add-proper-check-for-detecting-header-execinfo.h.patch
Thomas Petazzoni 397962ce17 domoticz: fix patch for uClibc compatibility
The source files in the domoticz tarballs have DOS line endings, which
don't appear when fetching the source code from Git. Therefore, a patch
generated from the Git repository doesn't apply directly on the source
code extracted from the tarball.

This commit fixes the patch so that it applies cleanly to the
tarball. Notice that the CMakeLists.txt file is not affected, only the
domoticz.cpp file uses DOS line endings.

While we're at it, we change the patch title prefix from [PATCH 1/1] to
just [PATCH].

Fixes:

  http://autobuild.buildroot.net/results/a0539b3551d482411dd4bcd5c9b8c89f77e68475/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-26 10:53:54 +02:00

59 lines
1.8 KiB
Diff

From f0da50118f7bd01ed7fa97e75b790a8232d8d4dc 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] 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(-)
Index: b/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,6 +61,13 @@
"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:
Index: b/main/domoticz.cpp
===================================================================
--- 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 :