bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cross-compilation guesses (9)


From: Bruno Haible
Subject: cross-compilation guesses (9)
Date: Wed, 02 May 2012 00:17:03 +0200
User-agent: KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; )

When cross-compiling, I also see:

  checking whether strerror(0) succeeds... guessing no

For glibc platforms, this can be improved. Objections, Eric?


2012-05-01  Bruno Haible  <address@hidden>

        strerror: Avoid "guessing no" when cross-compiling to glibc systems.
        * m4/strerror.m4 (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When
        cross-compiling to a glibc platform, set gl_cv_func_strerror_0_works
        to "guessing yes".

--- m4/strerror.m4.orig Wed May  2 00:14:49 2012
+++ m4/strerror.m4      Wed May  2 00:13:41 2012
@@ -48,6 +48,7 @@
 dnl return a string that matches strerror(-1)).
 AC_DEFUN([gl_FUNC_STRERROR_0],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   REPLACE_STRERROR_0=0
   AC_CACHE_CHECK([whether strerror(0) succeeds],
    [gl_cv_func_strerror_0_works],
@@ -67,12 +68,20 @@
            return result;]])],
       [gl_cv_func_strerror_0_works=yes],
       [gl_cv_func_strerror_0_works=no],
-      [dnl Be pessimistic on cross-compiles for now.
-       gl_cv_func_strerror_0_works="guessing no"])
+      [case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+       esac
+      ])
   ])
-  if test "$gl_cv_func_strerror_0_works" != yes; then
-    REPLACE_STRERROR_0=1
-    AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
-      does not return a message implying success.])
-  fi
+  case "$gl_cv_func_strerror_0_works" in
+    *yes) ;;
+    *)
+      REPLACE_STRERROR_0=1
+      AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
+        does not return a message implying success.])
+      ;;
+  esac
 ])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]