# Configure template for GNU tar.
# Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-# 2002, 2003 Free Software Foundation, Inc.
+# 2002, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-AC_INIT([GNU tar], [1.13.90], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.14.1], [bug-tar@gnu.org])
AC_CONFIG_SRCDIR([src/tar.c])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_HEADERS([config.h:config.hin])
-AC_PREREQ([2.57])
-AM_INIT_AUTOMAKE([1.7.5 gnits dist-bzip2 dist-shar])
+AC_PREREQ([2.59])
+AM_INIT_AUTOMAKE([1.8 gnits dist-bzip2 dist-shar std-options])
gl_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AC_EXEEXT
AC_PROG_RANLIB
+AC_PROG_YACC
AC_SYS_LARGEFILE
AC_ISC_POSIX
AC_C_INLINE
AC_CHECK_HEADERS(fcntl.h linux/fd.h memory.h net/errno.h \
sgtty.h string.h \
- sys/buf.h sys/device.h sys/gentape.h \
+ sys/param.h sys/device.h sys/gentape.h \
sys/inet.h sys/io/trioctl.h \
- sys/mtio.h sys/tprintf.h sys/tape.h \
+ sys/mtio.h sys/time.h sys/tprintf.h sys/tape.h \
unistd.h)
+AC_CHECK_HEADERS([sys/buf.h], [], [],
+[#if HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif])
+
AC_HEADER_SYS_WAIT
AM_STDBOOL_H
AC_CHECK_TYPE(ino_t, unsigned)
gt_TYPE_SSIZE_T
+gl_AC_TYPE_INTMAX_T
jm_AC_TYPE_UINTMAX_T
-
# gnulib modules
+tar_GNULIB
+
-AM_FUNC_GETLINE
-
-gl_BACKUPFILE
-gl_DIRNAME
-gl_ERROR
-gl_EXCLUDE
-gl_FILEBLOCKS
-gl_FUNC_ALLOCA
-gl_FUNC_FNMATCH_GNU
-gl_FUNC_MEMSET
-gl_FUNC_MKTIME
-gl_FUNC_RMDIR
-gl_FUNC_STRTOL
-gl_FUNC_STRTOUL
-gl_FUNC_STRTOIMAX
-gl_FUNC_STRTOUMAX
-gl_GETDATE
-gl_GETOPT
-gl_HASH
-gl_HUMAN
-gl_MODECHANGE
-gl_OBSTACK
-gl_PATHMAX
-gl_QUOTE
-gl_QUOTEARG
-gl_SAFE_READ
-gl_SAFE_WRITE
-gl_SAVE_CWD
-gl_SAVEDIR
-gl_STRCASE
-gl_TIME_R
-gl_XALLOC
-gl_XGETCWD
-gl_XSTRTOL
-
-jm_FUNC_FTRUNCATE
-jm_FUNC_GLIBC_UNLOCKED_IO
-jm_FUNC_CHOWN
-jm_FUNC_LCHOWN
-jm_FUNC_MALLOC
-jm_FUNC_REALLOC
-jm_FUNC_UTIME
-jm_XSTRTOUMAX
+AC_CHECK_MEMBERS([struct stat.st_spare1, struct stat.st_atim.tv_nsec, struct stat.st_atimespec.tv_nsec, struct stat.st_atimensec], , ,
+ [
+#include <sys/types.h>
+#include <sys/stat.h>])
# Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all*
# programs in the package would end up linked with that potentially-shared
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
tar_save_LIBS=$LIBS
LIB_CLOCK_GETTIME=
- AC_SEARCH_LIBS(clock_gettime, [rt posix4],
- [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime])
+ AC_SEARCH_LIBS(clock_gettime, [rt posix4])
+ case "$ac_cv_search_clock_gettime" in
+ -l*) LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime;;
+ esac
AC_SUBST(LIB_CLOCK_GETTIME)
AC_CHECK_FUNCS(clock_gettime)
LIBS=$tar_save_LIBS
-AC_CHECK_FUNCS(fsync lstat mkfifo readlink strerror symlink)
+AC_CHECK_FUNCS(fsync lstat mkfifo readlink strerror symlink setlocale utimes)
AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])
AC_CHECK_DECLS([valloc])
+AC_CHECK_DECLS([time],,, [#include <time.h>])
# Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary.
tar_save_LIBS=$LIBS
AC_SEARCH_LIBS(setsockopt, [socket], ,
[AC_SEARCH_LIBS(setsockopt, [socket], , , [-lnsl])])
AC_SEARCH_LIBS(setsockopt, [nsl])
- if test " $LIBS" != " $tar_save_LIBS"; then
- LIB_SETSOCKOPT=$ac_cv_search_setsockopt
- fi
+
+ case "$ac_cv_search_setsockopt" in
+ -l*) LIB_SETSOCKOPT=$ac_cv_search_setsockopt
+ esac
AC_SUBST(LIB_SETSOCKOPT)
LIBS=$tar_save_LIBS
AC_MSG_CHECKING(for default archive format)
+AC_ARG_VAR([DEFAULT_ARCHIVE_FORMAT],
+ [Set the default archive format. Allowed values are: V7, OLDGNU, USTAR, POSIX, GNU. Default is GNU])
+
if test -z "$DEFAULT_ARCHIVE_FORMAT"; then
DEFAULT_ARCHIVE_FORMAT="GNU"
fi
case $DEFAULT_ARCHIVE_FORMAT in
- V7|OLDGNU|POSIX|GNU) ;;
+ V7|OLDGNU|USTAR|POSIX|GNU) ;;
*) AC_MSG_ERROR(Invalid format name);;
esac
AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE_FORMAT, ${DEFAULT_ARCHIVE_FORMAT}_FORMAT,
AC_MSG_CHECKING(for default archive)
+AC_ARG_VAR([DEFAULT_ARCHIVE],
+ [Set the name of the default archive (default: -)])
if test -z "$DEFAULT_ARCHIVE"; then
DEFAULT_ARCHIVE=-
else
[Define to a string giving the full name of the default archive file.])
AC_MSG_RESULT($DEFAULT_ARCHIVE)
+AC_ARG_VAR([DEFAULT_BLOCKING],
+ [Define default blocking factor (default: 20)])
AC_MSG_CHECKING(for default blocking)
DEFAULT_BLOCKING=${DEFAULT_BLOCKING-20}
AC_DEFINE_UNQUOTED(DEFAULT_BLOCKING, $DEFAULT_BLOCKING,
[Define to a number giving the default blocking size for archives.])
AC_MSG_RESULT($DEFAULT_BLOCKING)
+AC_ARG_VAR([DEFAULT_RMT_COMMAND],
+ [Define full pathname of rmt program.])
+if test "x$DEFAULT_RMT_COMMAND" != x; then
+ AC_DEFINE_UNQUOTED(DEFAULT_RMT_COMMAND, "$DEFAULT_RMT_COMMAND",
+ [Define full pathname of rmt program.])
+fi
+
# Gettext.
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.12.1)
-AC_OUTPUT([Makefile doc/Makefile lib/Makefile \
-m4/Makefile po/Makefile.in \
-scripts/Makefile src/Makefile tests/Makefile tests/preset])
+# Iconv
+AM_ICONV
+AC_CHECK_HEADERS(iconv.h)
+AC_CHECK_TYPE(iconv_t,:,
+ AC_DEFINE(iconv_t, int,
+ [Conversion descriptor type]),
+ [
+#ifdef HAVE_ICONV_H
+# include <iconv.h>
+#endif
+])
+
+# Check if we have reentrant versions of getopt. Argp needs them,
+# but many versions of Glibc lack them, though they define the
+# same getopt interface version as lib/getopt.c.
+AC_CHECK_FUNC(_getopt_long_only_r,
+ :,
+ [AC_DEFINE(WANT_INCLUDED_GETOPT,1,
+ [Define if the included version of getopt has to be used])])
+
+AC_SUBST(BACKUP_LIBEXEC_SCRIPTS)
+AC_SUBST(BACKUP_SBIN_SCRIPTS)
+AC_ARG_ENABLE(backup-scripts,
+ AC_HELP_STRING([--enable-backup-scripts],
+ [Create and install backup and restore scripts]),
+ [case $enableval in
+ yes) BACKUP_LIBEXEC_SCRIPTS='$(BACKUP_LIBEXEC_SCRIPTS_LIST)'
+ BACKUP_SBIN_SCRIPTS='$(BACKUP_SBIN_SCRIPTS_LIST)'
+ ;;
+ esac])
+
+AC_SUBST(BACKUP_SED_COND)
+if date +%Y-%m-%d 2>/dev/null >&2; then
+ BACKUP_SED_COND='/^\#ELSE_DATE_FORMAT_OK/,/^\#ENDIF_DATE_FORMAT_OK/d;/^\#IF_DATE_FORMAT_OK/d'
+else
+ BACKUP_SED_COND='/^\#IF_DATE_FORMAT_OK/,/^\#ELSE_DATE_FORMAT_OK/d;/^\#ENDIF_DATE_FORMAT_OK/d'
+fi
+
+
+AC_OUTPUT([Makefile\
+ doc/Makefile\
+ lib/Makefile\
+ po/Makefile.in\
+ scripts/Makefile\
+ src/Makefile\
+ tests/Makefile\
+ tests/preset])