From: Bernhard Walle <bernhard@bwalle.de>
To: ptxdist@pengutronix.de
Cc: Bernhard Walle <bernhard@bwalle.de>
Subject: [ptxdist] [PATCH] Add rapidjson package
Date: Tue, 15 Jan 2019 21:50:43 +0100 [thread overview]
Message-ID: <20190115205043.560-1-bernhard@bwalle.de> (raw)
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
---
.../0001-Remove-march-native-from-c-xx-flags.patch | 22 ++++++++++++
...02-Remove-Wextra-and-Werror-from-cxxflags.patch | 25 +++++++++++++
.../0003-Add-a-void-case-in-memcpy.patch | 35 ++++++++++++++++++
patches/rapidjson-1.1.0/series | 6 ++++
rules/rapidjson.in | 10 ++++++
rules/rapidjson.make | 41 ++++++++++++++++++++++
6 files changed, 139 insertions(+)
create mode 100644 patches/rapidjson-1.1.0/0001-Remove-march-native-from-c-xx-flags.patch
create mode 100644 patches/rapidjson-1.1.0/0002-Remove-Wextra-and-Werror-from-cxxflags.patch
create mode 100644 patches/rapidjson-1.1.0/0003-Add-a-void-case-in-memcpy.patch
create mode 100644 patches/rapidjson-1.1.0/series
create mode 100644 rules/rapidjson.in
create mode 100644 rules/rapidjson.make
diff --git a/patches/rapidjson-1.1.0/0001-Remove-march-native-from-c-xx-flags.patch b/patches/rapidjson-1.1.0/0001-Remove-march-native-from-c-xx-flags.patch
new file mode 100644
index 000000000..6b38eaacc
--- /dev/null
+++ b/patches/rapidjson-1.1.0/0001-Remove-march-native-from-c-xx-flags.patch
@@ -0,0 +1,22 @@
+From: Bernhard Walle <bernhard@bwalle.de>
+Date: Sun, 6 Jan 2019 10:30:55 +0100
+Subject: [PATCH] Remove -march=native from c(xx)flags
+
+Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ceda71b1b67c..66183d58ab73 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,7 +50,7 @@ if(CCACHE_FOUND)
+ endif(CCACHE_FOUND)
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
+ if (RAPIDJSON_BUILD_CXX11)
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
diff --git a/patches/rapidjson-1.1.0/0002-Remove-Wextra-and-Werror-from-cxxflags.patch b/patches/rapidjson-1.1.0/0002-Remove-Wextra-and-Werror-from-cxxflags.patch
new file mode 100644
index 000000000..e06aaa657
--- /dev/null
+++ b/patches/rapidjson-1.1.0/0002-Remove-Wextra-and-Werror-from-cxxflags.patch
@@ -0,0 +1,25 @@
+From: Bernhard Walle <bernhard@bwalle.de>
+Date: Sun, 6 Jan 2019 11:21:23 +0100
+Subject: [PATCH] Remove -Wextra and -Werror from cxxflags
+
+The code doesn't compile with that warnings, for example because
+-Wimplicit-fallthrough is enabled with -Wextra.
+
+Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 66183d58ab73..5e0e065f8d1b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,7 +50,7 @@ if(CCACHE_FOUND)
+ endif(CCACHE_FOUND)
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-implicit-fallthrough")
+ if (RAPIDJSON_BUILD_CXX11)
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7.0")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
diff --git a/patches/rapidjson-1.1.0/0003-Add-a-void-case-in-memcpy.patch b/patches/rapidjson-1.1.0/0003-Add-a-void-case-in-memcpy.patch
new file mode 100644
index 000000000..d1610e4df
--- /dev/null
+++ b/patches/rapidjson-1.1.0/0003-Add-a-void-case-in-memcpy.patch
@@ -0,0 +1,35 @@
+From: Bernhard Walle <bernhard@bwalle.de>
+Date: Sun, 6 Jan 2019 11:23:52 +0100
+Subject: [PATCH] Add a (void *) case in memcpy
+
+The code seems to be ok since that's the way they fixed it in the git
+repo. However, the patch from master doesn't cleanly apply in the old
+version.
+
+Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+---
+ include/rapidjson/document.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h
+index e3e20dfbdc99..a99960426f34 100644
+--- a/include/rapidjson/document.h
++++ b/include/rapidjson/document.h
+@@ -1936,7 +1936,7 @@ private:
+ if (count) {
+ GenericValue* e = static_cast<GenericValue*>(allocator.Malloc(count * sizeof(GenericValue)));
+ SetElementsPointer(e);
+- std::memcpy(e, values, count * sizeof(GenericValue));
++ std::memcpy((void *)e, values, count * sizeof(GenericValue));
+ }
+ else
+ SetElementsPointer(0);
+@@ -1949,7 +1949,7 @@ private:
+ if (count) {
+ Member* m = static_cast<Member*>(allocator.Malloc(count * sizeof(Member)));
+ SetMembersPointer(m);
+- std::memcpy(m, members, count * sizeof(Member));
++ std::memcpy((void *)m, members, count * sizeof(Member));
+ }
+ else
+ SetMembersPointer(0);
diff --git a/patches/rapidjson-1.1.0/series b/patches/rapidjson-1.1.0/series
new file mode 100644
index 000000000..70a6817fb
--- /dev/null
+++ b/patches/rapidjson-1.1.0/series
@@ -0,0 +1,6 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Remove-march-native-from-c-xx-flags.patch
+0002-Remove-Wextra-and-Werror-from-cxxflags.patch
+0003-Add-a-void-case-in-memcpy.patch
+# be3fde461333ed720039c1861af479cb - git-ptx-patches magic
diff --git a/rules/rapidjson.in b/rules/rapidjson.in
new file mode 100644
index 000000000..bef9492d5
--- /dev/null
+++ b/rules/rapidjson.in
@@ -0,0 +1,10 @@
+## SECTION=system_libraries
+
+config RAPIDJSON
+ bool
+ prompt "rapidjson"
+ select HOST_CMAKE
+ help
+ A fast JSON parser/generator for C++ with both SAX/DOM style API
+
+ NOTE: This library is header-only, so there's no target package.
diff --git a/rules/rapidjson.make b/rules/rapidjson.make
new file mode 100644
index 000000000..6af8e9cf2
--- /dev/null
+++ b/rules/rapidjson.make
@@ -0,0 +1,41 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2019 by Bernhard Walle <bernhard@bwalle.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_RAPIDJSON) += rapidjson
+
+#
+# Paths and names
+#
+RAPIDJSON_VERSION := 1.1.0
+RAPIDJSON_MD5 := badd12c511e081fec6c89c43a7027bce
+RAPIDJSON := rapidjson-$(RAPIDJSON_VERSION)
+RAPIDJSON_SUFFIX := tar.gz
+RAPIDJSON_URL := https://github.com/Tencent/rapidjson/archive/v$(RAPIDJSON_VERSION).$(RAPIDJSON_SUFFIX)
+RAPIDJSON_DIR := $(BUILDDIR)/$(RAPIDJSON)
+RAPIDJSON_SOURCE := $(SRCDIR)/$(RAPIDJSON).$(RAPIDJSON_SUFFIX)
+RAPIDJSON_LICENSE := MIT
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# cmake
+#
+RAPIDJSON_CONF_TOOL := cmake
+RAPIDJSON_CONF_OPT := $(CROSS_CMAKE_USR) \
+ -DRAPIDJSON_BUILD_DOC=OFF \
+ -DRAPIDJSON_BUILD_EXAMPLES=OFF \
+ -DRAPIDJSON_BUILD_TESTS=OFF
+
+# vim: syntax=make
--
2.11.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next reply other threads:[~2019-01-15 20:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-15 20:50 Bernhard Walle [this message]
2019-01-16 9:46 ` Denis OSTERLAND
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190115205043.560-1-bernhard@bwalle.de \
--to=bernhard@bwalle.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox