test-rename.h: fix compilation failure
[pspp] / m4 / floor.m4
index dd1e6f6e251c093af31914c81796a653c5db7160..754133582cdcac50a75519ecc7ca126cc079fde0 100644 (file)
@@ -1,5 +1,5 @@
-# floor.m4 serial 1
-dnl Copyright (C) 2007 Free Software Foundation, Inc.
+# floor.m4 serial 4
+dnl Copyright (C) 2007, 2009, 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.
@@ -7,30 +7,42 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_FLOOR],
 [
   dnl Test whether floor() can be used without libm.
-  FLOOR_LIBM=?
-  AC_TRY_LINK([
-     #ifndef __NO_MATH_INLINES
-     # define __NO_MATH_INLINES 1 /* for glibc */
-     #endif
-     #include <math.h>
-     double x;],
-    [x = floor(x);],
-    [FLOOR_LIBM=])
-  if test "$FLOOR_LIBM" = "?"; then
-    save_LIBS="$LIBS"
-    LIBS="$LIBS -lm"
-    AC_TRY_LINK([
-       #ifndef __NO_MATH_INLINES
-       # define __NO_MATH_INLINES 1 /* for glibc */
-       #endif
-       #include <math.h>
-       double x;],
-      [x = floor(x);],
-      [FLOOR_LIBM="-lm"])
-    LIBS="$save_LIBS"
-  fi
+  gl_FUNC_FLOOR_LIBS
   if test "$FLOOR_LIBM" = "?"; then
     FLOOR_LIBM=
   fi
   AC_SUBST([FLOOR_LIBM])
 ])
+
+# Determines the libraries needed to get the floor() function.
+# Sets FLOOR_LIBM.
+AC_DEFUN([gl_FUNC_FLOOR_LIBS],
+[
+  gl_CACHE_VAL_SILENT([gl_cv_func_floor_libm], [
+    gl_cv_func_floor_libm=?
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[#ifndef __NO_MATH_INLINES
+           # define __NO_MATH_INLINES 1 /* for glibc */
+           #endif
+           #include <math.h>
+           double x;]],
+         [[x = floor(x);]])],
+      [gl_cv_func_floor_libm=])
+    if test "$gl_cv_func_floor_libm" = "?"; then
+      save_LIBS="$LIBS"
+      LIBS="$LIBS -lm"
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[#ifndef __NO_MATH_INLINES
+             # define __NO_MATH_INLINES 1 /* for glibc */
+             #endif
+             #include <math.h>
+             double x;]],
+           [[x = floor(x);]])],
+        [gl_cv_func_floor_libm="-lm"])
+      LIBS="$save_LIBS"
+    fi
+  ])
+  FLOOR_LIBM="$gl_cv_func_floor_libm"
+])