--- ./configure
+++ /.configure
@@ -4493,17 +4493,21 @@
 
     enabled thumb && check_cflags -mthumb || check_cflags -marm
 
-    if     check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then
-        enable vfp_args
-    elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__"; then
-        case "${cross_prefix:-$cc}" in
-            *hardfloat*)         enable vfp_args;   fpabi=vfp ;;
-            *) check_ld "cc" <<EOF && enable vfp_args && fpabi=vfp || fpabi=soft ;;
+    if enabled vfp; then
+        if     check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then
+            enable vfp_args
+        elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__"; then
+            case "${cross_prefix:-$cc}" in
+                *hardfloat*)         enable vfp_args;   fpabi=vfp ;;
+                *) check_ld "cc" <<EOF && enable vfp_args && fpabi=vfp || fpabi=soft ;;
 __asm__ (".eabi_attribute 28, 1");
 int main(void) { return 0; }
 EOF
-        esac
-        warn "Compiler does not indicate floating-point ABI, guessing $fpabi."
+            esac
+            warn "Compiler does not indicate floating-point ABI, guessing $fpabi."
+        fi
+    else
+        fpabi=soft
     fi
 
     enabled armv5te && check_insn armv5te 'qadd r0, r0, r0'
