Annotation of embedaddon/libiconv/srcm4/lstat.m4, revision 1.1
1.1 ! misho 1: # serial 23
! 2:
! 3: # Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
! 4: #
! 5: # This file is free software; the Free Software Foundation
! 6: # gives unlimited permission to copy and/or distribute it,
! 7: # with or without modifications, as long as this notice is preserved.
! 8:
! 9: dnl From Jim Meyering.
! 10:
! 11: AC_DEFUN([gl_FUNC_LSTAT],
! 12: [
! 13: AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
! 14: dnl If lstat does not exist, the replacement <sys/stat.h> does
! 15: dnl "#define lstat stat", and lstat.c is a no-op.
! 16: AC_CHECK_FUNCS_ONCE([lstat])
! 17: if test $ac_cv_func_lstat = yes; then
! 18: AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
! 19: if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
! 20: REPLACE_LSTAT=1
! 21: fi
! 22: else
! 23: HAVE_LSTAT=0
! 24: fi
! 25: ])
! 26:
! 27: # Prerequisites of lib/lstat.c.
! 28: AC_DEFUN([gl_PREREQ_LSTAT],
! 29: [
! 30: AC_REQUIRE([AC_C_INLINE])
! 31: :
! 32: ])
! 33:
! 34: AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
! 35: [
! 36: dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
! 37: dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
! 38: AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
! 39: [gl_cv_func_lstat_dereferences_slashed_symlink],
! 40: [rm -f conftest.sym conftest.file
! 41: echo >conftest.file
! 42: if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
! 43: AC_RUN_IFELSE(
! 44: [AC_LANG_PROGRAM(
! 45: [AC_INCLUDES_DEFAULT],
! 46: [[struct stat sbuf;
! 47: /* Linux will dereference the symlink and fail, as required by
! 48: POSIX. That is better in the sense that it means we will not
! 49: have to compile and use the lstat wrapper. */
! 50: return lstat ("conftest.sym/", &sbuf) == 0;
! 51: ]])],
! 52: [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
! 53: [gl_cv_func_lstat_dereferences_slashed_symlink=no],
! 54: [# When cross-compiling, be pessimistic so we will end up using the
! 55: # replacement version of lstat that checks for trailing slashes and
! 56: # calls lstat a second time when necessary.
! 57: gl_cv_func_lstat_dereferences_slashed_symlink=no
! 58: ])
! 59: else
! 60: # If the 'ln -s' command failed, then we probably don't even
! 61: # have an lstat function.
! 62: gl_cv_func_lstat_dereferences_slashed_symlink=no
! 63: fi
! 64: rm -f conftest.sym conftest.file
! 65: ])
! 66: test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
! 67: AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
! 68: [Define to 1 if `lstat' dereferences a symlink specified
! 69: with a trailing slash.])
! 70: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>