Avoid "guessing no" guesses when cross-compiling to glibc systems.
[gnulib.git] / m4 / modf.m4
index 43a6696..07495f0 100644 (file)
@@ -1,4 +1,4 @@
-# modf.m4 serial 2
+# modf.m4 serial 3
 dnl Copyright (C) 2011-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_MODF],
 
   m4_ifdef([gl_FUNC_MODF_IEEE], [
     if test $gl_modf_required = ieee && test $REPLACE_MODF = 0; then
+      AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
       AC_CACHE_CHECK([whether modf works according to ISO C 99 with IEC 60559],
         [gl_cv_func_modf_ieee],
         [
@@ -59,7 +60,13 @@ int main (int argc, char *argv[])
             ]])],
             [gl_cv_func_modf_ieee=yes],
             [gl_cv_func_modf_ieee=no],
-            [gl_cv_func_modf_ieee="guessing no"])
+            [case "$host_os" in
+                       # Guess yes on glibc systems.
+               *-gnu*) gl_cv_func_modf_ieee="guessing yes" ;;
+                       # If we don't know, assume the worst.
+               *)      gl_cv_func_modf_ieee="guessing no" ;;
+             esac
+            ])
           LIBS="$save_LIBS"
         ])
       case "$gl_cv_func_modf_ieee" in