[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cross-compilation guesses (6)
From: |
Bruno Haible |
Subject: |
Re: cross-compilation guesses (6) |
Date: |
Fri, 04 May 2012 04:29:33 +0200 |
User-agent: |
KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; ) |
> 2012-05-01 Bruno Haible <address@hidden>
>
> lstat: Avoid "guessing no" when cross-compiling to glibc systems.
> * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
> compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
> "guessing yes" or "guessing no".
> (gl_FUNC_LSTAT): Update.
> * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
> * m4/openat.m4 (gl_FUNC_OPENAT): Update.
> * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
I've applied this patch. The Autoconf change to
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK is irrelevant for gnulib.
2012-05-03 Bruno Haible <address@hidden>
lstat: Avoid "guessing no" when cross-compiling to glibc systems.
* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
"guessing yes" or "guessing no".
(gl_FUNC_LSTAT): Update.
* m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
* m4/openat.m4 (gl_FUNC_OPENAT): Update.
* m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
--- m4/fstatat.m4.orig Fri May 4 04:25:51 2012
+++ m4/fstatat.m4 Fri May 4 03:33:34 2012
@@ -1,4 +1,4 @@
-# fstatat.m4 serial 2
+# fstatat.m4 serial 3
dnl Copyright (C) 2004-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -45,7 +45,7 @@
])
case
$gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in
- *yes+yes) ;;
+ *yes+*yes) ;;
*) REPLACE_FSTATAT=1
case $gl_cv_func_fstatat_zero_flag in
*yes)
--- m4/lstat.m4.orig Fri May 4 04:25:51 2012
+++ m4/lstat.m4 Fri May 4 03:33:34 2012
@@ -1,4 +1,4 @@
-# serial 24
+# serial 25
# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc.
#
@@ -16,9 +16,11 @@
AC_CHECK_FUNCS_ONCE([lstat])
if test $ac_cv_func_lstat = yes; then
AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
- if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
- REPLACE_LSTAT=1
- fi
+ case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+ *no)
+ REPLACE_LSTAT=1
+ ;;
+ esac
else
HAVE_LSTAT=0
fi
@@ -51,20 +53,25 @@
]])],
[gl_cv_func_lstat_dereferences_slashed_symlink=yes],
[gl_cv_func_lstat_dereferences_slashed_symlink=no],
- [# When cross-compiling, be pessimistic so we will end up using the
- # replacement version of lstat that checks for trailing slashes and
- # calls lstat a second time when necessary.
- gl_cv_func_lstat_dereferences_slashed_symlink=no
+ [case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing
yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing
no" ;;
+ esac
])
else
# If the 'ln -s' command failed, then we probably don't even
# have an lstat function.
- gl_cv_func_lstat_dereferences_slashed_symlink=no
+ gl_cv_func_lstat_dereferences_slashed_symlink="guessing no"
fi
rm -f conftest.sym conftest.file
])
- test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
- AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
- [Define to 1 if 'lstat' dereferences a symlink specified
- with a trailing slash.])
+ case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+ *yes)
+ AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+ [Define to 1 if 'lstat' dereferences a symlink specified
+ with a trailing slash.])
+ ;;
+ esac
])
--- m4/openat.m4.orig Fri May 4 04:25:51 2012
+++ m4/openat.m4 Fri May 4 03:33:34 2012
@@ -1,4 +1,4 @@
-# serial 43
+# serial 44
# See if we need to use our replacement for Solaris' openat et al functions.
dnl Copyright (C) 2004-2012 Free Software Foundation, Inc.
@@ -15,7 +15,7 @@
AC_CHECK_FUNCS_ONCE([openat])
AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
case $ac_cv_func_openat+$gl_cv_func_lstat_dereferences_slashed_symlink in
- yes+yes)
+ yes+*yes)
;;
yes+*)
# Solaris 9 has *at functions, but uniformly mishandles trailing
--- m4/unlinkat.m4.orig Fri May 4 04:25:51 2012
+++ m4/unlinkat.m4 Fri May 4 03:33:34 2012
@@ -1,4 +1,4 @@
-# unlinkat.m4 serial 1
+# unlinkat.m4 serial 2
dnl Copyright (C) 2004-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -16,15 +16,18 @@
if test $ac_cv_func_unlinkat = no; then
HAVE_UNLINKAT=0
else
- if test $gl_cv_func_lstat_dereferences_slashed_symlink != yes; then
- # Solaris 9 has *at functions, but uniformly mishandles trailing
- # slash in all of them.
- REPLACE_UNLINKAT=1
- else
- # GNU/Hurd has unlinkat, but it has the same bug as unlink.
- if test $REPLACE_UNLINK = 1; then
+ case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
+ *no)
+ # Solaris 9 has *at functions, but uniformly mishandles trailing
+ # slash in all of them.
REPLACE_UNLINKAT=1
- fi
- fi
+ ;;
+ *)
+ # GNU/Hurd has unlinkat, but it has the same bug as unlink.
+ if test $REPLACE_UNLINK = 1; then
+ REPLACE_UNLINKAT=1
+ fi
+ ;;
+ esac
fi
])
- Re: cross-compilation guesses (4), (continued)
- cross-compilation guesses (6), Bruno Haible, 2012/05/01
- cross-compilation guesses (7), Bruno Haible, 2012/05/01
- cross-compilation guesses (8), Bruno Haible, 2012/05/01
- cross-compilation guesses (9), Bruno Haible, 2012/05/01
- cross-compilation guesses (10), Bruno Haible, 2012/05/01