From 45de4a60c63a1e73a3a058c218398c116ef922fb Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Mon, 19 Dec 2016 08:56:33 -0800 Subject: rapidjson: add initial recipe A fast JSON parser/generator for C++ with both SAX/DOM style API. Signed-off-by: Andre McCurdy Signed-off-by: Martin Jansa --- .../Fix-gcc-strict-overflow-warning.patch | 30 ++++++++++++++++++++ .../remove-march-native-from-CMAKE_CXX_FLAGS.patch | 33 ++++++++++++++++++++++ .../recipes-devtools/rapidjson/rapidjson_1.0.2.bb | 24 ++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 meta-oe/recipes-devtools/rapidjson/rapidjson/Fix-gcc-strict-overflow-warning.patch create mode 100644 meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch create mode 100644 meta-oe/recipes-devtools/rapidjson/rapidjson_1.0.2.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson/Fix-gcc-strict-overflow-warning.patch b/meta-oe/recipes-devtools/rapidjson/rapidjson/Fix-gcc-strict-overflow-warning.patch new file mode 100644 index 000000000..6ce3933ce --- /dev/null +++ b/meta-oe/recipes-devtools/rapidjson/rapidjson/Fix-gcc-strict-overflow-warning.patch @@ -0,0 +1,30 @@ +From f5560d9557ee48fb79810180ddfd3ec386e2a7b5 Mon Sep 17 00:00:00 2001 +From: Milo Yip +Date: Wed, 2 Mar 2016 01:01:17 +0800 +Subject: [PATCH] Fix gcc strict-overflow warning + +Fix #566 #568 + +Upstream-Status: Backport [Partial merge of upstream commit 928caf92e] + +Signed-off-by: Andre McCurdy +--- + include/rapidjson/internal/dtoa.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/rapidjson/internal/dtoa.h b/include/rapidjson/internal/dtoa.h +index 2d8d2e4..15571e1 100644 +--- a/include/rapidjson/internal/dtoa.h ++++ b/include/rapidjson/internal/dtoa.h +@@ -148,7 +148,7 @@ inline char* WriteExponent(int K, char* buffer) { + inline char* Prettify(char* buffer, int length, int k) { + const int kk = length + k; // 10^(kk-1) <= v < 10^kk + +- if (length <= kk && kk <= 21) { ++ if (0 <= k && kk <= 21) { + // 1234e7 -> 12340000000 + for (int i = length; i < kk; i++) + buffer[i] = '0'; +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch b/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch new file mode 100644 index 000000000..17164283c --- /dev/null +++ b/meta-oe/recipes-devtools/rapidjson/rapidjson/remove-march-native-from-CMAKE_CXX_FLAGS.patch @@ -0,0 +1,33 @@ +From 827155e5e659b2a5065b00d701bc59b57feab2bf Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Mon, 19 Dec 2016 01:37:11 -0800 +Subject: [PATCH] remove -march=native from CMAKE_CXX_FLAGS + +Not appropriate when cross compiling. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andre McCurdy +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68139ba..cae7c9b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,9 +26,9 @@ if(RAPIDJSON_HAS_STDSTRING) + endif() + + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") + elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) + endif() +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson_1.0.2.bb b/meta-oe/recipes-devtools/rapidjson/rapidjson_1.0.2.bb new file mode 100644 index 000000000..1a9abc8bc --- /dev/null +++ b/meta-oe/recipes-devtools/rapidjson/rapidjson_1.0.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "A fast JSON parser/generator for C++ with both SAX/DOM style API" +HOMEPAGE = "http://rapidjson.org/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://license.txt;md5=cff54e417a17b4b77465198254970cd2" + +SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1 \ + file://remove-march-native-from-CMAKE_CXX_FLAGS.patch \ + file://Fix-gcc-strict-overflow-warning.patch \ +" + +SRCREV = "3d5848a7cd3367c5cb451c6493165b7745948308" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF" + +# RapidJSON is a header-only C++ library, so the main package will be empty. + +FILES_${PN}-dev += "${libdir}/cmake" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf