From dd14c4c5b70b34f8c3aafe14869abc08371193d9 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 18 Dec 1999 22:41:36 +0000 Subject: [PATCH] *** empty log message *** --- m4/lstat-slash.m4 | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 m4/lstat-slash.m4 diff --git a/m4/lstat-slash.m4 b/m4/lstat-slash.m4 new file mode 100644 index 0000000000..8f753dadf9 --- /dev/null +++ b/m4/lstat-slash.m4 @@ -0,0 +1,41 @@ +#serial 1 + +dnl From Jim Meyering. +dnl FIXME + +AC_DEFUN(jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, +[ + AC_CACHE_CHECK( + [whether lstat dereferences a symlink specified with a trailing slash], + jm_cv_func_lstat_dereferences_slashed_symlink, + [ + rm -f conftest.sym conftest.file + : > conftest.file + if ln -s conftest.file conftest.sym; then + AC_TRY_RUN([ +# include +# include + + int + main () + { + struct stat sbuf; + exit (lstat ("conftest.sym/", &sbuf) ? 0 : 1); + } + ], + jm_cv_func_lstat_dereferences_slashed_symlink=yes, + jm_cv_func_lstat_dereferences_slashed_symlink=no, + dnl When crosscompiling, be pessimistic so we'll end up using the + dnl replacement version of lstat that checkes for trailing slashes + dnl and calls lstat a second time when necessary. + jm_cv_func_lstat_dereferences_slashed_symlink=no + ) + ]) + + if test $jm_cv_func_lstat_dereferences_slashed_symlink = yes; then + AC_SUBST(LIBOBJS) + LIBOBJS="$LIBOBJS lstat.$ac_objext" + AC_DEFINE_UNQUOTED(LSTAT_FOLLOWS_SLASHED_SYMLINK, 1, + [Define if lstat dereferences a symlink specified with a trailing slash]) + fi +]) -- 2.30.2