summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in2
-rw-r--r--aclocal.m481
-rw-r--r--config.hin3
-rw-r--r--lib/Makefile.in97
-rw-r--r--man/Makefile.in5
-rw-r--r--src/Makefile.in80
-rw-r--r--tests/du/Makefile.in2
-rw-r--r--tests/ls/Makefile.in2
-rw-r--r--tests/rm/Makefile.in2
-rw-r--r--tests/touch/Makefile.in1
10 files changed, 189 insertions, 86 deletions
diff --git a/Makefile.in b/Makefile.in
index 05eb26bfb..aee2b2a2d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -211,7 +211,7 @@ $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): configure.ac m4/acl.m4 m4/afs.m4 m4/assert.m4 m4/bison.m4 m4/boottime.m4 m4/c-stack.m4 m4/check-decl.m4 m4/chown.m4 m4/codeset.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dos.m4 m4/error.m4 m4/fpending.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftruncate.m4 m4/getcwd.m4 m4/getgroups.m4 m4/getline.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc.m4 m4/glibc21.m4 m4/group-member.m4 m4/host-os.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/isc-posix.m4 m4/jm-glibc-io.m4 m4/jm-macros.m4 m4/jm-mktime.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-check.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lstat.m4 m4/mbrtowc.m4 m4/mbswidth.m4 m4/memcmp.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/nanosleep.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/regex.m4 m4/rename.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/strftime.m4 m4/timespec.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
+$(ACLOCAL_M4): configure.ac m4/acl.m4 m4/afs.m4 m4/assert.m4 m4/bison.m4 m4/boottime.m4 m4/c-stack.m4 m4/canonicalize.m4 m4/check-decl.m4 m4/chown.m4 m4/codeset.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dos.m4 m4/error.m4 m4/fpending.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftruncate.m4 m4/ftw.m4 m4/getcwd.m4 m4/getgroups.m4 m4/getline.m4 m4/gettext.m4 m4/gettimeofday.m4 m4/glibc.m4 m4/glibc21.m4 m4/group-member.m4 m4/host-os.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/isc-posix.m4 m4/jm-glibc-io.m4 m4/jm-macros.m4 m4/jm-mktime.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchown.m4 m4/lcmessage.m4 m4/lib-check.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lstat.m4 m4/mbrtowc.m4 m4/mbswidth.m4 m4/memcmp.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/nanosleep.m4 m4/perl.m4 m4/prereq.m4 m4/progtest.m4 m4/putenv.m4 m4/regex.m4 m4/rename.m4 m4/rmdir-errno.m4 m4/search-libs.m4 m4/st_dm_mode.m4 m4/st_mtim.m4 m4/stat.m4 m4/stdbool.m4 m4/strftime.m4 m4/timespec.m4 m4/unlink-busy.m4 m4/uptime.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimes.m4 m4/xstrtoimax.m4 m4/xstrtoumax.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
diff --git a/aclocal.m4 b/aclocal.m4
index 2f6c316e8..5028fb439 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -825,7 +825,7 @@ WARNING: You don't seem to have perl5.003 or newer installed, or you lack
] )
])
-#serial 55 -*- autoconf -*-
+#serial 57 -*- autoconf -*-
dnl Misc type-related macros for fileutils, sh-utils, textutils.
@@ -863,6 +863,7 @@ AC_DEFUN([jm_MACROS],
AC_REQUIRE([UTILS_FUNC_DIRFD])
AC_REQUIRE([AC_FUNC_ACL])
+ AC_REQUIRE([AC_FUNC_FTW])
AC_REQUIRE([jm_FUNC_LCHOWN])
AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY])
AC_REQUIRE([jm_FUNC_CHOWN])
@@ -958,7 +959,6 @@ AC_DEFUN([jm_MACROS],
AC_CHECK_FUNCS( \
bcopy \
- canonicalize_file_name \
endgrent \
endpwent \
fchdir \
@@ -978,7 +978,6 @@ AC_DEFUN([jm_MACROS],
mempcpy \
mkfifo \
realpath \
- resolvepath \
sethostname \
strchr \
strerror \
@@ -1030,6 +1029,7 @@ AC_DEFUN([jm_MACROS],
AC_LIBOBJ(mountlist)
fi
AC_REQUIRE([jm_AC_DOS])
+ AC_REQUIRE([AC_FUNC_CANONICALIZE_FILE_NAME])
])
@@ -1167,7 +1167,7 @@ AC_DEFUN([AC_ISC_POSIX],
]
)
-#serial 12
+#serial 13
dnl Initially derived from code in GNU grep.
dnl Mostly written by Jim Meyering.
@@ -1191,6 +1191,7 @@ AC_DEFUN([jm_INCLUDED_REGEX],
jm_cv_func_working_re_compile_pattern,
AC_TRY_RUN(
[#include <stdio.h>
+#include <string.h>
#include <regex.h>
int
main ()
@@ -1199,12 +1200,14 @@ AC_DEFUN([jm_INCLUDED_REGEX],
const char *s;
struct re_registers regs;
re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+ memset (&regex, 0, sizeof (regex));
[s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, &regex);]
/* This should fail with _Invalid character class name_ error. */
if (!s)
exit (1);
/* This should succeed, but doesn't for e.g. glibc-2.1.3. */
+ memset (&regex, 0, sizeof (regex));
s = re_compile_pattern ("{1", 2, &regex);
if (s)
@@ -1212,6 +1215,7 @@ AC_DEFUN([jm_INCLUDED_REGEX],
/* The following example is derived from a problem report
against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
+ memset (&regex, 0, sizeof (regex));
s = re_compile_pattern ("[[anù]]*n", 7, &regex);
if (s)
exit (1);
@@ -2552,6 +2556,61 @@ AC_DEFUN([AC_FUNC_ACL],
[AC_CHECK_HEADERS(sys/acl.h)
AC_CHECK_FUNCS(acl)])
+#serial 1
+# Use replacement ftw.c if the one in the C library is inadequate or buggy.
+# From Jim Meyering
+
+AC_DEFUN([AC_FUNC_FTW],
+[
+ # prerequisites
+ AC_REQUIRE([AC_HEADER_DIRENT])
+ AC_CHECK_HEADERS(sys/param.h)
+ AC_CHECK_DECLS([stpcpy])
+ AC_CHECK_FUNC([tdestroy], , [need_tdestroy=1])
+ AC_CACHE_CHECK([for working GNU ftw], ac_cv_func_ftw_working,
+ [
+
+ # The following test would fail prior to glibc-2.3.2, because `depth'
+ # would be 2 rather than 4.
+ mkdir -p conftest.dir/a/b/c
+ AC_RUN_IFELSE([AC_LANG_SOURCE([], [[
+#include <string.h>
+#include <stdlib.h>
+#include <ftw.h>
+
+static char *_f[] = { "conftest.dir", "conftest.dir/a",
+ "conftest.dir/a/b", "conftest.dir/a/b/c" };
+static char **p = _f;
+static int depth;
+
+static int
+cb (const char *file, const struct stat *sb, int file_type, struct FTW *info)
+{
+ if (strcmp (file, *p++) != 0)
+ exit (1);
+ ++depth;
+ return 0;
+}
+
+int
+main ()
+{
+ int err = nftw ("conftest.dir", cb, 30, FTW_PHYS | FTW_MOUNT | FTW_CHDIR);
+ exit ((err == 0 && depth == 4) ? 0 : 1);
+}
+]])],
+ [ac_cv_func_ftw_working=yes],
+ [ac_cv_func_ftw_working=no],
+ [ac_cv_func_ftw_working=no])])
+ if test $ac_cv_func_ftw_working = no; then
+ AC_LIBOBJ([ftw])
+ # Add tsearch.o IFF we have to use the replacement ftw.c.
+ if test -n "$need_tdestroy"; then
+ AC_LIBOBJ([tsearch])
+ fi
+ fi
+])# AC_FUNC_FTW
+
#serial 2
dnl From Jim Meyering.
@@ -5047,6 +5106,20 @@ neither MSDOS nor Windows
component separator.])
])
+#serial 1
+AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME],
+ [
+ AC_REQUIRE([AC_HEADER_STDC])
+ AC_CHECK_HEADERS(string.h sys/param.h stddef.h)
+ AC_CHECK_FUNCS(resolvepath)
+ AC_REQUIRE([AC_HEADER_STAT])
+
+ # This would simply be AC_REPLACE_FUNC([canonicalize_file_name])
+ # if the function name weren't so long. Besides, I would rather
+ # not have underscores in file names.
+ AC_CHECK_FUNC([canonicalize_file_name], , [AC_LIBOBJ(canonicalize)])
+ ])
+
#serial 5
dnl From Paul Eggert.
diff --git a/config.hin b/config.hin
index c516e49ed..869280d6c 100644
--- a/config.hin
+++ b/config.hin
@@ -111,9 +111,6 @@
/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
-/* Define to 1 if you have the `canonicalize_file_name' function. */
-#undef HAVE_CANONICALIZE_FILE_NAME
-
/* Define to 1 if you have the `chroot' function. */
#undef HAVE_CHROOT
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 88ad009a7..bc4b27361 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -173,6 +173,7 @@ libfetish_a_SOURCES = \
bumpalloc.h \
canon-host.c \
c-stack.c c-stack.h \
+ canonicalize.h \
closeout.c closeout.h \
cycle-check.c cycle-check.h \
dev-ino.h \
@@ -187,6 +188,7 @@ libfetish_a_SOURCES = \
fnmatch_.h \
fopen-safer.c \
fsusage.h \
+ ftw.h \
full-read.c full-read.h \
full-write.c full-write.h \
getline.h \
@@ -226,6 +228,7 @@ libfetish_a_SOURCES = \
same.c same.h \
save-cwd.c save-cwd.h \
savedir.c savedir.h \
+ search.h \
settime.c \
sha.c sha.h \
sig2str.h \
@@ -240,7 +243,7 @@ libfetish_a_SOURCES = \
userspec.c \
version-etc.c version-etc.h \
xalloc.h \
- xgetcwd.c \
+ xgetcwd.c xgetcwd.h \
xgethostname.c \
xmalloc.c \
xmemcoll.c xmemcoll.h \
@@ -314,11 +317,12 @@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/__fpending.Po $(DEPDIR)/alloca.Po \
-@AMDEP_TRUE@ $(DEPDIR)/atexit.Po $(DEPDIR)/chown.Po \
-@AMDEP_TRUE@ $(DEPDIR)/dirfd.Po $(DEPDIR)/dup2.Po \
-@AMDEP_TRUE@ $(DEPDIR)/error.Po $(DEPDIR)/euidaccess.Po \
-@AMDEP_TRUE@ $(DEPDIR)/fileblocks.Po $(DEPDIR)/fnmatch.Po \
-@AMDEP_TRUE@ $(DEPDIR)/fsusage.Po $(DEPDIR)/ftruncate.Po \
+@AMDEP_TRUE@ $(DEPDIR)/atexit.Po $(DEPDIR)/canonicalize.Po \
+@AMDEP_TRUE@ $(DEPDIR)/chown.Po $(DEPDIR)/dirfd.Po \
+@AMDEP_TRUE@ $(DEPDIR)/dup2.Po $(DEPDIR)/error.Po \
+@AMDEP_TRUE@ $(DEPDIR)/euidaccess.Po $(DEPDIR)/fileblocks.Po \
+@AMDEP_TRUE@ $(DEPDIR)/fnmatch.Po $(DEPDIR)/fsusage.Po \
+@AMDEP_TRUE@ $(DEPDIR)/ftruncate.Po $(DEPDIR)/ftw.Po \
@AMDEP_TRUE@ $(DEPDIR)/getgroups.Po $(DEPDIR)/gethostname.Po \
@AMDEP_TRUE@ $(DEPDIR)/getline.Po $(DEPDIR)/getloadavg.Po \
@AMDEP_TRUE@ $(DEPDIR)/getpass.Po $(DEPDIR)/gettimeofday.Po \
@@ -344,9 +348,9 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ $(DEPDIR)/strtol.Po $(DEPDIR)/strtoll.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoul.Po $(DEPDIR)/strtoull.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoumax.Po $(DEPDIR)/strverscmp.Po \
-@AMDEP_TRUE@ $(DEPDIR)/tempname.Po $(DEPDIR)/utime.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/acl$U.Po ./$(DEPDIR)/addext$U.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/argmatch$U.Po \
+@AMDEP_TRUE@ $(DEPDIR)/tempname.Po $(DEPDIR)/tsearch.Po \
+@AMDEP_TRUE@ $(DEPDIR)/utime.Po ./$(DEPDIR)/acl$U.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/addext$U.Po ./$(DEPDIR)/argmatch$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/backupfile$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/basename$U.Po ./$(DEPDIR)/c-stack$U.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/canon-host$U.Po \
@@ -406,10 +410,10 @@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(libfetish_a_SOURCES)
DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
- __fpending.c alloca.c atexit.c chown.c dirfd.c dup2.c error.c \
- error.h euidaccess.c fileblocks.c fnmatch.c fsusage.c \
- ftruncate.c getdate.c getgroups.c gethostname.c getline.c \
- getloadavg.c getpass.c gettimeofday.c getusershell.c \
+ __fpending.c alloca.c atexit.c canonicalize.c chown.c dirfd.c \
+ dup2.c error.c error.h euidaccess.c fileblocks.c fnmatch.c \
+ fsusage.c ftruncate.c ftw.c getdate.c getgroups.c gethostname.c \
+ getline.c getloadavg.c getpass.c gettimeofday.c getusershell.c \
group-member.c lchown.c lstat.c malloc.c memchr.c memcmp.c \
memcpy.c memmove.c memrchr.c memset.c mkdir.c mkstemp.c \
mktime.c mountlist.c nanosleep.c obstack.c obstack.h putenv.c \
@@ -417,7 +421,7 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO \
sig2str.c stat.c stpcpy.c strcasecmp.c strcspn.c strdup.c \
strncasecmp.c strndup.c strnlen.c strpbrk.c strstr.c strtod.c \
strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c strtoumax.c \
- strverscmp.c tempname.c utime.c
+ strverscmp.c tempname.c tsearch.c utime.c
SOURCES = $(libfetish_a_SOURCES)
all: $(BUILT_SOURCES)
@@ -456,6 +460,7 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/__fpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/atexit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/canonicalize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/chown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dirfd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dup2.Po@am__quote@
@@ -465,6 +470,7 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fsusage.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getgroups.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gethostname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getline.Po@am__quote@
@@ -516,6 +522,7 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoumax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strverscmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tempname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tsearch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/utime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addext$U.Po@am__quote@
@@ -637,6 +644,8 @@ c-stack_.c: c-stack.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/c-stack.c; then echo $(srcdir)/c-stack.c; else echo c-stack.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
canon-host_.c: canon-host.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/canon-host.c; then echo $(srcdir)/canon-host.c; else echo canon-host.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
+canonicalize_.c: canonicalize.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/canonicalize.c; then echo $(srcdir)/canonicalize.c; else echo canonicalize.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
chown_.c: chown.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/chown.c; then echo $(srcdir)/chown.c; else echo chown.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
closeout_.c: closeout.c $(ANSI2KNR)
@@ -675,6 +684,8 @@ fsusage_.c: fsusage.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/fsusage.c; then echo $(srcdir)/fsusage.c; else echo fsusage.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
ftruncate_.c: ftruncate.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ftruncate.c; then echo $(srcdir)/ftruncate.c; else echo ftruncate.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
+ftw_.c: ftw.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/ftw.c; then echo $(srcdir)/ftw.c; else echo ftw.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
full-read_.c: full-read.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/full-read.c; then echo $(srcdir)/full-read.c; else echo full-read.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
full-write_.c: full-write.c $(ANSI2KNR)
@@ -859,6 +870,8 @@ strverscmp_.c: strverscmp.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strverscmp.c; then echo $(srcdir)/strverscmp.c; else echo strverscmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
tempname_.c: tempname.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tempname.c; then echo $(srcdir)/tempname.c; else echo tempname.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
+tsearch_.c: tsearch.c $(ANSI2KNR)
+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/tsearch.c; then echo $(srcdir)/tsearch.c; else echo tsearch.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
umaxtostr_.c: umaxtostr.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/umaxtostr.c; then echo $(srcdir)/umaxtostr.c; else echo umaxtostr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
unicodeio_.c: unicodeio.c $(ANSI2KNR)
@@ -898,27 +911,27 @@ yesno_.c: yesno.c $(ANSI2KNR)
__fpending_.$(OBJEXT) acl_.$(OBJEXT) addext_.$(OBJEXT) \
alloca_.$(OBJEXT) argmatch_.$(OBJEXT) atexit_.$(OBJEXT) \
backupfile_.$(OBJEXT) basename_.$(OBJEXT) c-stack_.$(OBJEXT) \
-canon-host_.$(OBJEXT) chown_.$(OBJEXT) closeout_.$(OBJEXT) \
-cycle-check_.$(OBJEXT) diacrit_.$(OBJEXT) dirfd_.$(OBJEXT) \
-dirname_.$(OBJEXT) dup-safer_.$(OBJEXT) dup2_.$(OBJEXT) \
-error_.$(OBJEXT) euidaccess_.$(OBJEXT) exclude_.$(OBJEXT) \
-exitfail_.$(OBJEXT) file-type_.$(OBJEXT) fileblocks_.$(OBJEXT) \
-filemode_.$(OBJEXT) fnmatch_.$(OBJEXT) fopen-safer_.$(OBJEXT) \
-fsusage_.$(OBJEXT) ftruncate_.$(OBJEXT) full-read_.$(OBJEXT) \
-full-write_.$(OBJEXT) getdate_.$(OBJEXT) getgroups_.$(OBJEXT) \
-gethostname_.$(OBJEXT) getline_.$(OBJEXT) getloadavg_.$(OBJEXT) \
-getopt_.$(OBJEXT) getopt1_.$(OBJEXT) getpass_.$(OBJEXT) \
-getstr_.$(OBJEXT) gettime_.$(OBJEXT) gettimeofday_.$(OBJEXT) \
-getugroups_.$(OBJEXT) getusershell_.$(OBJEXT) group-member_.$(OBJEXT) \
-hard-locale_.$(OBJEXT) hash_.$(OBJEXT) hash-pjw_.$(OBJEXT) \
-human_.$(OBJEXT) idcache_.$(OBJEXT) imaxtostr_.$(OBJEXT) \
-isdir_.$(OBJEXT) lchown_.$(OBJEXT) linebuffer_.$(OBJEXT) \
-localcharset_.$(OBJEXT) long-options_.$(OBJEXT) lstat_.$(OBJEXT) \
-makepath_.$(OBJEXT) malloc_.$(OBJEXT) mbswidth_.$(OBJEXT) \
-md5_.$(OBJEXT) memcasecmp_.$(OBJEXT) memchr_.$(OBJEXT) \
-memcmp_.$(OBJEXT) memcoll_.$(OBJEXT) memcpy_.$(OBJEXT) \
-memmove_.$(OBJEXT) memrchr_.$(OBJEXT) memset_.$(OBJEXT) \
-mkdir_.$(OBJEXT) mkstemp_.$(OBJEXT) mktime_.$(OBJEXT) \
+canon-host_.$(OBJEXT) canonicalize_.$(OBJEXT) chown_.$(OBJEXT) \
+closeout_.$(OBJEXT) cycle-check_.$(OBJEXT) diacrit_.$(OBJEXT) \
+dirfd_.$(OBJEXT) dirname_.$(OBJEXT) dup-safer_.$(OBJEXT) \
+dup2_.$(OBJEXT) error_.$(OBJEXT) euidaccess_.$(OBJEXT) \
+exclude_.$(OBJEXT) exitfail_.$(OBJEXT) file-type_.$(OBJEXT) \
+fileblocks_.$(OBJEXT) filemode_.$(OBJEXT) fnmatch_.$(OBJEXT) \
+fopen-safer_.$(OBJEXT) fsusage_.$(OBJEXT) ftruncate_.$(OBJEXT) \
+ftw_.$(OBJEXT) full-read_.$(OBJEXT) full-write_.$(OBJEXT) \
+getdate_.$(OBJEXT) getgroups_.$(OBJEXT) gethostname_.$(OBJEXT) \
+getline_.$(OBJEXT) getloadavg_.$(OBJEXT) getopt_.$(OBJEXT) \
+getopt1_.$(OBJEXT) getpass_.$(OBJEXT) getstr_.$(OBJEXT) \
+gettime_.$(OBJEXT) gettimeofday_.$(OBJEXT) getugroups_.$(OBJEXT) \
+getusershell_.$(OBJEXT) group-member_.$(OBJEXT) hard-locale_.$(OBJEXT) \
+hash_.$(OBJEXT) hash-pjw_.$(OBJEXT) human_.$(OBJEXT) idcache_.$(OBJEXT) \
+imaxtostr_.$(OBJEXT) isdir_.$(OBJEXT) lchown_.$(OBJEXT) \
+linebuffer_.$(OBJEXT) localcharset_.$(OBJEXT) long-options_.$(OBJEXT) \
+lstat_.$(OBJEXT) makepath_.$(OBJEXT) malloc_.$(OBJEXT) \
+mbswidth_.$(OBJEXT) md5_.$(OBJEXT) memcasecmp_.$(OBJEXT) \
+memchr_.$(OBJEXT) memcmp_.$(OBJEXT) memcoll_.$(OBJEXT) \
+memcpy_.$(OBJEXT) memmove_.$(OBJEXT) memrchr_.$(OBJEXT) \
+memset_.$(OBJEXT) mkdir_.$(OBJEXT) mkstemp_.$(OBJEXT) mktime_.$(OBJEXT) \
modechange_.$(OBJEXT) mountlist_.$(OBJEXT) nanosleep_.$(OBJEXT) \
obstack_.$(OBJEXT) offtostr_.$(OBJEXT) path-concat_.$(OBJEXT) \
physmem_.$(OBJEXT) posixtm_.$(OBJEXT) posixver_.$(OBJEXT) \
@@ -934,13 +947,13 @@ strndup_.$(OBJEXT) strnlen_.$(OBJEXT) strpbrk_.$(OBJEXT) \
strstr_.$(OBJEXT) strtod_.$(OBJEXT) strtoimax_.$(OBJEXT) \
strtol_.$(OBJEXT) strtoll_.$(OBJEXT) strtoul_.$(OBJEXT) \
strtoull_.$(OBJEXT) strtoumax_.$(OBJEXT) strverscmp_.$(OBJEXT) \
-tempname_.$(OBJEXT) umaxtostr_.$(OBJEXT) unicodeio_.$(OBJEXT) \
-userspec_.$(OBJEXT) utime_.$(OBJEXT) version-etc_.$(OBJEXT) \
-xgetcwd_.$(OBJEXT) xgethostname_.$(OBJEXT) xmalloc_.$(OBJEXT) \
-xmemcoll_.$(OBJEXT) xnanosleep_.$(OBJEXT) xreadlink_.$(OBJEXT) \
-xstrdup_.$(OBJEXT) xstrtod_.$(OBJEXT) xstrtoimax_.$(OBJEXT) \
-xstrtol_.$(OBJEXT) xstrtoul_.$(OBJEXT) xstrtoumax_.$(OBJEXT) \
-yesno_.$(OBJEXT) : $(ANSI2KNR)
+tempname_.$(OBJEXT) tsearch_.$(OBJEXT) umaxtostr_.$(OBJEXT) \
+unicodeio_.$(OBJEXT) userspec_.$(OBJEXT) utime_.$(OBJEXT) \
+version-etc_.$(OBJEXT) xgetcwd_.$(OBJEXT) xgethostname_.$(OBJEXT) \
+xmalloc_.$(OBJEXT) xmemcoll_.$(OBJEXT) xnanosleep_.$(OBJEXT) \
+xreadlink_.$(OBJEXT) xstrdup_.$(OBJEXT) xstrtod_.$(OBJEXT) \
+xstrtoimax_.$(OBJEXT) xstrtol_.$(OBJEXT) xstrtoul_.$(OBJEXT) \
+xstrtoumax_.$(OBJEXT) yesno_.$(OBJEXT) : $(ANSI2KNR)
.y.c:
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
diff --git a/man/Makefile.in b/man/Makefile.in
index 197364f96..6a31c2ed8 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -152,8 +152,8 @@ dist_man_MANS = \
echo.1 env.1 expand.1 expr.1 factor.1 false.1 fmt.1 fold.1 groups.1 \
head.1 hostid.1 hostname.1 id.1 install.1 join.1 link.1 ln.1 logname.1 \
ls.1 md5sum.1 mkdir.1 mkfifo.1 mknod.1 mv.1 nice.1 nl.1 nohup.1 od.1 \
- paste.1 pathchk.1 pinky.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 rm.1 \
- rmdir.1 seq.1 sha1sum.1 shred.1 sleep.1 sort.1 split.1 stat.1 stty.1 \
+ paste.1 pathchk.1 pinky.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 readlink.1 \
+ rm.1 rmdir.1 seq.1 sha1sum.1 shred.1 sleep.1 sort.1 split.1 stat.1 stty.1 \
su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 touch.1 tr.1 true.1 tsort.1 \
tty.1 uname.1 unexpand.1 uniq.1 unlink.1 uptime.1 users.1 vdir.1 wc.1 \
who.1 whoami.1 yes.1
@@ -423,6 +423,7 @@ printenv.1: $(common_dep) $(srcdir)/printenv.x ../src/printenv.c
printf.1: $(common_dep) $(srcdir)/printf.x ../src/printf.c
ptx.1: $(common_dep) $(srcdir)/ptx.x ../src/ptx.c
pwd.1: $(common_dep) $(srcdir)/pwd.x ../src/pwd.c
+readlink.1: $(common_dep) $(srcdir)/readlink.x ../src/readlink.c
rm.1: $(common_dep) $(srcdir)/rm.x ../src/rm.c
rmdir.1: $(common_dep) $(srcdir)/rmdir.x ../src/rmdir.c
seq.1: $(common_dep) $(srcdir)/seq.x ../src/seq.c
diff --git a/src/Makefile.in b/src/Makefile.in
index 3148ef40e..7b08cf8ee 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -159,7 +159,7 @@ EXTRA_SCRIPTS = nohup
bin_SCRIPTS = groups @OPTIONAL_BIN_ZCRIPTS@
bin_PROGRAMS = chgrp chown chmod cp dd dircolors du \
ginstall link ln dir vdir ls mkdir \
- mkfifo mknod mv rm rmdir shred stat sync touch unlink \
+ mkfifo mknod mv readlink rm rmdir shred stat sync touch unlink \
cat cksum comm csplit cut expand fmt fold head join md5sum \
nl od paste pr ptx sha1sum sort split sum tac tail tr tsort unexpand uniq wc \
basename date dirname echo env expr factor false \
@@ -292,12 +292,12 @@ bin_PROGRAMS = chgrp$(EXEEXT) chown$(EXEEXT) chmod$(EXEEXT) cp$(EXEEXT) \
dd$(EXEEXT) dircolors$(EXEEXT) du$(EXEEXT) ginstall$(EXEEXT) \
link$(EXEEXT) ln$(EXEEXT) dir$(EXEEXT) vdir$(EXEEXT) \
ls$(EXEEXT) mkdir$(EXEEXT) mkfifo$(EXEEXT) mknod$(EXEEXT) \
- mv$(EXEEXT) rm$(EXEEXT) rmdir$(EXEEXT) shred$(EXEEXT) \
- stat$(EXEEXT) sync$(EXEEXT) touch$(EXEEXT) unlink$(EXEEXT) \
- cat$(EXEEXT) cksum$(EXEEXT) comm$(EXEEXT) csplit$(EXEEXT) \
- cut$(EXEEXT) expand$(EXEEXT) fmt$(EXEEXT) fold$(EXEEXT) \
- head$(EXEEXT) join$(EXEEXT) md5sum$(EXEEXT) nl$(EXEEXT) \
- od$(EXEEXT) paste$(EXEEXT) pr$(EXEEXT) ptx$(EXEEXT) \
+ mv$(EXEEXT) readlink$(EXEEXT) rm$(EXEEXT) rmdir$(EXEEXT) \
+ shred$(EXEEXT) stat$(EXEEXT) sync$(EXEEXT) touch$(EXEEXT) \
+ unlink$(EXEEXT) cat$(EXEEXT) cksum$(EXEEXT) comm$(EXEEXT) \
+ csplit$(EXEEXT) cut$(EXEEXT) expand$(EXEEXT) fmt$(EXEEXT) \
+ fold$(EXEEXT) head$(EXEEXT) join$(EXEEXT) md5sum$(EXEEXT) \
+ nl$(EXEEXT) od$(EXEEXT) paste$(EXEEXT) pr$(EXEEXT) ptx$(EXEEXT) \
sha1sum$(EXEEXT) sort$(EXEEXT) split$(EXEEXT) sum$(EXEEXT) \
tac$(EXEEXT) tail$(EXEEXT) tr$(EXEEXT) tsort$(EXEEXT) \
unexpand$(EXEEXT) uniq$(EXEEXT) wc$(EXEEXT) basename$(EXEEXT) \
@@ -571,6 +571,11 @@ pwd_OBJECTS = pwd.$(OBJEXT)
pwd_LDADD = $(LDADD)
pwd_DEPENDENCIES = ../lib/libfetish.a ../lib/libfetish.a
pwd_LDFLAGS =
+readlink_SOURCES = readlink.c
+readlink_OBJECTS = readlink.$(OBJEXT)
+readlink_LDADD = $(LDADD)
+readlink_DEPENDENCIES = ../lib/libfetish.a ../lib/libfetish.a
+readlink_LDFLAGS =
am_rm_OBJECTS = rm.$(OBJEXT) remove.$(OBJEXT)
rm_OBJECTS = $(am_rm_OBJECTS)
rm_LDADD = $(LDADD)
@@ -763,23 +768,24 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ ./$(DEPDIR)/pathchk.Po ./$(DEPDIR)/pinky.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/pr.Po ./$(DEPDIR)/printenv.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/printf.Po ./$(DEPDIR)/ptx.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/pwd.Po ./$(DEPDIR)/remove.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/rm.Po ./$(DEPDIR)/rmdir.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/seq.Po ./$(DEPDIR)/sha1sum.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/shred.Po ./$(DEPDIR)/sleep.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/sort.Po ./$(DEPDIR)/split.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/stat.Po ./$(DEPDIR)/stty.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/su.Po ./$(DEPDIR)/sum.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/sync.Po ./$(DEPDIR)/tac.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/tail.Po ./$(DEPDIR)/tee.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/test.Po ./$(DEPDIR)/touch.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/tr.Po ./$(DEPDIR)/true.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/tsort.Po ./$(DEPDIR)/tty.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/uname.Po ./$(DEPDIR)/unexpand.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/uniq.Po ./$(DEPDIR)/unlink.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/uptime.Po ./$(DEPDIR)/users.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/wc.Po ./$(DEPDIR)/who.Po \
-@AMDEP_TRUE@ ./$(DEPDIR)/whoami.Po ./$(DEPDIR)/yes.Po
+@AMDEP_TRUE@ ./$(DEPDIR)/pwd.Po ./$(DEPDIR)/readlink.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/remove.Po ./$(DEPDIR)/rm.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/rmdir.Po ./$(DEPDIR)/seq.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/sha1sum.Po ./$(DEPDIR)/shred.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/sleep.Po ./$(DEPDIR)/sort.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/split.Po ./$(DEPDIR)/stat.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/stty.Po ./$(DEPDIR)/su.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/sum.Po ./$(DEPDIR)/sync.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tac.Po ./$(DEPDIR)/tail.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tee.Po ./$(DEPDIR)/test.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/touch.Po ./$(DEPDIR)/tr.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/true.Po ./$(DEPDIR)/tsort.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/tty.Po ./$(DEPDIR)/uname.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/unexpand.Po ./$(DEPDIR)/uniq.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/unlink.Po ./$(DEPDIR)/uptime.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/users.Po ./$(DEPDIR)/wc.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/who.Po ./$(DEPDIR)/whoami.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/yes.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
@@ -792,16 +798,16 @@ DIST_SOURCES = basename.c cat.c $(chgrp_SOURCES) chmod.c \
kill.c link.c ln.c logname.c $(ls_SOURCES) $(md5sum_SOURCES) \
mkdir.c mkfifo.c mknod.c $(mv_SOURCES) nice.c nl.c od.c paste.c \
pathchk.c pinky.c pr.c printenv.c printf.c ptx.c pwd.c \
- $(rm_SOURCES) rmdir.c seq.c $(sha1sum_SOURCES) shred.c sleep.c \
- sort.c split.c stat.c stty.c su.c sum.c sync.c tac.c tail.c \
- tee.c test.c touch.c tr.c true.c tsort.c tty.c uname.c \
- unexpand.c uniq.c unlink.c uptime.c users.c $(vdir_SOURCES) \
- wc.c who.c whoami.c yes.c
+ readlink.c $(rm_SOURCES) rmdir.c seq.c $(sha1sum_SOURCES) \
+ shred.c sleep.c sort.c split.c stat.c stty.c su.c sum.c sync.c \
+ tac.c tail.c tee.c test.c touch.c tr.c true.c tsort.c tty.c \
+ uname.c unexpand.c uniq.c unlink.c uptime.c users.c \
+ $(vdir_SOURCES) wc.c who.c whoami.c yes.c
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in ansi2knr.1 \
ansi2knr.c
-SOURCES = basename.c cat.c $(chgrp_SOURCES) chmod.c $(chown_SOURCES) chroot.c cksum.c comm.c $(cp_SOURCES) csplit.c cut.c date.c dd.c df.c $(dir_SOURCES) dircolors.c dirname.c du.c echo.c env.c expand.c expr.c factor.c false.c fmt.c fold.c $(ginstall_SOURCES) head.c hostid.c hostname.c id.c join.c kill.c link.c ln.c logname.c $(ls_SOURCES) $(md5sum_SOURCES) mkdir.c mkfifo.c mknod.c $(mv_SOURCES) nice.c nl.c od.c paste.c pathchk.c pinky.c pr.c printenv.c printf.c ptx.c pwd.c $(rm_SOURCES) rmdir.c seq.c $(sha1sum_SOURCES) shred.c sleep.c sort.c split.c stat.c stty.c su.c sum.c sync.c tac.c tail.c tee.c test.c touch.c tr.c true.c tsort.c tty.c uname.c unexpand.c uniq.c unlink.c uptime.c users.c $(vdir_SOURCES) wc.c who.c whoami.c yes.c
+SOURCES = basename.c cat.c $(chgrp_SOURCES) chmod.c $(chown_SOURCES) chroot.c cksum.c comm.c $(cp_SOURCES) csplit.c cut.c date.c dd.c df.c $(dir_SOURCES) dircolors.c dirname.c du.c echo.c env.c expand.c expr.c factor.c false.c fmt.c fold.c $(ginstall_SOURCES) head.c hostid.c hostname.c id.c join.c kill.c link.c ln.c logname.c $(ls_SOURCES) $(md5sum_SOURCES) mkdir.c mkfifo.c mknod.c $(mv_SOURCES) nice.c nl.c od.c paste.c pathchk.c pinky.c pr.c printenv.c printf.c ptx.c pwd.c readlink.c $(rm_SOURCES) rmdir.c seq.c $(sha1sum_SOURCES) shred.c sleep.c sort.c split.c stat.c stty.c su.c sum.c sync.c tac.c tail.c tee.c test.c touch.c tr.c true.c tsort.c tty.c uname.c unexpand.c uniq.c unlink.c uptime.c users.c $(vdir_SOURCES) wc.c who.c whoami.c yes.c
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -1011,6 +1017,9 @@ ptx$(EXEEXT): $(ptx_OBJECTS) $(ptx_DEPENDENCIES)
pwd$(EXEEXT): $(pwd_OBJECTS) $(pwd_DEPENDENCIES)
@rm -f pwd$(EXEEXT)
$(LINK) $(pwd_LDFLAGS) $(pwd_OBJECTS) $(pwd_LDADD) $(LIBS)
+readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES)
+ @rm -f readlink$(EXEEXT)
+ $(LINK) $(readlink_LDFLAGS) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
rm$(EXEEXT): $(rm_OBJECTS) $(rm_DEPENDENCIES)
@rm -f rm$(EXEEXT)
$(LINK) $(rm_LDFLAGS) $(rm_OBJECTS) $(rm_LDADD) $(LIBS)
@@ -1210,6 +1219,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remove.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
@@ -1508,15 +1518,17 @@ wheel.h: wheel-gen.pl Makefile.am
mv $@-t $@
false.c: true.c
+ rm -f $@
sed \
-e s/true/false/g \
-e s/success/failure/g \
-e 's/^ exit (EXIT_SUCCESS/ exit (EXIT_FAILURE/g' \
$(srcdir)/true.c > $@-t
+ chmod a-w $@-t
mv $@-t $@
# Ensure that the list of programs in README matches the list
# of programs we can build.
-check: check-README
+check: check-README check-misc
.PHONY: check-README
check-README:
rm -rf $(pr) $(pm)
@@ -1525,6 +1537,12 @@ check-README:
sed -n '/^The programs .* are:/,/^[a-zA-Z]/p' $(top_srcdir)/README \
| sed -n '/^ */s///p' | tr -s ' ' '\n' > $(pr)
diff $(pm) $(pr) && rm -rf $(pr) $(pm)
+
+# Make sure we don't define any S_IS* macros in src/*.c files.
+# Not a big deal, but they're already defined via system.h.
+.PHONY: check-misc
+check-misc:
+ grep '^# *define *S_IS' $(SOURCES) && exit 1 || :
# FIXME: handle *.sh; and use $(all_programs), not $(SOURCES)
../AUTHORS: $(SOURCES)
rm -f $@-t
diff --git a/tests/du/Makefile.in b/tests/du/Makefile.in
index 4bf748f60..f4b7868c5 100644
--- a/tests/du/Makefile.in
+++ b/tests/du/Makefile.in
@@ -148,7 +148,7 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.4 gnits
-TESTS = trailing-slash deref two-args slink
+TESTS = no-deref trailing-slash deref two-args slink
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = \
PATH=`pwd`/../../src:$$PATH
diff --git a/tests/ls/Makefile.in b/tests/ls/Makefile.in
index 5dabf34e4..cea196a47 100644
--- a/tests/ls/Makefile.in
+++ b/tests/ls/Makefile.in
@@ -150,7 +150,7 @@ target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.2 gnits
TESTS = \
- file-type recursive dired infloop \
+ inode dangle file-type recursive dired infloop \
rt-1 time-1 symlink-slash follow-slink no-arg
diff --git a/tests/rm/Makefile.in b/tests/rm/Makefile.in
index 55330133c..c408836f6 100644
--- a/tests/rm/Makefile.in
+++ b/tests/rm/Makefile.in
@@ -148,7 +148,7 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.1 gnits
-TESTS = i-no-r fail-eperm \
+TESTS = cycle i-no-r fail-eperm \
dangling-symlink rm1 rm2 rm3 rm4 rm5 \
unread2 r-1 r-2 r-3 i-1 ir-1 f-1 sunos-1 deep-1 hash \
isatty # unreadable empty-name
diff --git a/tests/touch/Makefile.in b/tests/touch/Makefile.in
index 3e8f66153..92a32d767 100644
--- a/tests/touch/Makefile.in
+++ b/tests/touch/Makefile.in
@@ -149,6 +149,7 @@ target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.3 gnits
TESTS = \
+ not-owner \
no-create-missing \
fail-diag dir-1 dangling-symlink empty-file fifo no-rights obsolescent