summary refs log tree commit diff
path: root/pkgs/development/libraries/gsl/disable-fma.patch
blob: bb1eda9ccccd2085259d2a07e0ff4b72b3e988ca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- a/configure.ac        2011-09-22 16:13:22 +0000
+++ b/configure.ac        2011-11-26 23:55:24 +0000
@@ -381,6 +381,28 @@
 AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
 AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
 
+dnl check for compiler flags to disable use of FMA
+save_cflags="$CFLAGS"
+AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags,
+[
+if test X"$GCC" = Xyes; then
+    fma_flags='-ffp-contract=off'
+else
+    fma_flags=
+fi
+if test X"$fma_flags" != X; then
+  CFLAGS="$fma_flags $CFLAGS"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"])
+else
+  ac_cv_c_fma_flags="none"
+fi])
+
+if test "$ac_cv_c_fma_flags" != "none" ; then
+   CFLAGS="$ac_cv_c_fma_flags $save_cflags"
+else
+   CFLAGS="$save_cflags"
+fi
+
 dnl Check for IEEE control flags
 
 save_cflags="$CFLAGS"