fix wownero build issues, rename target to proper triplet

This commit is contained in:
Czarek Nakamoto
2024-06-12 16:53:30 +02:00
parent 681282411b
commit cd07e5d211
4 changed files with 202 additions and 38 deletions
+13 -37
View File
@@ -59,47 +59,23 @@ case "$HOST_ABI" in
;;
"x86_64-linux-android")
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
if [[ "$repo" == "wownero" ]];
then
export CC=x86_64-linux-android-clang
export CXX=x86_64-linux-android-clang++
else
export CC=x86_64-linux-android21-clang
export CXX=x86_64-linux-android21-clang++
fi
export CC=x86_64-linux-android21-clang
export CXX=x86_64-linux-android21-clang++
;;
"i686-linux-android")
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
if [[ "$repo" == "wownero" ]];
then
export CC=i686-linux-android-clang
export CXX=i686-linux-android-clang++
else
export CC=i686-linux-android21-clang
export CXX=i686-linux-android21-clang++
fi
export CC=i686-linux-android21-clang
export CXX=i686-linux-android21-clang++
;;
"aarch64-linux-android")
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
if [[ "$repo" == "wownero" ]];
then
export CC=aarch64-linux-android-clang
export CXX=aarch64-linux-android-clang++
else
export CC=aarch64-linux-android21-clang
export CXX=aarch64-linux-android21-clang++
fi
export CC=aarch64-linux-android21-clang
export CXX=aarch64-linux-android21-clang++
;;
"arm-linux-androideabi")
"armv7a-linux-androideabi")
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
if [[ "$repo" == "wownero" ]];
then
export CC=arm-linux-androideabi-clang
export CXX=arm-linux-androideabi-clang++
else
export CC=armv7a-linux-androideabi21-clang
export CXX=armv7a-linux-androideabi21-clang++
fi
export CC=armv7a-linux-androideabi21-clang
export CXX=armv7a-linux-androideabi21-clang++
;;
"i686-w64-mingw32")
update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
@@ -138,7 +114,7 @@ case "$HOST_ABI" in
esac
pushd $repo/contrib/depends
case "$HOST_ABI" in
"x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "arm-linux-androideabi" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11")
"x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11")
CC=gcc CXX=g++ make HOST="$HOST_ABI" "$NPROC"
;;
"host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin")
@@ -301,7 +277,7 @@ pushd $repo/build/${HOST_ABI}
"aarch64-linux-android")
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-armv8" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../..
;;
"arm-linux-androideabi")
"armv7a-linux-androideabi")
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-armv7" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../..
;;
"x86_64-w64-mingw32")
@@ -355,7 +331,7 @@ pushd ${repo}_libwallet2_api_c
mkdir -p build/${HOST_ABI} -p
pushd build/${HOST_ABI}
case $HOST_ABI in
"x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11" | "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "arm-linux-androideabi")
"x86_64-linux-gnu" | "i686-linux-gnu" | "aarch64-linux-gnu" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11" | "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi")
echo $CC
env CC="${CC}" CXX="${CXX}" cmake -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../..
CC="${CC}" CXX="${CXX}" make $NPROC
@@ -401,7 +377,7 @@ pushd release/$repo
rm ${HOST_ABI}_libssp-0.dll.xz || true
xz -e ${HOST_ABI}_libssp-0.dll
fi
if [[ "$HOST_ABI" == "x86_64-linux-android" || "$HOST_ABI" == "i686-linux-android" || "$HOST_ABI" == "aarch64-linux-android" || "$HOST_ABI" == "arm-linux-androideabi" ]];
if [[ "$HOST_ABI" == "x86_64-linux-android" || "$HOST_ABI" == "i686-linux-android" || "$HOST_ABI" == "aarch64-linux-android" || "$HOST_ABI" == "armv7a-linux-androideabi" ]];
then
cp ../../$repo/contrib/depends/${HOST_ABI}/native/sysroot/usr/lib/${HOST_ABI}/libc++_shared.so ${HOST_ABI}_libc++_shared.so
rm ${HOST_ABI}_libc++_shared.so.xz || true
+1 -1
View File
@@ -63,7 +63,7 @@ set_target_properties(ssl PROPERTIES IMPORTED_LOCATION
# Boost
############
if(${HOST_ABI} STREQUAL "x86_64-linux-android" OR ${HOST_ABI} STREQUAL "aarch64-linux-android" OR ${HOST_ABI} STREQUAL "arm-linux-androideabi" OR ${HOST_ABI} STREQUAL "i686-linux-android")
if(${HOST_ABI} STREQUAL "x86_64-linux-android" OR ${HOST_ABI} STREQUAL "aarch64-linux-android" OR ${HOST_ABI} STREQUAL "armv7a-linux-androideabi" OR ${HOST_ABI} STREQUAL "i686-linux-android")
set(CMAKE_LINKER ${HOST_ABI}-ld)
set(BOOST_WTF "-mt-s")
set(BOOST_WTF_PART "")
@@ -0,0 +1,94 @@
From 9b7623e565a31db296f20cac00ddde58e8e83fe2 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Wed, 12 Jun 2024 15:48:01 +0200
Subject: [PATCH] rename arm -> armv7a
---
contrib/depends/hosts/android.mk | 2 +-
contrib/depends/packages/android_ndk.mk | 6 +++++-
contrib/depends/packages/openssl.mk | 2 +-
contrib/depends/toolchain.cmake.in | 8 ++++----
4 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk
index e1c99aef3..827103c36 100644
--- a/contrib/depends/hosts/android.mk
+++ b/contrib/depends/hosts/android.mk
@@ -1,6 +1,6 @@
ANDROID_API=21
host_toolchain=nonexistent
-ifeq ($(host_arch),arm)
+ifeq ($(host_arch),armv7a)
host_toolchain=armv7a-linux-androideabi${ANDROID_API}-
endif
ifeq ($(host_arch),x86_64)
diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk
index 1ad250653..2c2914ec2 100644
--- a/contrib/depends/packages/android_ndk.mk
+++ b/contrib/depends/packages/android_ndk.mk
@@ -7,7 +7,7 @@ $(package)_sha256_hash=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2
$(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
@@ -18,6 +18,8 @@ define $(package)_extract_cmds
unzip -q $($(1)_source_dir)/$($(package)_file_name)
endef
+# arm-linux-androideabi-ar - openssl workaround
+
define $(package)_stage_cmds
mkdir -p $(build_prefix) &&\
echo $(build_prefix)/toolchain && \
@@ -25,7 +27,9 @@ define $(package)_stage_cmds
--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/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 96a95ceb8..48a6f947e 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -100,13 +100,13 @@ 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-androideabi21)
- SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi21)
- SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi21-)
+ 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")
--
2.39.2
@@ -0,0 +1,94 @@
From 6b931c1af6965b3da03b795e711b87eaaec17838 Mon Sep 17 00:00:00 2001
From: Czarek Nakamoto <cyjan@mrcyjanek.net>
Date: Wed, 12 Jun 2024 15:48:01 +0200
Subject: [PATCH] rename arm -> armv7a
---
contrib/depends/hosts/android.mk | 2 +-
contrib/depends/packages/android_ndk.mk | 6 +++++-
contrib/depends/packages/openssl.mk | 2 +-
contrib/depends/toolchain.cmake.in | 8 ++++----
4 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk
index c7b6b6d36..9477b4e22 100644
--- a/contrib/depends/hosts/android.mk
+++ b/contrib/depends/hosts/android.mk
@@ -1,6 +1,6 @@
ANDROID_API=21
host_toolchain=nonexistent
-ifeq ($(host_arch),arm)
+ifeq ($(host_arch),armv7a)
host_toolchain=armv7a-linux-androideabi${ANDROID_API}-
endif
ifeq ($(host_arch),x86_64)
diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk
index 1ad250653..2c2914ec2 100644
--- a/contrib/depends/packages/android_ndk.mk
+++ b/contrib/depends/packages/android_ndk.mk
@@ -7,7 +7,7 @@ $(package)_sha256_hash=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2
$(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
@@ -18,6 +18,8 @@ define $(package)_extract_cmds
unzip -q $($(1)_source_dir)/$($(package)_file_name)
endef
+# arm-linux-androideabi-ar - openssl workaround
+
define $(package)_stage_cmds
mkdir -p $(build_prefix) &&\
echo $(build_prefix)/toolchain && \
@@ -25,7 +27,9 @@ define $(package)_stage_cmds
--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/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 249213b20..cc1d9b5c5 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -100,13 +100,13 @@ 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-androideabi21)
- SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi21)
- SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi21-)
+ 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")
--
2.39.2