From f24c96da1b1923feedf63375e526e9fe2cd250da Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 5 May 2012 12:50:17 +0200 Subject: [PATCH] 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". --- ChangeLog | 7 +++++++ m4/link-follow.m4 | 21 +++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2a39ae426..ec46c1e54 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 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. * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to diff --git a/m4/link-follow.m4 b/m4/link-follow.m4 index 0dc31887e..309e42744 100644 --- 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 link() is sufficient). If it is -1, use a Solaris specific 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 @@ AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK], ]])], [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 -- 2.11.0