From 1a21f55b63f7d097dbc21229d74dc01d20e1f56e Mon Sep 17 00:00:00 2001 From: xdavidwu Date: Mon, 14 Aug 2023 17:26:20 +0800 Subject: [PATCH] move to android-ndk-beta for better c++20 stdlib support, and prepare for moving to reef --- Containerfile | 6 +++--- build.gradle | 3 ++- src/main/jniLibs/arm64-v8a/libc++_shared.so | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Containerfile b/Containerfile index 2444603..3677f70 100644 --- a/Containerfile +++ b/Containerfile @@ -1,14 +1,14 @@ FROM archlinux RUN printf '[aurbuild]\nServer = https://aurbuild.xdavidwu.link\n' >> /etc/pacman.conf -RUN curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf73f137d4573defaa097dbf09544cff6b08a3fd3' | pacman-key -a - && pacman-key --init && pacman-key --lsign-key f73f137d4573defaa097dbf09544cff6b08a3fd3 && pacman -Syu --noconfirm && pacman -S --noconfirm jdk17-openjdk android-sdk-cmdline-tools-latest android-platform-33 android-sdk-build-tools-33 android-ndk android-aarch64-boost android-aarch64-openssl cmake ninja python-yaml && mkdir /build +RUN curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf73f137d4573defaa097dbf09544cff6b08a3fd3' | pacman-key -a - && pacman-key --init && pacman-key --lsign-key f73f137d4573defaa097dbf09544cff6b08a3fd3 && pacman -Syu --noconfirm && pacman -S --noconfirm jdk17-openjdk android-sdk-cmdline-tools-latest android-platform-33 android-sdk-build-tools-33 android-ndk-beta android-aarch64-boost android-aarch64-openssl cmake ninja python-yaml && rm /var/cache/pacman/pkg/* && mkdir /build WORKDIR /build # XXX: use /etc/profile.d/*.sh instead? ENV ANDROID_HOME=/opt/android-sdk ENV ANDROID_SDK_ROOT=/opt/android-sdk -ENV ANDROID_NDK=/opt/android-ndk -ENV ANDROID_NDK_HOME=/opt/android-ndk +ENV ANDROID_NDK=/opt/android-ndk-beta +ENV ANDROID_NDK_HOME=/opt/android-ndk-beta LABEL org.opencontainers.image.source=https://github.com/xdavidwu/saf-cephfs diff --git a/build.gradle b/build.gradle index 8534df6..260f06a 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 'android-33' buildToolsVersion '33' - ndkPath '/opt/android-ndk' + ndkPath '/opt/android-ndk-beta' defaultConfig { minSdkVersion 24 @@ -20,6 +20,7 @@ android { externalNativeBuild { cmake { arguments '-DWITH_MANPAGE=OFF', '-DWITH_RDMA=OFF', '-DWITH_KVS=OFF', '-DWITH_FUSE=OFF', '-DWITH_BLUESTORE=OFF', '-DWITH_XFS=OFF', '-DWITH_RBD=OFF', '-DWITH_OPENLDAP=OFF', '-DWITH_RADOSGW=OFF', '-DWITH_LZ4=OFF', '-DWITH_KRBD=OFF', '-DWITH_LTTNG=OFF', '-DWITH_MGR=OFF', '-DWITH_BABELTRACE=OFF', '-DWITH_CEPHFS=OFF', '-DWITH_LIBRADOSSTRIPER=OFF', '-DWITH_TESTS=OFF', '-DWITH_REENTRANT_STRSIGNAL=ON', '-DWITH_SYSTEMD=OFF', '-DWITH_MGR_DASHBOARD_FRONTEND=OFF', '-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF', '-DWITH_RADOSGW_AMQP_ENDPOINT=OFF', '-DWITH_RADOSGW_BEAST_OPENSSL=OFF', '-DDEBUG_GATHER=OFF', '-DWITH_CEPHFS_JAVA=ON', '-DOPENSSL_INCLUDE_DIR:FILEPATH=/opt/android-libs/aarch64/include/', '-DOPENSSL_CRYPTO_LIBRARY=/opt/android-libs/aarch64/lib/libcrypto.so', '-DWITH_SYSTEM_BOOST=ON', '-DBoost_INCLUDE_DIR=/opt/android-libs/aarch64/include/', '-DBoost_LIBRARY_DIR=/opt/android-libs/aarch64/lib/', '-DWITH_LIBCEPHSQLITE=OFF' + cppFlags '-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION' // we needs a modern boost build to get rid of this targets 'cephfs_jni' } } diff --git a/src/main/jniLibs/arm64-v8a/libc++_shared.so b/src/main/jniLibs/arm64-v8a/libc++_shared.so index d1899a5..0eabf12 120000 --- a/src/main/jniLibs/arm64-v8a/libc++_shared.so +++ b/src/main/jniLibs/arm64-v8a/libc++_shared.so @@ -1 +1 @@ -/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so \ No newline at end of file +/opt/android-ndk-beta/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so \ No newline at end of file -- 2.43.0