From 7bc2a0aa7e433f2b4714f934ffd43ec3d7ebfa29 Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Thu, 14 Apr 2022 13:04:54 -0300 Subject: [PATCH] Android fixes - fix openssl build on android with new openssl incantations needed with openssl 3.x - disable Werror on android --- .drone.jsonnet | 2 +- cmake/StaticBuild.cmake | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.drone.jsonnet b/.drone.jsonnet index d015cd69d..6f9fbdd0c 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -176,7 +176,7 @@ local android_build_steps(android_abi, android_platform=21, jobs=6, cmake_extra= '-DCMAKE_BUILD_TYPE=Release ' + '-DCMAKE_TOOLCHAIN_FILE=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake ' + '-DANDROID_PLATFORM=' + android_platform + ' -DANDROID_ABI=' + android_abi + ' ' + - '-DMONERO_SLOW_HASH=ON ' + + cmake_options({ MONERO_SLOW_HASH: true, WARNINGS_AS_ERRORS: false, BUILD_TESTS: false }) + '-DLOCAL_MIRROR=https://builds.lokinet.dev/deps ' + '-DBUILD_STATIC_DEPS=ON -DSTATIC=ON -G Ninja ' + cmake_extra, 'ninja -j' + jobs + ' -v wallet_merged', diff --git a/cmake/StaticBuild.cmake b/cmake/StaticBuild.cmake index 2d98c08a3..30482cc3a 100644 --- a/cmake/StaticBuild.cmake +++ b/cmake/StaticBuild.cmake @@ -289,6 +289,8 @@ if(CMAKE_CROSSCOMPILING) elseif(ANDROID) set(openssl_configure_extra ${openssl_machine} -D__ANDROID_API__=21) set(openssl_system_env ${cross_extra}) + list(APPEND openssl_system_env "ANDROID_NDK_ROOT=${ANDROID_NDK}") + list(APPEND openssl_system_env "PATH=${ANDROID_TOOLCHAIN_ROOT}/bin:${ANDROID_NDK}/toolchains/${ANDROID_TOOLCHAIN_NAME}/prebuilt/linux-x86_64/bin:$ENV{PATH}") set(openssl_extra_opts no-asm) elseif(IOS) get_filename_component(apple_toolchain "${CMAKE_C_COMPILER}" DIRECTORY) @@ -302,11 +304,12 @@ if(CMAKE_CROSSCOMPILING) endif() endif() build_external(openssl - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env CC=${openssl_cc} ${openssl_system_env} ./Configure ${openssl_configure_extra} - --prefix=${DEPS_DESTDIR} --libdir=lib ${openssl_extra_opts} + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env CC=${openssl_cc} "CFLAGS=${deps_CFLAGS}" ${openssl_system_env} + ./Configure ${openssl_configure_extra} --prefix=${DEPS_DESTDIR} --libdir=lib ${openssl_extra_opts} no-shared no-capieng no-dso no-dtls1 no-ec_nistp_64_gcc_128 no-gost no-md2 no-rc5 no-rdrand no-rfc3779 no-sctp no-ssl-trace no-ssl3 - no-static-engine no-tests no-weak-ssl-ciphers no-zlib-dynamic "CFLAGS=${deps_CFLAGS}" + no-static-engine no-tests no-weak-ssl-ciphers no-zlib-dynamic + BUILD_COMMAND ${CMAKE_COMMAND} -E env CC=${openssl_cc} ${openssl_system_env} make INSTALL_COMMAND make install_sw BUILD_BYPRODUCTS ${DEPS_DESTDIR}/lib/libssl.a ${DEPS_DESTDIR}/lib/libcrypto.a