summaryrefslogtreecommitdiffstats
path: root/package/upmpdcli/0001-fix-jsoncpp-detection.patch
blob: 69a9a0ed4e7b9f37e1a7de24aac6e30e1cd9672d (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From 25762953c019ca0c5a047a5fa28f1fe6c78c731a Mon Sep 17 00:00:00 2001
From: Jean-Francois Dockes <jf@dockes.org>
Date: Sun, 11 Sep 2016 13:43:28 +0200
Subject: [PATCH] fix jsoncpp detection
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The default installation path for the header files is {prefix}/json, but some
system prefers to install the headers in {prefix}/jsoncpp/json.

This patch from upstream handles both cases now when checking for the jsoncpp
library.

The patch is squashed of two commits from upstream:
1/ aba96db0cfe8a2e5c825f4448c0ad184e21b50e1
2/ ce144f19a8c2e8c1e0ec3fe53699e874e5eb43fe

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
 configure.ac                               | 8 +++++++-
 src/config.h.in                            | 6 ++++++
 src/mediaserver/cdplugins/plgwithslave.cxx | 5 +++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index f191ad7..108dcce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,9 +43,15 @@ SCCTL_LIBS=$LIBS
 AC_CHECK_LIB([microhttpd], [MHD_queue_response], [], [])
 
 AC_LANG_PUSH([C++])
+
+AC_CHECK_HEADERS(json/json.h jsoncpp/json/json.h)
 LIBS="$LIBS -ljsoncpp"
 AC_LINK_IFELSE([AC_LANG_PROGRAM(
-    [#include <jsoncpp/json/json.h>], [Json::Features dummy])],
+    [[#ifdef HAVE_JSONCPP_JSON_JSON_H
+    #include <jsoncpp/json/json.h>
+    #else
+    #include <json/json.h>
+    #endif]], [Json::Features dummy])],
     [HAVE_JSONCPP=1],
     [AC_MSG_ERROR([libjsoncpp not found.])])
 AC_LANG_POP
diff --git a/src/config.h.in b/src/config.h.in
index 1350308..0a33e15 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -3,6 +3,12 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the <jsoncpp/json/json.h> header file. */
+#undef HAVE_JSONCPP_JSON_JSON_H
+
+/* Define to 1 if you have the <json/json.h> header file. */
+#undef HAVE_JSON_JSON_H
+
 /* Define to 1 if you have the `microhttpd' library (-lmicrohttpd). */
 #undef HAVE_LIBMICROHTTPD
 
diff --git a/src/mediaserver/cdplugins/plgwithslave.cxx b/src/mediaserver/cdplugins/plgwithslave.cxx
index 04f0544..545805c 100644
--- a/src/mediaserver/cdplugins/plgwithslave.cxx
+++ b/src/mediaserver/cdplugins/plgwithslave.cxx
@@ -14,6 +14,7 @@
  *   Free Software Foundation, Inc.,
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
+#include "config.h"
 
 #include "plgwithslave.hxx"
 
@@ -25,7 +26,11 @@
 #include <string.h>
 #include <upnp/upnp.h>
 #include <microhttpd.h>
+#ifdef HAVE_JSONCPP_JSON_JSON_H
 #include <jsoncpp/json/json.h>
+#else
+#include <json/json.h>
+#endif
 
 #include "cmdtalk.h"
 #include "pathut.h"
-- 
2.9.3

OpenPOWER on IntegriCloud