Skip to content

Commit f9af3ce

Browse files
BlockMechanicicota
authored andcommitted
Android: add all arch support
Add support for armv7a, i686 and x86_64 archs to android.mk Add -fPIC to depends file as anddroid requires it see https://stackoverflow.com/questions/30498776/position-independent-executables-and-android
1 parent d419ca7 commit f9af3ce

File tree

8 files changed

+40
-15
lines changed

8 files changed

+40
-15
lines changed

depends/hosts/android.mk

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1+
ifeq ($(HOST),armv7a-linux-android)
2+
android_AR=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ar
3+
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang++
4+
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang
5+
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ranlib
6+
else
17
android_AR=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ar
28
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang++
39
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang
410
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ranlib
11+
endif

depends/packages/boost.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,18 @@ $(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win3
1515
$(package)_config_opts_x86_64_mingw32=address-model=64
1616
$(package)_config_opts_i686_mingw32=address-model=32
1717
$(package)_config_opts_i686_linux=address-model=32 architecture=x86
18+
$(package)_config_opts_i686_android=address-model=32
19+
$(package)_config_opts_aarch64_android=address-model=64
20+
$(package)_config_opts_x86_64_android=address-model=64
21+
$(package)_config_opts_armv7a_android=address-model=32
1822
$(package)_toolset_$(host_os)=gcc
1923
$(package)_archiver_$(host_os)=$($(package)_ar)
2024
$(package)_toolset_darwin=darwin
2125
$(package)_archiver_darwin=$($(package)_libtool)
2226
$(package)_config_libraries=chrono,filesystem,system,thread,test
2327
$(package)_cxxflags=-std=c++11 -fvisibility=hidden
2428
$(package)_cxxflags_linux=-fPIC
29+
$(package)_cxxflags_android=-fPIC
2530
endef
2631

2732
define $(package)_preprocess_cmds

depends/packages/libevent.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ define $(package)_set_vars
1919
$(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
2020
$(package)_config_opts_release=--disable-debug-mode
2121
$(package)_config_opts_linux=--with-pic
22+
$(package)_config_opts_android=--with-pic
2223
endef
2324

2425
define $(package)_config_cmds

depends/packages/openssl.mk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,11 @@ $(package)_config_opts_riscv64_linux=linux-generic64
5757
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
5858
$(package)_config_opts_x86_64_mingw32=mingw64
5959
$(package)_config_opts_i686_mingw32=mingw
60-
$(package)_config_opts_android=linux-generic64
60+
$(package)_config_opts_android=-fPIC
61+
$(package)_config_opts_aarch64_android=linux-generic64
62+
$(package)_config_opts_x86_64_android=linux-generic64
63+
$(package)_config_opts_armv7a_android=linux-generic32
64+
$(package)_config_opts_i686_android=linux-generic32
6165
endef
6266

6367
define $(package)_preprocess_cmds

depends/packages/qrencode.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ define $(package)_set_vars
88
$(package)_config_opts=--disable-shared --without-tools --without-tests --disable-sdltest
99
$(package)_config_opts += --disable-gprof --disable-gcov --disable-mudflap
1010
$(package)_config_opts_linux=--with-pic
11+
$(package)_config_opts_android=--with-pic
1112
endef
1213

1314
define $(package)_preprocess_cmds

depends/packages/qt.mk

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -127,20 +127,26 @@ $(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
127127
$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
128128
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
129129
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
130-
$(package)_config_opts_aarch64_android = -xplatform android-clang
131-
$(package)_config_opts_aarch64_android += -android-sdk $(ANDROID_SDK)
132-
$(package)_config_opts_aarch64_android += -android-ndk $(ANDROID_NDK)
133-
$(package)_config_opts_aarch64_android += -android-ndk-platform android-$(ANDROID_API_LEVEL)
134-
$(package)_config_opts_aarch64_android += -device-option CROSS_COMPILE="$(host)-"
130+
131+
$(package)_config_opts_android = -xplatform android-clang
132+
$(package)_config_opts_android += -android-sdk $(ANDROID_SDK)
133+
$(package)_config_opts_android += -android-ndk $(ANDROID_NDK)
134+
$(package)_config_opts_android += -android-ndk-platform android-$(ANDROID_API_LEVEL)
135+
$(package)_config_opts_android += -device-option CROSS_COMPILE="$(host)-"
136+
$(package)_config_opts_android += -egl
137+
$(package)_config_opts_android += -qpa xcb
138+
$(package)_config_opts_android += -no-eglfs
139+
$(package)_config_opts_android += -opengl es2
140+
$(package)_config_opts_android += -qt-freetype
141+
$(package)_config_opts_android += -no-fontconfig
142+
$(package)_config_opts_android += -L $(host_prefix)/lib
143+
$(package)_config_opts_android += -I $(host_prefix)/include
144+
135145
$(package)_config_opts_aarch64_android += -android-arch arm64-v8a
136-
$(package)_config_opts_aarch64_android += -egl
137-
$(package)_config_opts_aarch64_android += -qpa xcb
138-
$(package)_config_opts_aarch64_android += -no-eglfs
139-
$(package)_config_opts_aarch64_android += -opengl es2
140-
$(package)_config_opts_aarch64_android += -qt-freetype
141-
$(package)_config_opts_aarch64_android += -no-fontconfig
142-
$(package)_config_opts_aarch64_android += -L $(host_prefix)/lib
143-
$(package)_config_opts_aarch64_android += -I $(host_prefix)/include
146+
$(package)_config_opts_armv7a_android += -android-arch armeabi-v7a
147+
$(package)_config_opts_x86_64_android += -android-arch x86_64
148+
$(package)_config_opts_i686_android += -android-arch i686
149+
144150
$(package)_build_env = QT_RCC_TEST=1
145151
$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
146152
endef

depends/packages/zeromq.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ define $(package)_set_vars
1010
$(package)_config_opts += --without-libsodium --without-libgssapi_krb5 --without-pgm --without-norm --without-vmci
1111
$(package)_config_opts += --disable-libunwind --disable-radix-tree --without-gcov
1212
$(package)_config_opts_linux=--with-pic
13+
$(package)_config_opts_android=--with-pic
1314
$(package)_cxxflags=-std=c++11
1415
endef
1516

depends/packages/zlib.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ $(package)_config_opts+=RANLIB="$($(package)_ranlib)"
1111
$(package)_config_opts+=AR="$($(package)_ar)"
1212
$(package)_config_opts_darwin+=AR="$($(package)_libtool)"
1313
$(package)_config_opts_darwin+=ARFLAGS="-o"
14-
$(package)_config_opts_aarch64_android+=CHOST=$(host)
14+
$(package)_config_opts_android+=CHOST=$(host)
1515
endef
1616

1717
# zlib has its own custom configure script that takes in options like CC,

0 commit comments

Comments
 (0)