configure: arm: Check __ARM_PCS_VFP if the float ABI hasn't been defined
authorMartin Storsjo <martin@martin.st>
Wed, 1 May 2013 20:05:54 +0000 (23:05 +0300)
committerMartin Storsjo <martin@martin.st>
Wed, 1 May 2013 20:10:29 +0000 (23:10 +0300)
The support for detecting hardfp toolchains in af9dd50e is a
step in the right direction, but that particular switch case
isn't executed at all if the toolchain variable is set.

This fixes cross building from x86 ubuntu to armhf ubuntu,
in configurations such as
"CROSS=arm-linux-gnueabihf- ./configure --target=armv7-linux-gcc".

Change-Id: I6f141361e40374fbab564f9196d90e598fe9a0f6

build/make/configure.sh

index 23dc87f..e85a162 100755 (executable)
@@ -793,7 +793,13 @@ process_common_toolchain() {
             check_add_asflags --defsym ARCHITECTURE=${arch_int}
             tune_cflags="-mtune="
             if [ ${tgt_isa} == "armv7" ]; then
-                [ -z "${float_abi}" ] && float_abi=softfp
+                if [ -z "${float_abi}" ]; then
+                    check_cpp <<EOF && float_abi=hard || float_abi=softfp
+#ifndef __ARM_PCS_VFP
+#error "not hardfp"
+#endif
+EOF
+                fi
                 check_add_cflags  -march=armv7-a -mfloat-abi=${float_abi}
                 check_add_asflags -march=armv7-a -mfloat-abi=${float_abi}