[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cross-compilation guesses (14)
From: |
Bruno Haible |
Subject: |
cross-compilation guesses (14) |
Date: |
Sat, 05 May 2012 12:50:10 +0200 |
User-agent: |
KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; ) |
Another suboptimal cross-compilation guess is
checking whether link(2) dereferences a symlink... unknown
The only known platforms which show
checking whether link(2) dereferences a symlink... yes
are MacOS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, HP-UX, OSF/1.
Whereas on Linux and Cygwin systems the result is always "no".
This patch improves the guess in a conservative way.
2012-05-05 Bruno Haible <address@hidden>
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".
--- m4/link-follow.m4.orig Sat May 5 12:48:03 2012
+++ m4/link-follow.m4 Sat May 5 12:47:46 2012
@@ -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
- cross-compilation guesses (9), (continued)
- cross-compilation guesses (9), Bruno Haible, 2012/05/01
- cross-compilation guesses (10), Bruno Haible, 2012/05/01
- cross-compilation guesses (11), Bruno Haible, 2012/05/05
- cross-compilation guesses (12), Bruno Haible, 2012/05/05
- cross-compilation guesses (13), Bruno Haible, 2012/05/05
- cross-compilation guesses (14),
Bruno Haible <=
- cross-compilation guesses (15), Bruno Haible, 2012/05/05