Mercurial > hg > octave-kai > gnulib-hg
changeset 2036:796842886361
*** empty log message ***
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sat, 18 Dec 1999 22:41:36 +0000 |
parents | 6bd4ce3c1fa4 |
children | e1ba2644ae03 |
files | m4/lstat-slash.m4 |
diffstat | 1 files changed, 41 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /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 <sys/types.h> +# include <sys/stat.h> + + 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 +])