changeset 16820:1c47f777b756

canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require AC_CANONICAL_HOST. When cross-compiling to a glibc system, set gl_cv_func_realpath_works to "guessing yes".
author Bruno Haible <bruno@clisp.org>
date Sat, 05 May 2012 08:47:21 +0200
parents 3038ae4fa72f
children d9b4f726faa7
files ChangeLog m4/canonicalize.m4
diffstat 2 files changed, 26 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-05-05  Bruno Haible  <bruno@clisp.org>
+
+	canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
+	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
+	AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
+	gl_cv_func_realpath_works to "guessing yes".
+
 2012-05-05  Bruno Haible  <bruno@clisp.org>
 
 	gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -1,4 +1,4 @@
-# canonicalize.m4 serial 23
+# canonicalize.m4 serial 24
 
 dnl Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
 
@@ -56,6 +56,7 @@
 AC_DEFUN([gl_FUNC_REALPATH_WORKS],
 [
   AC_CHECK_FUNCS_ONCE([realpath])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CACHE_CHECK([whether realpath works], [gl_cv_func_realpath_works], [
     touch conftest.a
     mkdir conftest.d
@@ -89,13 +90,23 @@
         }
         return result;
       ]])
-    ], [gl_cv_func_realpath_works=yes], [gl_cv_func_realpath_works=no],
-       [gl_cv_func_realpath_works="guessing no"])
+     ],
+     [gl_cv_func_realpath_works=yes],
+     [gl_cv_func_realpath_works=no],
+     [case "$host_os" in
+                # Guess yes on glibc systems.
+        *-gnu*) gl_cv_func_realpath_works="guessing yes" ;;
+                # If we don't know, assume the worst.
+        *)      gl_cv_func_realpath_works="guessing no" ;;
+      esac
+     ])
     rm -rf conftest.a conftest.d
   ])
-  if test "$gl_cv_func_realpath_works" = yes; then
-    AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath()
-      can malloc memory, always gives an absolute path, and handles
-      trailing slash correctly.])
-  fi
+  case "$gl_cv_func_realpath_works" in
+    *yes)
+      AC_DEFINE([FUNC_REALPATH_WORKS], [1], [Define to 1 if realpath()
+        can malloc memory, always gives an absolute path, and handles
+        trailing slash correctly.])
+      ;;
+  esac
 ])