Skip to content

Commit 33a7e67

Browse files
author
Mark Buer
committed
Splits Android NDK path configuration.
1 parent ed49bad commit 33a7e67

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

configure

+21-14
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,9 @@ valopt llvm-root "" "set LLVM root"
590590
valopt python "" "set path to python"
591591
valopt jemalloc-root "" "set directory where libjemalloc_pic.a is located"
592592
valopt build "${DEFAULT_BUILD}" "GNUs ./configure syntax LLVM build triple"
593-
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
593+
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path (deprecated)"
594+
valopt arm-linux-androideabi-ndk "" "arm-linux-androideabi NDK standalone path"
595+
valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
594596
valopt release-channel "dev" "the name of the release channel to build"
595597
valopt musl-root "/usr/local" "MUSL root installation directory"
596598

@@ -1099,20 +1101,24 @@ do
10991101
fi
11001102

11011103
case $i in
1102-
arm-linux-androideabi)
1103-
1104-
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-gcc ]
1105-
then
1106-
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-gcc not found"
1107-
fi
1108-
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-g++ ]
1109-
then
1110-
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-g++ not found"
1111-
fi
1112-
if [ ! -f $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-ar ]
1104+
*android*)
1105+
upper_snake_target=$(echo "$i" | tr '[:lower:]' '[:upper:]' | tr '\-' '\_')
1106+
eval ndk=\$"CFG_${upper_snake_target}_NDK"
1107+
if [ -z "$ndk" ]
11131108
then
1114-
err "NDK $CFG_ANDROID_CROSS_PATH/bin/arm-linux-androideabi-ar not found"
1109+
ndk=$CFG_ANDROID_CROSS_PATH
1110+
eval "CFG_${upper_snake_target}_NDK"=$CFG_ANDROID_CROSS_PATH
1111+
warn "generic/default Android NDK option is deprecated (use --$i-ndk option instead)"
11151112
fi
1113+
1114+
# Perform a basic sanity check of the NDK
1115+
for android_ndk_tool in "$ndk/bin/$i-gcc" "$ndk/bin/$i-g++" "$ndk/bin/$i-ar"
1116+
do
1117+
if [ ! -f $android_ndk_tool ]
1118+
then
1119+
err "NDK tool $android_ndk_tool not found (bad or missing --$i-ndk option?)"
1120+
fi
1121+
done
11161122
;;
11171123

11181124
arm-apple-darwin)
@@ -1654,7 +1660,8 @@ putvar CFG_HOST
16541660
putvar CFG_TARGET
16551661
putvar CFG_LIBDIR_RELATIVE
16561662
putvar CFG_DISABLE_MANAGE_SUBMODULES
1657-
putvar CFG_ANDROID_CROSS_PATH
1663+
putvar CFG_AARCH64_LINUX_ANDROID_NDK
1664+
putvar CFG_ARM_LINUX_ANDROIDEABI_NDK
16581665
putvar CFG_MANDIR
16591666

16601667
# Avoid spurious warnings from clang by feeding it original source on

mk/cfg/aarch64-linux-android.mk

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# aarch64-linux-android configuration
22
# CROSS_PREFIX_aarch64-linux-android-
3-
CC_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc
4-
CXX_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-g++
5-
CPP_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -E
6-
AR_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-ar
3+
CC_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-gcc
4+
CXX_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-g++
5+
CPP_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-gcc -E
6+
AR_aarch64-linux-android=$(CFG_AARCH64_LINUX_ANDROID_NDK)/bin/aarch64-linux-android-ar
77
CFG_LIB_NAME_aarch64-linux-android=lib$(1).so
88
CFG_STATIC_LIB_NAME_aarch64-linux-android=lib$(1).a
99
CFG_LIB_GLOB_aarch64-linux-android=lib$(1)-*.so

mk/cfg/arm-linux-androideabi.mk

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# arm-linux-androideabi configuration
2-
CC_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc
3-
CXX_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-g++
4-
CPP_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc -E
5-
AR_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-ar
2+
CC_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-gcc
3+
CXX_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-g++
4+
CPP_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-gcc -E
5+
AR_arm-linux-androideabi=$(CFG_ARM_LINUX_ANDROIDEABI_NDK)/bin/arm-linux-androideabi-ar
66
CFG_LIB_NAME_arm-linux-androideabi=lib$(1).so
77
CFG_STATIC_LIB_NAME_arm-linux-androideabi=lib$(1).a
88
CFG_LIB_GLOB_arm-linux-androideabi=lib$(1)-*.so

0 commit comments

Comments
 (0)