summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure10
1 files changed, 10 insertions, 0 deletions
diff --git a/configure b/configure
index 248c4500..779a3ef0 100755
--- a/configure
+++ b/configure
@@ -655,6 +655,16 @@ printf "no\n"
fail "$0: error: unsupported long double type"
fi
+#
+# Some build systems globally pass in broken CFLAGS like -ffast-math
+# for all packages. On recent GCC we can detect this and error out
+# early rather than producing a seriously-broken math library.
+#
+if trycppif "__FAST_MATH__ || (defined(__GCC_IEC_559) && __GCC_IEC_559==0)" \
+ "$CFLAGS_C99FSE $CPPFLAGS $CFLAGS" ; then
+fail "$0: error: compiler has broken floating point; check CFLAGS"
+fi
+
printf "creating config.mak... "
cmdline=$(quote "$0")