summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2025-05-04 13:20:45 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2025-05-04 13:20:45 -0500
commit0e0a288be64699c6b742763a1b710583e03d84eb (patch)
treeeea2f3681237218fef24116b2c21e63c932de76c
parentf79ec61ebd917c7a912f281d9991c4ee6249fd57 (diff)
downloadpackages-alice/rapidjson.tar.gz
packages-alice/rapidjson.tar.bz2
packages-alice/rapidjson.tar.xz
packages-alice/rapidjson.zip
user/rapidjson: Fix build on PPC, add checkalice/rapidjson
-rw-r--r--user/rapidjson/APKBUILD8
-rw-r--r--user/rapidjson/powerpc.patch54
2 files changed, 60 insertions, 2 deletions
diff --git a/user/rapidjson/APKBUILD b/user/rapidjson/APKBUILD
index 7e05e2b1b..40da5fe68 100644
--- a/user/rapidjson/APKBUILD
+++ b/user/rapidjson/APKBUILD
@@ -10,7 +10,9 @@ license="MIT"
depends=""
makedepends="cmake doxygen"
subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Tencent/$pkgname/archive/refs/tags/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Tencent/$pkgname/archive/refs/tags/v$pkgver.tar.gz
+ powerpc.patch
+ "
build() {
cmake \
@@ -22,10 +24,12 @@ build() {
check() {
make test
+ "$builddir"/bin/tutorial
}
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff rapidjson-1.1.0.tar.gz"
+sha512sums="2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff rapidjson-1.1.0.tar.gz
+e82280802c681cca7016597359b0263b3e9ec6d4ad5ac19a5b509f1980f6f377b642f029ca9fdebe917d6463d18b9bec893bf560ef9fc98493269de4ebf0c87a powerpc.patch"
diff --git a/user/rapidjson/powerpc.patch b/user/rapidjson/powerpc.patch
new file mode 100644
index 000000000..cf4e390cc
--- /dev/null
+++ b/user/rapidjson/powerpc.patch
@@ -0,0 +1,54 @@
+From c4db88a3142548ea342e1fd971bf2a08aa70c7eb Mon Sep 17 00:00:00 2001
+From: Wu Zhao <wuzhaozju@gmail.com>
+Date: Wed, 26 Oct 2016 17:27:54 +0800
+Subject: [PATCH] support IBM PowerPC / ppc64 / ppc64le and XL compiler
+
+Avoid POWER platform compiling error and support IBM XL C++ compiler on
+Linux / AIX.
+---
+ CMakeLists.txt | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ceda71b1b..8ccda4be6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,7 +50,13 @@ 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")
++ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "powerpc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
++ else()
++ #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
++ endif()
++ 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")
+@@ -73,7 +79,13 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ endif()
+ endif()
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror -Wno-missing-field-initializers")
++ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "powerpc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
++ else()
++ #FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
++ endif()
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-missing-field-initializers")
+ if (RAPIDJSON_BUILD_CXX11)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ endif()
+@@ -90,6 +102,8 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
++elseif (CMAKE_CXX_COMPILER_ID MATCHES "XL")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qarch=auto")
+ endif()
+
+ #add extra search paths for libraries and includes