From 63dc46aa3a07be9259814a268e0f0e011af597a9 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Thu, 10 Mar 2016 19:12:15 +0000
Subject: [PATCH] tools/cmake: fix compile on Alpine Linux

internal jsoncpp include order leads to multiple build
errors on Alpine Linux which uses musl libc

use include order from upstream jsoncpp

first error was:
In file included from /usr/include/c++/5.3.0/stdexcept:38:0,
                 from /home/..../openwrt/build_dir/host/cmake-3.4.3/Utilities/cmjsoncpp/include/json/assertions.h:16,
                 from /home/..../openwrt/build_dir/host/cmake-3.4.3/Utilities/cmjsoncpp/src/lib_json/json_reader.cpp:7:
/usr/include/c++/5.3.0/exception:35:9: error: '#pragma' is not allowed here
 #pragma GCC visibility push(default)

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 48995
---
 .../cmake/patches/120-alpine_musl-compat.patch  | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 tools/cmake/patches/120-alpine_musl-compat.patch

diff --git a/tools/cmake/patches/120-alpine_musl-compat.patch b/tools/cmake/patches/120-alpine_musl-compat.patch
new file mode 100644
index 0000000000..ae93201e53
--- /dev/null
+++ b/tools/cmake/patches/120-alpine_musl-compat.patch
@@ -0,0 +1,17 @@
+--- a/Utilities/cmjsoncpp/include/json/assertions.h
++++ b/Utilities/cmjsoncpp/include/json/assertions.h
+@@ -6,12 +6,12 @@
+ #ifndef CPPTL_JSON_ASSERTIONS_H_INCLUDED
+ #define CPPTL_JSON_ASSERTIONS_H_INCLUDED
+ 
++#include <stdlib.h>
++
+ #if !defined(JSON_IS_AMALGAMATION)
+ #include "config.h"
+ #endif // if !defined(JSON_IS_AMALGAMATION)
+ 
+-#include <stdlib.h>
+-
+ #if JSON_USE_EXCEPTION
+ #include <stdexcept>
+ #define JSON_ASSERT(condition)                                                 \
-- 
GitLab