summaryrefslogtreecommitdiff
path: root/m4/lstat.m4
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2010-12-07 21:43:04 +0100
committerLudovic Courtès <ludo@gnu.org>2010-12-07 23:13:19 +0100
commit0f00f2c33a85842a9611ed63f07e915ea9fd60de (patch)
treea02ec2b230021798eb854693c6c9270c6a1f87e6 /m4/lstat.m4
parentcb26e97a88e90d04e6d4efe3de0de92dea53d1e5 (diff)
downloadguile-0f00f2c33a85842a9611ed63f07e915ea9fd60de.tar.gz
Use Gnulib's `nproc'.
This updates Gnulib to v0.0-4496-g6491120. * m4/gnulib-cache.m4: Add `nproc'.
Diffstat (limited to 'm4/lstat.m4')
-rw-r--r--m4/lstat.m443
1 files changed, 42 insertions, 1 deletions
diff --git a/m4/lstat.m4 b/m4/lstat.m4
index 5dbd16e28..236af540e 100644
--- a/m4/lstat.m4
+++ b/m4/lstat.m4
@@ -1,4 +1,4 @@
-# serial 20
+# serial 21
# Copyright (C) 1997-2001, 2003-2010 Free Software Foundation, Inc.
#
@@ -26,3 +26,44 @@ AC_DEFUN([gl_FUNC_LSTAT],
HAVE_LSTAT=0
fi
])
+
+# Redefine AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, because it is no longer
+# maintained in Autoconf.
+AC_DEFUN([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+[
+ AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
+ [ac_cv_func_lstat_dereferences_slashed_symlink],
+ [rm -f conftest.sym conftest.file
+ echo >conftest.file
+ if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [AC_INCLUDES_DEFAULT],
+ [[struct stat sbuf;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
+ ]])],
+ [ac_cv_func_lstat_dereferences_slashed_symlink=yes],
+ [ac_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.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ ])
+ else
+ # If the 'ln -s' command failed, then we probably don't even
+ # have an lstat function.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+ rm -f conftest.sym conftest.file
+ ])
+ test $ac_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.])
+ if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then
+ AC_LIBOBJ([lstat])
+ fi
+])