summaryrefslogtreecommitdiff
path: root/patches/monero/0003-Update-android-ndk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/monero/0003-Update-android-ndk.patch')
-rw-r--r--patches/monero/0003-Update-android-ndk.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/patches/monero/0003-Update-android-ndk.patch b/patches/monero/0003-Update-android-ndk.patch
new file mode 100644
index 0000000..1f3df97
--- /dev/null
+++ b/patches/monero/0003-Update-android-ndk.patch
@@ -0,0 +1,153 @@
+From e2526a2a08b96dd75f8c9effe475dd15156c743e Mon Sep 17 00:00:00 2001
+From: Czarek Nakamoto <cyjan@mrcyjanek.net>
+Date: Thu, 23 May 2024 08:02:49 +0200
+Subject: [PATCH 03/11] Update android ndk
+
+rename arm -> armv7a
+---
+ contrib/depends/hosts/android.mk | 18 ++++++++++++----
+ contrib/depends/packages/android_ndk.mk | 28 ++++++++++++++++++-------
+ contrib/depends/packages/boost.mk | 1 +
+ contrib/depends/packages/openssl.mk | 2 +-
+ contrib/depends/toolchain.cmake.in | 13 ++++++------
+ 5 files changed, 44 insertions(+), 18 deletions(-)
+
+diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk
+index d6f8b99dd..827103c36 100644
+--- a/contrib/depends/hosts/android.mk
++++ b/contrib/depends/hosts/android.mk
+@@ -1,12 +1,22 @@
+ ANDROID_API=21
+-
+-ifeq ($(host_arch),arm)
+-host_toolchain=arm-linux-androideabi-
++host_toolchain=nonexistent
++ifeq ($(host_arch),armv7a)
++host_toolchain=armv7a-linux-androideabi${ANDROID_API}-
++endif
++ifeq ($(host_arch),x86_64)
++host_toolchain=x86_64-linux-android${ANDROID_API}-
++endif
++ifeq ($(host_arch),i686)
++host_toolchain=i686-linux-android${ANDROID_API}-
++endif
++ifeq ($(host_arch),aarch64)
++host_toolchain=aarch64-linux-android${ANDROID_API}-
+ endif
+
+ android_CC=$(host_toolchain)clang
+ android_CXX=$(host_toolchain)clang++
+-android_RANLIB=:
++android_RANLIB=llvm-ranlib
++android_AR=llvm-ar
+
+ android_CFLAGS=-pipe
+ android_CXXFLAGS=$(android_CFLAGS)
+diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk
+index 9b8a5332f..2c2914ec2 100644
+--- a/contrib/depends/packages/android_ndk.mk
++++ b/contrib/depends/packages/android_ndk.mk
+@@ -1,12 +1,16 @@
+ package=android_ndk
+-$(package)_version=17b
++$(package)_version=26d
+ $(package)_download_path=https://dl.google.com/android/repository/
+-$(package)_file_name=android-ndk-r$($(package)_version)-linux-x86_64.zip
+-$(package)_sha256_hash=5dfbbdc2d3ba859fed90d0e978af87c71a91a5be1f6e1c40ba697503d48ccecd
++$(package)_file_name=android-ndk-r$($(package)_version)-linux.zip
++$(package)_sha256_hash=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2a328b54
++
++$(package)_version_apiversion=21
+
+ define $(package)_set_vars
+-$(package)_config_opts_arm=--arch arm
++$(package)_config_opts_armv7a=--arch arm
+ $(package)_config_opts_aarch64=--arch arm64
++$(package)_config_opts_x86_64=--arch x86_64
++$(package)_config_opts_i686=--arch x86
+ endef
+
+ define $(package)_extract_cmds
+@@ -14,9 +18,19 @@ define $(package)_extract_cmds
+ unzip -q $($(1)_source_dir)/$($(package)_file_name)
+ endef
+
++# arm-linux-androideabi-ar - openssl workaround
++
+ define $(package)_stage_cmds
+- android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api 21 \
+- --install-dir $(build_prefix) --stl=libc++ $($(package)_config_opts) &&\
+- mv $(build_prefix) $($(package)_staging_dir)/$(host_prefix)
++ mkdir -p $(build_prefix) &&\
++ echo $(build_prefix)/toolchain && \
++ android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api $($(package)_version_apiversion) \
++ --install-dir $(build_prefix)/toolchain --stl=libc++ $($(package)_config_opts) &&\
++ mv $(build_prefix)/toolchain $($(package)_staging_dir)/$(host_prefix)/native && \
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ranlib &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ranlib &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ranlib
+ endef
+
+diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk
+index fd06c5393..c17e863cc 100644
+--- a/contrib/depends/packages/boost.mk
++++ b/contrib/depends/packages/boost.mk
+@@ -25,6 +25,7 @@ $(package)_archiver_darwin=$($(package)_libtool)
+ $(package)_config_libraries=chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,locale
+ $(package)_cxxflags=-std=c++11
+ $(package)_cxxflags_linux=-fPIC
++$(package)_cxxflags_android=-fPIC
+ $(package)_cxxflags_freebsd=-fPIC
+ endef
+
+diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk
+index a157762c7..2430f6495 100644
+--- a/contrib/depends/packages/openssl.mk
++++ b/contrib/depends/packages/openssl.mk
+@@ -34,7 +34,7 @@ $(package)_config_opts_x86_64_linux=linux-x86_64
+ $(package)_config_opts_i686_linux=linux-generic32
+ $(package)_config_opts_arm_linux=linux-generic32
+ $(package)_config_opts_aarch64_linux=linux-generic64
+-$(package)_config_opts_arm_android=--static android-arm
++$(package)_config_opts_armv7a_android=--static android-arm
+ $(package)_config_opts_aarch64_android=--static android-arm64
+ $(package)_config_opts_aarch64_darwin=darwin64-arm64-cc
+ $(package)_config_opts_riscv64_linux=linux-generic64
+diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
+index f118c754e..cc1d9b5c5 100644
+--- a/contrib/depends/toolchain.cmake.in
++++ b/contrib/depends/toolchain.cmake.in
+@@ -100,20 +100,21 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ SET(LLVM_ENABLE_PIE OFF)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+ SET(ANDROID TRUE)
+- if(ARCHITECTURE STREQUAL "arm")
++ if(ARCHITECTURE STREQUAL "armv7a")
+ SET(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a")
+ SET(CMAKE_SYSTEM_PROCESSOR "armv7-a")
+ SET(CMAKE_ANDROID_ARM_MODE ON)
+- SET(CMAKE_C_COMPILER_TARGET arm-linux-androideabi)
+- SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi)
+- SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi-)
++ SET(CMAKE_C_COMPILER_TARGET armv7a-linux-androideabi21)
++ SET(CMAKE_CXX_COMPILER_TARGET armv7a-linux-androideabi21)
++ SET(_CMAKE_TOOLCHAIN_PREFIX armv7a-linux-androideabi21-)
+ elseif(ARCHITECTURE STREQUAL "aarch64")
+ SET(CMAKE_ANDROID_ARCH_ABI "arm64-v8a")
+ SET(CMAKE_SYSTEM_PROCESSOR "aarch64")
+ endif()
+ SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native)
+- SET(CMAKE_C_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang")
+- SET(CMAKE_CXX_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang++")
++ SET(_ANDROID_STANDALONE_TOOLCHAIN_API 21)
++ SET(CMAKE_C_COMPILER @CC@)
++ SET(CMAKE_CXX_COMPILER @CXX@)
+ else()
+ SET(CMAKE_C_COMPILER @CC@)
+ SET(CMAKE_CXX_COMPILER @CXX@)
+--
+2.39.5 (Apple Git-154)
+