summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2012-07-30 14:00:38 +0300
committerTor Lillqvist <tml@iki.fi>2012-07-30 14:02:00 +0300
commit4af021ae0abd83f30ac2a5ad855a6edc37a12324 (patch)
tree44d4c3464aa868e24ef08eaca9b0755ff679414d
parentc691d9643994956e8f17710625ccb989d428e1bf (diff)
Let's try to use the gold linker when using NDK r8b's GCC 4.6 or newer
Change-Id: Ie122a5f3ef8cda58c4fc29f6366bd1d6f6d86dd2
-rw-r--r--configure.in14
1 files changed, 13 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index a2e1e78568aa..57ebeb52bfcb 100644
--- a/configure.in
+++ b/configure.in
@@ -163,11 +163,23 @@ if test -n "$with_android_ndk"; then
if test $host_cpu = arm; then
ANDROIDCFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-arm -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a"
- ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include"
else # x86
ANDROIDCFLAGS="-march=atom --sysroot $ANDROID_NDK_HOME/platforms/android-9/arch-x86 -L$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/x86"
+ fi
+
+ # When using the 4.6 or newer toolchain, use the gold linker
+ case "$with_android_ndk_toolchain_version" in
+ 4.[[6789]]*|[[56789]].*)
+ ANDROIDCFLAGS="$ANDROIDCFLAGS -fuse-ld=gold"
+ ;;
+ esac
+
+ if test $host_cpu = arm; then
+ ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include"
+ else # x86
ANDROIDCXXFLAGS="$ANDROIDCFLAGS -I $ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/include -I$ANDROID_NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/x86/include"
fi
+
test -z "$CC" && CC="$ANDROID_ABI_PREBUILT_BIN/$android_gcc_prefix-gcc $ANDROIDCFLAGS"
test -z "$CXX" && CXX="$ANDROID_ABI_PREBUILT_BIN/$android_gcc_prefix-g++ $ANDROIDCXXFLAGS"
fi