All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH v2] rapidjson: add initial recipe
@ 2016-12-19 16:56 Andre McCurdy
  2017-01-13 16:06 ` Martin Jansa
  0 siblings, 1 reply; 3+ messages in thread
From: Andre McCurdy @ 2016-12-19 16:56 UTC (permalink / raw)
  To: openembedded-devel

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

Signed-off-by: Andre McCurdy <armccurdy@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  | 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

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@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
+
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@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
+
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..1a9abc8
--- /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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [meta-oe][PATCH v2] rapidjson: add initial recipe
  2016-12-19 16:56 [meta-oe][PATCH v2] rapidjson: add initial recipe Andre McCurdy
@ 2017-01-13 16:06 ` Martin Jansa
  2017-01-13 23:14   ` Andre McCurdy
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Jansa @ 2017-01-13 16:06 UTC (permalink / raw)
  To: openembedded-devel

Fails to build here with:

rapidjson/1.0.2-r0/git/test/unittest/unittest.h
<https://anaconda.lgsvl.com/jenkins/job/webos-pro-jansa-master-test-dependencies-qemux86/ws/build/BUILD/work/qemux86-webos-linux/rapidjson/1.0.2-r0/git/test/unittest/unittest.h>>:92:83:
error: throw will always call terminate() [-Werror=terminate]
|  #define RAPIDJSON_ASSERT(x) if (!(x)) throw
AssertException(RAPIDJSON_STRINGIFY(x))
|

On Mon, Dec 19, 2016 at 5:56 PM, Andre McCurdy <armccurdy@gmail.com> wrote:

> A fast JSON parser/generator for C++ with both SAX/DOM style API.
>
> Signed-off-by: Andre McCurdy <armccurdy@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  | 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
>
> 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@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
> +
> 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@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
> +
> 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..1a9abc8
> --- /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=cff54e417a17b4b77465198254970c
> d2"
> +
> +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"
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [meta-oe][PATCH v2] rapidjson: add initial recipe
  2017-01-13 16:06 ` Martin Jansa
@ 2017-01-13 23:14   ` Andre McCurdy
  0 siblings, 0 replies; 3+ messages in thread
From: Andre McCurdy @ 2017-01-13 23:14 UTC (permalink / raw)
  To: openembeded-devel

On Fri, Jan 13, 2017 at 8:06 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> Fails to build here with:
>
> rapidjson/1.0.2-r0/git/test/unittest/unittest.h
> <https://anaconda.lgsvl.com/jenkins/job/webos-pro-jansa-master-test-dependencies-qemux86/ws/build/BUILD/work/qemux86-webos-linux/rapidjson/1.0.2-r0/git/test/unittest/unittest.h>>:92:83:
> error: throw will always call terminate() [-Werror=terminate]
> |  #define RAPIDJSON_ASSERT(x) if (!(x)) throw
> AssertException(RAPIDJSON_STRINGIFY(x))
> |
>

It looks like the unit tests somehow got enabled in your build,
perhaps because gtest sources were found on host? I'll send a v3 which
disables unit tests explicitly to make that deterministic.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-13 23:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-19 16:56 [meta-oe][PATCH v2] rapidjson: add initial recipe Andre McCurdy
2017-01-13 16:06 ` Martin Jansa
2017-01-13 23:14   ` Andre McCurdy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.