Annotation of embedaddon/libiconv/srcm4/lstat.m4, revision 1.1.1.2
1.1.1.2 ! misho 1: # serial 32
1.1 misho 2:
1.1.1.2 ! misho 3: # Copyright (C) 1997-2001, 2003-2019 Free Software Foundation, Inc.
1.1 misho 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: [
1.1.1.2 ! misho 13: AC_REQUIRE([AC_CANONICAL_HOST])
1.1 misho 14: AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
15: dnl If lstat does not exist, the replacement <sys/stat.h> does
16: dnl "#define lstat stat", and lstat.c is a no-op.
17: AC_CHECK_FUNCS_ONCE([lstat])
18: if test $ac_cv_func_lstat = yes; then
19: AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
1.1.1.2 ! misho 20: case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
! 21: solaris* | *no)
! 22: REPLACE_LSTAT=1
! 23: ;;
! 24: esac
1.1 misho 25: else
26: HAVE_LSTAT=0
27: fi
28: ])
29:
30: # Prerequisites of lib/lstat.c.
1.1.1.2 ! misho 31: AC_DEFUN([gl_PREREQ_LSTAT], [:])
1.1 misho 32:
33: AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
34: [
35: dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
36: dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
1.1.1.2 ! misho 37: AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
1.1 misho 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
1.1.1.2 ! misho 42: AC_RUN_IFELSE(
! 43: [AC_LANG_PROGRAM(
! 44: [AC_INCLUDES_DEFAULT],
! 45: [[struct stat sbuf;
! 46: if (symlink ("conftest.file", "conftest.sym") != 0)
! 47: return 1;
! 48: /* Linux will dereference the symlink and fail, as required by
! 49: POSIX. That is better in the sense that it means we will not
! 50: have to compile and use the lstat wrapper. */
! 51: return lstat ("conftest.sym/", &sbuf) == 0;
! 52: ]])],
! 53: [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
! 54: [gl_cv_func_lstat_dereferences_slashed_symlink=no],
! 55: [case "$host_os" in
! 56: linux-* | linux)
! 57: # Guess yes on Linux systems.
! 58: gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
! 59: *-gnu* | gnu*)
! 60: # Guess yes on glibc systems.
! 61: gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
! 62: mingw*)
! 63: # Guess no on native Windows.
! 64: gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
! 65: *)
! 66: # If we don't know, assume the worst.
! 67: gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;;
! 68: esac
! 69: ])
1.1 misho 70: rm -f conftest.sym conftest.file
71: ])
1.1.1.2 ! misho 72: case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
! 73: *yes)
! 74: AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
! 75: [Define to 1 if 'lstat' dereferences a symlink specified
! 76: with a trailing slash.])
! 77: ;;
! 78: esac
1.1 misho 79: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>