diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-04-14 16:55:06 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-04-15 00:39:45 +0200 |
commit | d37ea94f2a85d0d23acaae2014a19d46693fe3df (patch) | |
tree | de2c33ccb6df299ff02aa9dcb7860f416302772f /tools | |
parent | 2deb7d7a8ec31a45bdda3bcf5f4fc4fb0b15fd5b (diff) |
Android: Compile native android bits with armv7-a CPU flags
DX50/DX90 has a Cortex-A9 with NEON, use those specific flags
for speed.
Generic Android targets is for v4.4 (API 19) which doesn't support
pre-v7 ARM CPUs, so target generic armv7-a with hardfp support.
(This patch includes a rearrangement of the android toolchain helpers to
allow target-specific GCCOPTS. Huzzah)
Change-Id: I696051ef3fae25e1569c7b904decb7a3a0c6b674
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/configure | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/tools/configure b/tools/configure index a41a9e529b..38130f85e8 100755 --- a/tools/configure +++ b/tools/configure @@ -776,6 +776,7 @@ androidcc () { thread_support="HAVE_SIGALTSTACK_THREADS" ANDROID_ARCH=$2 # for android.make too ANDROID_PLATFORM_VERSION=$1 + GCCOPTS="$GCCOPTS $3" gccchoice="4.9" # arch dependant stuff case $ANDROID_ARCH in @@ -787,7 +788,18 @@ androidcc () { if [ ${?} != 0 ]; then exit fi - GCCOPTS="$GCCOPTS -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fuse-ld=bfd" + # Android 4.4 (API 19) doesn't support anything older than armv7. + GCCOPTS="$GCCOPTS -fomit-frame-pointer -fuse-ld=bfd" + ;; + aarch64) + endian="little" + gcctarget="arm-linux-androideabi-" + echo "${make_toolchain} --toolchain=aarch64-linux-android-${gccchoice} --platform=android-$ANDROID_PLATFORM_VERSION --install-dir=${pwd}/android-toolchain" + ${make_toolchain} --toolchain=aarch64-linux-android-${gccchoice} --platform=android-$ANDROID_PLATFORM_VERSION --install-dir=${pwd}/android-toolchain + if [ ${?} != 0 ]; then + exit + fi + GCCOPTS="$GCCOPTS -fomit-frame-pointer -fuse-ld=bfd" # what default cpu arch/tune to use? ;; mips) endian="little" @@ -849,6 +861,7 @@ androidndkcc() GLOBAL_LDOPTS="-Wl,-z,defs -Wl,-z,noexecstack" ANDROID_PLATFORM_VERSION=$1 + GCCOPTS="$GCCOPTS $3" # arch dependant stuff case $2 in @@ -861,7 +874,7 @@ androidndkcc() if [ ${?} != 0 ]; then exit fi - GCCOPTS="$GCCOPTS -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer" + GCCOPTS="$GCCOPTS -fomit-frame-pointer" ;; *) echo "ERROR: androidndkcc(): Unknown target architecture" @@ -3570,7 +3583,7 @@ fi libdir="/data/data/org.rockbox/app_rockbox" memory=8 uname=`uname` - androidcc 19 armeabi + androidcc 19 armeabi "-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp" tool="cp " boottool="cp " bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" @@ -4165,7 +4178,7 @@ fi # Actually 408260kB memory=256 uname=`uname` - androidndkcc 16 armeabi + androidndkcc 16 armeabi "-mcpu=cortex-a9 -mfpu=neon-fp16 -mfloat-abi=softfp" tool="cp " boottool="cp " bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" @@ -4190,7 +4203,7 @@ fi lcd_orientation="landscape" memory=256 uname=`uname` - androidndkcc 16 armeabi + androidndkcc 16 armeabi "-mcpu=cortex-a9 -mfpu=neon-fp16 -mfloat-abi=softfp" tool="cp " boottool="cp " bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |