[oe] [meta-oe][PATCH] rapidjson: add initial recipe

Andre McCurdy armccurdy at gmail.com
Mon Dec 19 14:08:33 UTC 2016


On Mon, Dec 19, 2016 at 5:11 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> Please don't use github archives.
>
> On Mon, Dec 19, 2016 at 1:01 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
>
>> A fast JSON parser/generator for C++ with both SAX/DOM style API.
>>
>> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> ---
>>  .../Fix-gcc-strict-overflow-warning.patch          | 30
>> ++++++++++++++++++++
>>  .../remove-march-native-from-CMAKE_CXX_FLAGS.patch | 33
>> ++++++++++++++++++++++
>>  .../recipes-devtools/rapidjson/rapidjson_1.0.2.bb  | 23 +++++++++++++++
>>  3 files changed, 86 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
>>
>> 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 0000000..6ce3933
>> --- /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 <miloyip at 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 at 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
>> +
>> 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 0000000..1716428
>> --- /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 <armccurdy at 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 at 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
>> +
>> 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 0000000..1dcd8e0
>> --- /dev/null
>> +++ b/meta-oe/recipes-devtools/rapidjson/rapidjson_1.0.2.bb
>> @@ -0,0 +1,23 @@
>> +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=cff54e417a17b4b77465198254970c
>> d2"
>> +
>> +SRC_URI = "https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz \
>> +           file://remove-march-native-from-CMAKE_CXX_FLAGS.patch \
>> +           file://Fix-gcc-strict-overflow-warning.patch \
>> +"
>> +
>> +SRC_URI[md5sum] = "97cc60d01282a968474c97f60714828c"
>> +SRC_URI[sha256sum] = "c3711ed2b3c76a5565ee9f0128bb4e
>> c6753dbcc23450b713842df8f236d08666"
>> +
>> +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"
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list