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 <br...@clisp.org> 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 ])