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>