# HG changeset patch # User Bruno Haible # Date 1336215017 -7200 # Node ID 31a7d8d65261e429ece5428c617830c810e929ee # Parent 577fb1a57190295a2ff74ffe4b7e3e148b69bb73 link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux. * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, set gl_cv_func_link_follows_symlink to "guessing no". diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-05-05 Bruno Haible + + link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, + set gl_cv_func_link_follows_symlink to "guessing no". + 2012-05-05 Bruno Haible tzset: Avoid guessing wrong when cross-compiling to glibc systems. diff --git a/m4/link-follow.m4 b/m4/link-follow.m4 --- a/m4/link-follow.m4 +++ b/m4/link-follow.m4 @@ -1,4 +1,4 @@ -# serial 17 +# serial 18 dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. @@ -16,6 +16,7 @@ dnl runtime test. If it is -2, use a generic runtime test. AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK], [dnl + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_FUNCS_ONCE([readlink]) dnl Mingw lacks link, although gnulib provides a good replacement. dnl However, it also lacks symlink, so there's nothing to test in @@ -81,13 +82,21 @@ ]])], [gl_cv_func_link_follows_symlink=no], dnl GNU behavior [gl_cv_func_link_follows_symlink=yes], dnl Followed link/compile failed - [gl_cv_func_link_follows_symlink=unknown] dnl We're cross compiling. - ) + [dnl We're cross compiling. + dnl The past results are "yes" on MacOS X, FreeBSD, NetBSD, + dnl OpenBSD, Minix, AIX, HP-UX, OSF/1, and "no" on Linux, Cygwin. + case "$host_os" in + # On glibc/Linux we know the result. + linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;; + # Otherwise, we don't know. + *) gl_cv_func_link_follows_symlink=unknown ;; + esac + ]) rm -f conftest.file conftest.sym conftest.hard ]) - case $gl_cv_func_link_follows_symlink in - yes) gl_link_follows_symlinks=1 ;; - no) ;; # already defaulted to 0 + case "$gl_cv_func_link_follows_symlink" in + *yes) gl_link_follows_symlinks=1 ;; + *no) ;; # already defaulted to 0 *) gl_link_follows_symlinks=-2 ;; esac fi