pipe: Set errno upon failure.
[gnulib.git] / m4 / roundf.m4
index 02c80d7..b246d04 100644 (file)
@@ -1,5 +1,5 @@
-# roundf.m4 serial 5
-dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
+# roundf.m4 serial 8
+dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -22,7 +22,7 @@ AC_DEFUN([gl_FUNC_ROUNDF],
       [
         save_LIBS="$LIBS"
         LIBS="$LIBS $ROUNDF_LIBM"
-        AC_TRY_RUN([
+        AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <float.h>
 #include <math.h>
 int main()
@@ -36,7 +36,7 @@ int main()
     * (float) (1U << ((FLT_MANT_DIG + 2) / 3));
   volatile float x = 0.5f - 0.5f / TWO_MANT_DIG;
   exit (x < 0.5f && roundf (x) != 0.0f);
-}], [gl_cv_func_roundf_works=yes], [gl_cv_func_roundf_works=no],
+}]])], [gl_cv_func_roundf_works=yes], [gl_cv_func_roundf_works=no],
         [case "$host_os" in
            mingw*) gl_cv_func_roundf_works="guessing no";;
            *)      gl_cv_func_roundf_works="guessing yes";;
@@ -57,9 +57,19 @@ int main()
       gl_FUNC_FLOORF_LIBS
       gl_FUNC_CEILF_LIBS
       if test "$FLOORF_LIBM" != '?' && test "$CEILF_LIBM" != '?'; then
-        AC_DEFINE([HAVE_FLOORF_AND_CEILF], 1,
+        AC_DEFINE([HAVE_FLOORF_AND_CEILF], [1],
           [Define if the both the floorf() and ceilf() functions exist.])
-        ROUNDF_LIBM="$FLOORF_LIBM $CEILF_LIBM"
+        ROUNDF_LIBM=
+        dnl Append $FLOORF_LIBM to ROUNDF_LIBM, avoiding gratuitous duplicates.
+        case " $ROUNDF_LIBM " in
+          *" $FLOORF_LIBM "*) ;;
+          *) ROUNDF_LIBM="$ROUNDF_LIBM $FLOORF_LIBM" ;;
+        esac
+        dnl Append $CEILF_LIBM to ROUNDF_LIBM, avoiding gratuitous duplicates.
+        case " $ROUNDF_LIBM " in
+          *" $CEILF_LIBM "*) ;;
+          *) ROUNDF_LIBM="$ROUNDF_LIBM $CEILF_LIBM" ;;
+        esac
       else
         ROUNDF_LIBM=
       fi