rapidjson: add initial recipe

A fast JSON parser/generator for C++ with both SAX/DOM style API.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andre McCurdy 2016-12-19 08:56:33 -08:00 committed by Martin Jansa
parent a2e1a14961
commit 45de4a60c6
3 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,30 @@
From f5560d9557ee48fb79810180ddfd3ec386e2a7b5 Mon Sep 17 00:00:00 2001
From: Milo Yip <miloyip@gmail.com>
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 <armccurdy@gmail.com>
---
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

View File

@ -0,0 +1,33 @@
From 827155e5e659b2a5065b00d701bc59b57feab2bf Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
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 <armccurdy@gmail.com>
---
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

View File

@ -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"