@@ -3247,6 +3247,9 @@ then
3247
3247
# a lot of different things including 'define_xopen_source'
3248
3248
# in the case statement below.
3249
3249
case " $host " in
3250
+ * -* -linux-android* )
3251
+ ac_sys_system=Linux-android
3252
+ ;;
3250
3253
* -* -linux* )
3251
3254
ac_sys_system=Linux
3252
3255
;;
@@ -5640,21 +5643,32 @@ $as_echo_n "checking for the Android API level... " >&6; }
5640
5643
cat >> conftest.c << EOF
5641
5644
#ifdef __ANDROID__
5642
5645
#include <android/api-level.h>
5643
- __ANDROID_API__
5646
+ android_api = __ANDROID_API__
5647
+ arm_arch = __ARM_ARCH
5644
5648
#else
5645
5649
#error not Android
5646
5650
#endif
5647
5651
EOF
5648
5652
5649
5653
if $CPP $CPPFLAGS conftest.c > conftest.out 2> /dev/null; then
5650
- ANDROID_API_LEVEL=` grep -v ' ^#' conftest.out | grep -v ' ^ *$' `
5654
+ ANDROID_API_LEVEL=` sed -n -e ' /__ANDROID_API__/d' -e ' s/^android_api = //p' conftest.out`
5655
+ _arm_arch=` sed -n -e ' /__ARM_ARCH/d' -e ' s/^arm_arch = //p' conftest.out`
5651
5656
{ $as_echo " $as_me :${as_lineno-$LINENO } : result: $ANDROID_API_LEVEL " >&5
5652
5657
$as_echo " $ANDROID_API_LEVEL " >&6 ; }
5653
5658
5654
5659
cat >> confdefs.h << _ACEOF
5655
5660
#define ANDROID_API_LEVEL $ANDROID_API_LEVEL
5656
5661
_ACEOF
5657
5662
5663
+
5664
+ { $as_echo " $as_me :${as_lineno-$LINENO } : checking for the Android arm ABI" >&5
5665
+ $as_echo_n " checking for the Android arm ABI... " >&6 ; }
5666
+ { $as_echo " $as_me :${as_lineno-$LINENO } : result: $_arm_arch " >&5
5667
+ $as_echo " $_arm_arch " >&6 ; }
5668
+ if test " $_arm_arch " = 7; then
5669
+ BASECFLAGS=" ${BASECFLAGS} -mfloat-abi=softfp -mfpu=vfpv3-d16"
5670
+ LDFLAGS=" ${LDFLAGS} -march=armv7-a -Wl,--fix-cortex-a8"
5671
+ fi
5658
5672
else
5659
5673
{ $as_echo " $as_me :${as_lineno-$LINENO } : result: not Android" >&5
5660
5674
$as_echo " not Android" >&6 ; }
@@ -9281,6 +9295,7 @@ then
9281
9295
then CCSHARED=" -fPIC" ;
9282
9296
else CCSHARED=" +z" ;
9283
9297
fi ;;
9298
+ Linux-android* ) ;;
9284
9299
Linux* |GNU* ) CCSHARED=" -fPIC" ;;
9285
9300
BSD/OS* /4* ) CCSHARED=" -fpic" ;;
9286
9301
FreeBSD* |NetBSD* |OpenBSD* |DragonFly* ) CCSHARED=" -fPIC" ;;
@@ -9314,6 +9329,7 @@ then
9314
9329
LINKFORSHARED=" -Wl,-E -Wl,+s" ;;
9315
9330
# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
9316
9331
BSD/OS/4* ) LINKFORSHARED=" -Xlinker -export-dynamic" ;;
9332
+ Linux-android* ) LINKFORSHARED=" -pie -Xlinker -export-dynamic" ;;
9317
9333
Linux* |GNU* ) LINKFORSHARED=" -Xlinker -export-dynamic" ;;
9318
9334
# -u libsys_s pulls in all symbols in libsys
9319
9335
Darwin/* )
0 commit comments