diff options
-rw-r--r-- | user/rapidjson/APKBUILD | 8 | ||||
-rw-r--r-- | user/rapidjson/powerpc.patch | 54 |
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 |