# 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, 2005, 2006, 2007 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
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
-AC_INIT([GNU tar], [1.13.90], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.18.1], [bug-tar@gnu.org])
AC_CONFIG_SRCDIR([src/tar.c])
-AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_AUX_DIR([build-aux])
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.60])
+AM_INIT_AUTOMAKE([1.9 gnits tar-ustar dist-bzip2 dist-shar std-options])
-gl_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AC_EXEEXT
AC_PROG_RANLIB
+AC_PROG_YACC
+gl_EARLY
+
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 \
+AC_CHECK_HEADERS_ONCE(fcntl.h linux/fd.h memory.h net/errno.h \
+ sgtty.h string.h stropts.h \
+ sys/param.h sys/device.h sys/filio.h sys/gentape.h \
sys/inet.h sys/io/trioctl.h \
- sys/mtio.h sys/tprintf.h sys/tape.h \
- unistd.h)
+ sys/mtio.h sys/time.h sys/tprintf.h sys/tape.h \
+ unistd.h locale.h)
+
+AC_CHECK_HEADERS([sys/buf.h], [], [],
+[#if HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif])
AC_HEADER_SYS_WAIT
AM_STDBOOL_H
-if test $ac_cv_header_sys_mtio_h = yes; then
- AC_CACHE_CHECK(for remote tape header files, tar_cv_header_rmt,
- [AC_TRY_CPP([
-#if HAVE_SGTTY_H
-# include <sgtty.h>
-#endif
-#include <sys/socket.h>],
- tar_cv_header_rmt=yes, tar_cv_header_rmt=no)])
- test $tar_cv_header_rmt = yes && RMT='rmt$(EXEEXT)'
- AC_SUBST(RMT)
-fi
-
-AC_CACHE_CHECK(which ioctl field to test for reversed bytes,
- tar_cv_header_mtio_check_field,
- [AC_EGREP_HEADER(mt_model, sys/mtio.h,
- tar_cv_header_mtio_check_field=mt_model,
- tar_cv_header_mtio_check_field=mt_type)])
-AC_DEFINE_UNQUOTED(MTIO_CHECK_FIELD, $tar_cv_header_mtio_check_field,
- [Define to mt_model (v.g., for DG/UX), else to mt_type.])
-
AC_HEADER_DIRENT
AC_HEADER_MAJOR
AC_HEADER_STAT
AC_HEADER_STDC
-AC_STRUCT_ST_BLKSIZE
-AC_STRUCT_ST_BLOCKS
+
AC_MSG_CHECKING([for st_fstype string in struct stat])
AC_CACHE_VAL(diff_cv_st_fstype_string,
[AC_TRY_COMPILE([#include <sys/types.h>
AC_CHECK_TYPE(ino_t, unsigned)
gt_TYPE_SSIZE_T
-jm_AC_TYPE_UINTMAX_T
-
# gnulib modules
+gl_INIT
+# paxutils modules
+tar_PAXUTILS
-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
-
-# 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
-# library, inducing unnecessary run-time overhead.
-
-# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
-# 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_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 getdtablesize 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])
-
-# Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary.
-tar_save_LIBS=$LIBS
- LIB_SETSOCKOPT=
- 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
- AC_SUBST(LIB_SETSOCKOPT)
-LIBS=$tar_save_LIBS
+AC_CHECK_DECLS([time],,, [#include <time.h>])
AC_REPLACE_FUNCS(waitpid)
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
case $DEFAULT_ARCHIVE in
*[[0-7][lmh]])
AC_DEFINE(DENSITY_LETTER, 1,
- [[Define to 1 if density may be indicated by [lmh] at end of device.]])
+ [Define to 1 if density may be indicated by [lmh] at end of device.])
device_prefix=`echo $DEFAULT_ARCHIVE | sed 's/[0-7][lmh]$//'`
;;
*[[0-7]])
[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_MSG_CHECKING(for default quoting style)
+
+m4_define([QUOTING_STYLES],dnl
+ [literal|shell|shell-always|c|escape|locale|clocale])
+DEFAULT_QUOTING_STYLE="escape"
+AC_ARG_VAR([DEFAULT_QUOTING_STYLE],
+ [Set the default quoting style. Allowed values are: ] m4_bpatsubst(QUOTING_STYLES,[|], [[, ]]) [. Default is "escape".])
+
+case $DEFAULT_QUOTING_STYLE in
+QUOTING_STYLES) ;;
+*) AC_MSG_ERROR(Invalid quoting style);;
+esac
+AC_MSG_RESULT($DEFAULT_QUOTING_STYLE)
+DEFAULT_QUOTING_STYLE=`echo ${DEFAULT_QUOTING_STYLE}|sed 's/-/_/g'`_quoting_style
+AC_DEFINE_UNQUOTED(DEFAULT_QUOTING_STYLE, $DEFAULT_QUOTING_STYLE,
+ [Define to a default quoting style (see lib/quoteargs.c for the list)])
+
+# 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
+])
+
# Gettext.
-AM_GNU_GETTEXT([external], [need-ngettext])
-AM_GNU_GETTEXT_VERSION(0.12.1)
+AM_GNU_GETTEXT([external], [need-formatstring-macros])
+AM_GNU_GETTEXT_VERSION([0.16])
+
+# Initialize the test suite.
+AC_CONFIG_TESTDIR(tests)
+AC_CONFIG_FILES([tests/Makefile tests/atlocal]) # FIXME: tests/preset?
+AM_MISSING_PROG([AUTOM4TE], [autom4te])
+
+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 \
-m4/Makefile po/Makefile.in \
-scripts/Makefile src/Makefile tests/Makefile tests/preset])
+AC_OUTPUT([Makefile\
+ doc/Makefile\
+ lib/Makefile\
+ po/Makefile.in\
+ scripts/Makefile\
+ rmt/Makefile\
+ src/Makefile])