revision 1255:d63f73cc586f
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 1255:d63f73cc586f |
parent | 1254:1ca50e1330cd |
child | 1256:a9d29fe74bf3 |
author | nkeynes |
date | Sun Mar 04 20:56:40 2012 +1000 (12 years ago) |
Add support for armv7-a abi and make it the default - it's a good bit faster
Makefile.am | view | annotate | diff | log | ||
Makefile.in | view | annotate | diff | log | ||
configure | view | annotate | diff | log | ||
m4/android.m4 | view | annotate | diff | log | ||
src/Makefile.in | view | annotate | diff | log | ||
src/tools/Makefile.in | view | annotate | diff | log |
1.1 --- a/Makefile.am Sun Mar 04 20:55:31 2012 +10001.2 +++ b/Makefile.am Sun Mar 04 20:56:40 2012 +10001.3 @@ -106,10 +106,10 @@1.4 -Dout.dir="$$TARGETDIR" -Dnative.libs.dir="$$TARGETDIR/libs" \1.5 -Dnative.libs.absolute.dir="$$TARGETDIR/libs" \1.6 -Dtarget=$(ANDROID_SDK_VERSION) clean )1.7 - $(mkdir_p) android/libs/armeabi1.8 - $(INSTALL) src/liblxdream.so android/libs/armeabi/liblxdream.so1.9 - $(INSTALL) $(ANDROID_GDBSERVER) android/libs/armeabi/gdbserver1.10 - $(STRIP) --strip-unneeded android/libs/armeabi/liblxdream.so1.11 + $(mkdir_p) android/libs/$(ANDROID_ABI)1.12 + $(INSTALL) src/liblxdream.so android/libs/$(ANDROID_ABI)/liblxdream.so1.13 + $(INSTALL) $(ANDROID_GDBSERVER) android/libs/$(ANDROID_ABI)/gdbserver1.14 + $(STRIP) --strip-unneeded android/libs/$(ANDROID_ABI)/liblxdream.so1.15 (TARGETDIR="`pwd`/android" && cd $(srcdir)/android && \1.16 $(ANT) -buildfile build.xml -Dsdk.dir=$(ANDROID_SDK_HOME) \1.17 -Dout.dir="$$TARGETDIR" -Dnative.libs.dir="$$TARGETDIR/libs" \
2.1 --- a/Makefile.in Sun Mar 04 20:55:31 2012 +10002.2 +++ b/Makefile.in Sun Mar 04 20:56:40 2012 +10002.3 @@ -94,6 +94,7 @@2.4 AMDEP_FALSE = @AMDEP_FALSE@2.5 AMDEP_TRUE = @AMDEP_TRUE@2.6 AMTAR = @AMTAR@2.7 +ANDROID_ABI = @ANDROID_ABI@2.8 ANDROID_GDBSERVER = @ANDROID_GDBSERVER@2.9 ANDROID_NDK_HOME = @ANDROID_NDK_HOME@2.10 ANDROID_NDK_VERSION = @ANDROID_NDK_VERSION@2.11 @@ -896,10 +897,10 @@2.12 @GUI_ANDROID_TRUE@ -Dout.dir="$$TARGETDIR" -Dnative.libs.dir="$$TARGETDIR/libs" \2.13 @GUI_ANDROID_TRUE@ -Dnative.libs.absolute.dir="$$TARGETDIR/libs" \2.14 @GUI_ANDROID_TRUE@ -Dtarget=$(ANDROID_SDK_VERSION) clean )2.15 -@GUI_ANDROID_TRUE@ $(mkdir_p) android/libs/armeabi2.16 -@GUI_ANDROID_TRUE@ $(INSTALL) src/liblxdream.so android/libs/armeabi/liblxdream.so2.17 -@GUI_ANDROID_TRUE@ $(INSTALL) $(ANDROID_GDBSERVER) android/libs/armeabi/gdbserver2.18 -@GUI_ANDROID_TRUE@ $(STRIP) --strip-unneeded android/libs/armeabi/liblxdream.so2.19 +@GUI_ANDROID_TRUE@ $(mkdir_p) android/libs/$(ANDROID_ABI)2.20 +@GUI_ANDROID_TRUE@ $(INSTALL) src/liblxdream.so android/libs/$(ANDROID_ABI)/liblxdream.so2.21 +@GUI_ANDROID_TRUE@ $(INSTALL) $(ANDROID_GDBSERVER) android/libs/$(ANDROID_ABI)/gdbserver2.22 +@GUI_ANDROID_TRUE@ $(STRIP) --strip-unneeded android/libs/$(ANDROID_ABI)/liblxdream.so2.23 @GUI_ANDROID_TRUE@ (TARGETDIR="`pwd`/android" && cd $(srcdir)/android && \2.24 @GUI_ANDROID_TRUE@ $(ANT) -buildfile build.xml -Dsdk.dir=$(ANDROID_SDK_HOME) \2.25 @GUI_ANDROID_TRUE@ -Dout.dir="$$TARGETDIR" -Dnative.libs.dir="$$TARGETDIR/libs" \
3.1 --- a/configure Sun Mar 04 20:55:31 2012 +10003.2 +++ b/configure Sun Mar 04 20:56:40 2012 +10003.3 @@ -683,6 +683,7 @@3.4 host_vendor3.5 host_os3.6 ANT3.7 +ANDROID_ABI3.8 ANDROID_SDK_HOME3.9 ANDROID_NDK_HOME3.10 ANDROID_SDK_VERSION3.11 @@ -1467,6 +1468,7 @@3.12 --with-android-ndk=NDK Specify the location of the Android NDK3.13 --with-android-version Specify target Android SDK version3.14 --with-android-version Specify target Android NDK version3.15 + --with-android-abi Specify target Android ABI3.16 --with-osmesa Build with the osmesa GL library (software3.17 rendering)3.18 --with-gtk Build with the GTK UI. Default on X11 systems3.19 @@ -2557,6 +2559,14 @@3.20 fi3.23 +# Check whether --with-android-abi was given.3.24 +if test "${with_android_abi+set}" = set; then3.25 + withval=$with_android_abi;3.26 +else3.27 + ANDROID_ABI="armeabi-v7a"3.28 +fi3.29 +3.30 +3.31 if test "x$with_android" != "x"; then3.32 if test "$with_android" = "yes"; then3.33 { { echo "$as_me:$LINENO: error: --with-android option must be given with the path to the Android SDK " >&53.34 @@ -2656,8 +2666,10 @@3.35 fi3.38 - case $host_alias in3.39 - arm-* | "")3.40 + TARGETFLAGS="-ffunction-sections -funwind-tables -fomit-frame-pointer -DANDROID -Wa,--noexecstack"3.41 +3.42 + case $ANDROID_ABI in3.43 + armeabi | armeabi-v7a)3.44 host_alias="arm-linux-androideabi"3.45 host_cpu="arm"3.46 host_vendor="unknown";3.47 @@ -2665,10 +2677,14 @@3.48 ANDROID_NDK_BIN=`echo $ANDROID_NDK_HOME/toolchains/arm-*/prebuilt/*/bin`3.49 ANDROID_GDBSERVER=`echo $ANDROID_NDK_HOME/toolchains/arm-*/prebuilt/gdbserver`3.50 ANDROID_SYSROOT="$ANDROID_NDK_HOME/platforms/$ANDROID_NDK_VERSION/arch-arm"3.51 - TARGETFLAGS="-ffunction-sections -funwind-tables -fstack-protector -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wno-psabi -Wa,--noexecstack"3.52 - TARGETFLAGS="$TARGETFLAGS -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -march=armv5te -mtune=xscale -msoft-float -mthumb -Os"3.53 + TARGETFLAGS="$TARGETFLAGS -fstack-protector -finline-limit=64 -fno-strict-aliasing -Wno-psabi -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__"3.54 + if test "x$with_abi" = "armeabi"; then3.55 + TARGETFLAGS="$TARGETFLAGS -march=armv5te -mtune=xscale -msoft-float"3.56 + else3.57 + TARGETFLAGS="$TARGETFLAGS -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfp"3.58 + fi3.59 ;;3.60 - i686-*)3.61 + x86)3.62 host_alias="i686-android-linux"3.63 host_cpu="i686"3.64 host_vendor="android"3.65 @@ -2676,11 +2692,11 @@3.66 ANDROID_NDK_BIN=`echo $ANDROID_NDK_HOME/toolchains/x86-*/prebuilt/*/bin`3.67 ANDROID_GDBSERVER=`echo $ANDROID_NDK_HOME/toolchains/x86-*/prebuilt/gdbserver`3.68 ANDROID_SYSROOT="$ANDROID_NDK_HOME/platforms/$ANDROID_NDK_VERSION/arch-x86"3.69 - TARGETFLAGS=""3.70 + TARGETFLAGS="$TARGETFLAGS -finline-limit=300 -fno-rtti -funswitch-loops -fstrict-aliasing"3.71 ;;3.72 *)3.73 - { { echo "$as_me:$LINENO: error: Unsupported android host $host_alias" >&53.74 -echo "$as_me: error: Unsupported android host $host_alias" >&2;}3.75 + { { echo "$as_me:$LINENO: error: Unsupported android ABI $ANDROID_ABI" >&53.76 +echo "$as_me: error: Unsupported android ABI $ANDROID_ABI" >&2;}3.77 { (exit 1); exit 1; }; }3.78 ;;3.79 esac3.80 @@ -2744,6 +2760,7 @@3.84 +3.85 ANDROID_BUILD=yes3.86 cross_compiling=yes3.87 fi3.88 @@ -16760,6 +16777,7 @@3.89 host_vendor!$host_vendor$ac_delim3.90 host_os!$host_os$ac_delim3.91 ANT!$ANT$ac_delim3.92 +ANDROID_ABI!$ANDROID_ABI$ac_delim3.93 ANDROID_SDK_HOME!$ANDROID_SDK_HOME$ac_delim3.94 ANDROID_NDK_HOME!$ANDROID_NDK_HOME$ac_delim3.95 ANDROID_SDK_VERSION!$ANDROID_SDK_VERSION$ac_delim3.96 @@ -16786,7 +16804,6 @@3.97 CPP!$CPP$ac_delim3.98 CC!$CC$ac_delim3.99 CFLAGS!$CFLAGS$ac_delim3.100 -CPPFLAGS!$CPPFLAGS$ac_delim3.101 _ACEOF3.103 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then3.104 @@ -16828,6 +16845,7 @@3.105 ac_delim='%!_!# '3.106 for ac_last_try in false false false false false :; do3.107 cat >conf$$subs.sed <<_ACEOF3.108 +CPPFLAGS!$CPPFLAGS$ac_delim3.109 CC_FOR_BUILD!$CC_FOR_BUILD$ac_delim3.110 ac_ct_CC_FOR_BUILD!$ac_ct_CC_FOR_BUILD$ac_delim3.111 CC_FOR_BUILDDEPMODE!$CC_FOR_BUILDDEPMODE$ac_delim3.112 @@ -16924,7 +16942,6 @@3.113 BUILD_SYSTEST_FALSE!$BUILD_SYSTEST_FALSE$ac_delim3.114 BUILD_ARMTEST_TRUE!$BUILD_ARMTEST_TRUE$ac_delim3.115 BUILD_ARMTEST_FALSE!$BUILD_ARMTEST_FALSE$ac_delim3.116 -LXDREAM_LIBS!$LXDREAM_LIBS$ac_delim3.117 _ACEOF3.119 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then3.120 @@ -16966,6 +16983,7 @@3.121 ac_delim='%!_!# '3.122 for ac_last_try in false false false false false :; do3.123 cat >conf$$subs.sed <<_ACEOF3.124 +LXDREAM_LIBS!$LXDREAM_LIBS$ac_delim3.125 GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim3.126 USE_NLS!$USE_NLS$ac_delim3.127 MSGFMT!$MSGFMT$ac_delim3.128 @@ -16987,7 +17005,7 @@3.129 LTLIBOBJS!$LTLIBOBJS$ac_delim3.130 _ACEOF3.132 - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 19; then3.133 + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 20; then3.134 break3.135 elif $ac_last_try; then3.136 { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
4.1 --- a/m4/android.m4 Sun Mar 04 20:55:31 2012 +10004.2 +++ b/m4/android.m4 Sun Mar 04 20:56:40 2012 +10004.3 @@ -8,6 +8,7 @@4.4 AC_ARG_WITH( android-ndk, AS_HELP_STRING( [--with-android-ndk=NDK], [Specify the location of the Android NDK] ) )4.5 AC_ARG_WITH( android-version, AS_HELP_STRING( [--with-android-version], [Specify target Android SDK version]), [], [with_android_version="android-11"] )4.6 AC_ARG_WITH( android-ndk-version, AS_HELP_STRING( [--with-android-version], [Specify target Android NDK version]), [], [with_ndk_version="android-9"] )4.7 + AC_ARG_WITH( android-abi, AS_HELP_STRING( [--with-android-abi], [Specify target Android ABI]), [], [ANDROID_ABI="armeabi-v7a"] )4.9 if test "x$with_android" != "x"; then4.10 if test "$with_android" = "yes"; then4.11 @@ -26,8 +27,11 @@4.12 AC_CHECK_FILE( [$ANDROID_SDK_HOME/platforms/$ANDROID_SDK_VERSION/sdk.properties], [], [ AC_MSG_ERROR([Android platform version $ANDROID_SDK_VERSION not found in $ANDROID_SDK_HOME]) ])4.13 AC_CHECK_FILE( [$ANDROID_NDK_HOME/toolchains], [], [ AC_MSG_ERROR([Android NDK not found in $ANDROID_NDK_HOME]) ])4.15 - case $host_alias in4.16 - arm-* | "")4.17 + dnl common flags4.18 + TARGETFLAGS="-ffunction-sections -funwind-tables -fomit-frame-pointer -DANDROID -Wa,--noexecstack"4.19 +4.20 + case $ANDROID_ABI in4.21 + armeabi | armeabi-v7a)4.22 host_alias="arm-linux-androideabi"4.23 host_cpu="arm"4.24 host_vendor="unknown";4.25 @@ -35,10 +39,15 @@4.26 ANDROID_NDK_BIN=`echo $ANDROID_NDK_HOME/toolchains/arm-*/prebuilt/*/bin`4.27 ANDROID_GDBSERVER=`echo $ANDROID_NDK_HOME/toolchains/arm-*/prebuilt/gdbserver`4.28 ANDROID_SYSROOT="$ANDROID_NDK_HOME/platforms/$ANDROID_NDK_VERSION/arch-arm"4.29 - TARGETFLAGS="-ffunction-sections -funwind-tables -fstack-protector -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wno-psabi -Wa,--noexecstack"4.30 - TARGETFLAGS="$TARGETFLAGS -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -march=armv5te -mtune=xscale -msoft-float -mthumb -Os"4.31 + dnl Common ARM flags4.32 + TARGETFLAGS="$TARGETFLAGS -fstack-protector -finline-limit=64 -fno-strict-aliasing -Wno-psabi -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__"4.33 + if test "x$with_abi" = "armeabi"; then4.34 + TARGETFLAGS="$TARGETFLAGS -march=armv5te -mtune=xscale -msoft-float"4.35 + else4.36 + TARGETFLAGS="$TARGETFLAGS -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfp"4.37 + fi4.38 ;;4.39 - i686-*)4.40 + x86)4.41 host_alias="i686-android-linux"4.42 host_cpu="i686"4.43 host_vendor="android"4.44 @@ -46,10 +55,10 @@4.45 ANDROID_NDK_BIN=`echo $ANDROID_NDK_HOME/toolchains/x86-*/prebuilt/*/bin`4.46 ANDROID_GDBSERVER=`echo $ANDROID_NDK_HOME/toolchains/x86-*/prebuilt/gdbserver`4.47 ANDROID_SYSROOT="$ANDROID_NDK_HOME/platforms/$ANDROID_NDK_VERSION/arch-x86"4.48 - TARGETFLAGS=""4.49 + TARGETFLAGS="$TARGETFLAGS -finline-limit=300 -fno-rtti -funswitch-loops -fstrict-aliasing"4.50 ;;4.51 *)4.52 - AC_MSG_ERROR([Unsupported android host $host_alias])4.53 + AC_MSG_ERROR([Unsupported android ABI $ANDROID_ABI])4.54 ;;4.55 esac4.57 @@ -67,6 +76,7 @@4.58 LDFLAGS="-nostdlib -Wl,--no-undefined -L${ANDROID_SYSROOT}/usr/lib -Wl,-rpath-link,${ANDROID_SYSROOT}/usr/lib -Wl,-allow-shlib-undefined -Wl,-z,noexecstack $LDFLAGS"4.59 LIBS="$LIBS -liconv -landroid -llog -lgcc -lc -lm"4.61 + AC_SUBST(ANDROID_ABI)4.62 AC_SUBST(ANDROID_SDK_HOME)4.63 AC_SUBST(ANDROID_NDK_HOME)4.64 AC_SUBST(ANDROID_SDK_VERSION)
5.1 --- a/src/Makefile.in Sun Mar 04 20:55:31 2012 +10005.2 +++ b/src/Makefile.in Sun Mar 04 20:56:40 2012 +10005.3 @@ -345,6 +345,7 @@5.4 AMDEP_FALSE = @AMDEP_FALSE@5.5 AMDEP_TRUE = @AMDEP_TRUE@5.6 AMTAR = @AMTAR@5.7 +ANDROID_ABI = @ANDROID_ABI@5.8 ANDROID_GDBSERVER = @ANDROID_GDBSERVER@5.9 ANDROID_NDK_HOME = @ANDROID_NDK_HOME@5.10 ANDROID_NDK_VERSION = @ANDROID_NDK_VERSION@
6.1 --- a/src/tools/Makefile.in Sun Mar 04 20:55:31 2012 +10006.2 +++ b/src/tools/Makefile.in Sun Mar 04 20:56:40 2012 +10006.3 @@ -78,6 +78,7 @@6.4 AMDEP_FALSE = @AMDEP_FALSE@6.5 AMDEP_TRUE = @AMDEP_TRUE@6.6 AMTAR = @AMTAR@6.7 +ANDROID_ABI = @ANDROID_ABI@6.8 ANDROID_GDBSERVER = @ANDROID_GDBSERVER@6.9 ANDROID_NDK_HOME = @ANDROID_NDK_HOME@6.10 ANDROID_NDK_VERSION = @ANDROID_NDK_VERSION@
.