Tweak comment.
[gnulib.git] / m4 / frexp.m4
index 8e93322..ce031e7 100644 (file)
@@ -1,4 +1,4 @@
-# frexp.m4 serial 3
+# frexp.m4 serial 5
 dnl Copyright (C) 2007 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -56,8 +56,39 @@ AC_DEFUN([gl_FUNC_FREXP],
   AC_SUBST([FREXP_LIBM])
 ])
 
+AC_DEFUN([gl_FUNC_FREXP_NO_LIBM],
+[
+  AC_REQUIRE([gl_MATH_H_DEFAULTS])
+  AC_CACHE_CHECK([whether frexp() can be used without linking with libm],
+    [gl_cv_func_frexp_no_libm],
+    [
+      AC_TRY_LINK([#include <math.h>
+                   double x;],
+                  [int e; return frexp (x, &e) > 0;],
+        [gl_cv_func_frexp_no_libm=yes],
+        [gl_cv_func_frexp_no_libm=no])
+    ])
+  if test $gl_cv_func_frexp_no_libm = yes; then
+    gl_FUNC_FREXP_WORKS
+    case "$gl_cv_func_frexp_works" in
+      *yes) gl_func_frexp_no_libm=yes ;;
+      *)    gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;;
+    esac
+  else
+    gl_func_frexp_no_libm=no
+    dnl Set REPLACE_FREXP here because the system may have frexp in libm.
+    REPLACE_FREXP=1
+  fi
+  if test $gl_func_frexp_no_libm = yes; then
+    AC_DEFINE([HAVE_FREXP_IN_LIBC], 1,
+      [Define if the frexp() function is available in libc.])
+  else
+    AC_LIBOBJ([frexp])
+  fi
+])
+
 dnl Test whether frexp() works also on denormalized numbers (this fails e.g. on
-dnl NetBSD 3.0) and on infinite numbers (this fails e.g. on IRIX 6.5).
+dnl NetBSD 3.0) and on infinite numbers (this fails e.g. on IRIX 6.5 and mingw).
 AC_DEFUN([gl_FUNC_FREXP_WORKS],
 [
   AC_REQUIRE([AC_PROG_CC])
@@ -94,8 +125,8 @@ int main()
   return 0;
 }], [gl_cv_func_frexp_works=yes], [gl_cv_func_frexp_works=no],
       [case "$host_os" in
-         netbsd* | irix*) gl_cv_func_frexp_works="guessing no";;
-         *)               gl_cv_func_frexp_works="guessing yes";;
+         netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";;
+         *)                        gl_cv_func_frexp_works="guessing yes";;
        esac
       ])
     ])