diff options
author | Elliott Hughes <enh@google.com> | 2015-07-10 13:40:42 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2015-07-10 13:43:13 -0700 |
commit | 45df23d6dc8b51ea5cd903d023c10fd7d72415b9 (patch) | |
tree | e519be160770e6b20bfe88eb923ea6aa8edb3e58 /m4/lstat.m4 | |
parent | 06d7c2456b4b968f2282fd916456d036ddab4f15 (diff) | |
download | sed-45df23d6dc8b51ea5cd903d023c10fd7d72415b9.tar.gz |
Commit sed-4.2.2.HEADndk-r21endk-r21dndk-r21cndk-r21bndk-r21-rc1ndk-r21-beta2ndk-r21-beta1ndk-r21ndk-r20bndk-r20-beta3ndk-r20-beta2ndk-r20-beta1ndk-r20ndk-r19cndk-r19bndk-r19-beta2ndk-r19-beta1ndk-r19ndk-r18bndk-r18-beta2ndk-r18-beta1ndk-r17bndk-r17-beta2ndk-r17-beta1ndk-r17ndk-r16-beta2ndk-r16-beta1ndk-r16ndk-r15-beta2ndk-r15-beta1ndk-r14-beta2ndk-r14-beta1ndk-r14ndk-r13-beta2ndk-r13-beta1ndk-r13ndk-r12bndk-r12-beta2ndk-r12-beta1ndk-r11cndk-r11bndk-r11ndk-release-r21ndk-release-r20ndk-release-r19ndk-release-r18ndk-release-r17ndk-release-r16ndk-r16-releasendk-r15-releasendk-r14-releasendk-r13-releasendk-r12-releasendk-r11-releasemastermainbusytown-mac1008-release
Downloaded from http://ftp.gnu.org/gnu/sed/ and extracted verbatim.
Needed to build Mac GCCs for mips/mips64 --- the BSD sed doesn't
supported extended regex alternate syntax \(a\|b\). It will understand
sed -E "(a|b)" with the escapes removed, but that's not what's in the
configure file.
Bug: http://b/22099482
Change-Id: Iec036ab35497a957fe462de1d4fdc326e7df5844
Diffstat (limited to 'm4/lstat.m4')
-rw-r--r-- | m4/lstat.m4 | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/m4/lstat.m4 b/m4/lstat.m4 new file mode 100644 index 0000000..01b4eb9 --- /dev/null +++ b/m4/lstat.m4 @@ -0,0 +1,73 @@ +# serial 26 + +# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +dnl From Jim Meyering. + +AC_DEFUN([gl_FUNC_LSTAT], +[ + AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + dnl If lstat does not exist, the replacement <sys/stat.h> does + dnl "#define lstat stat", and lstat.c is a no-op. + AC_CHECK_FUNCS_ONCE([lstat]) + if test $ac_cv_func_lstat = yes; then + AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + REPLACE_LSTAT=1 + ;; + esac + else + HAVE_LSTAT=0 + fi +]) + +# Prerequisites of lib/lstat.c. +AC_DEFUN([gl_PREREQ_LSTAT], [:]) + +AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK], +[ + dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it + dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ. + AC_CACHE_CHECK([whether lstat correctly handles trailing slash], + [gl_cv_func_lstat_dereferences_slashed_symlink], + [rm -f conftest.sym conftest.file + echo >conftest.file + if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [AC_INCLUDES_DEFAULT], + [[struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ]])], + [gl_cv_func_lstat_dereferences_slashed_symlink=yes], + [gl_cv_func_lstat_dereferences_slashed_symlink=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac + ]) + else + # If the 'ln -s' command failed, then we probably don't even + # have an lstat function. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" + fi + rm -f conftest.sym conftest.file + ]) + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) + AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1], + [Define to 1 if 'lstat' dereferences a symlink specified + with a trailing slash.]) + ;; + esac +]) |