X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=2b24518a2f1c9c3204e54b7294080f47312f25c5;hb=5f1e6a6a3b65f3a981147a4f19c86ed621379ecf;hp=4cd6c89a0184a49c67232c4f9ab00c30ad97ead3;hpb=9f0cdc8f56fddcd319f98a51e156cc37c9cebcb8;p=chaz%2Ftar diff --git a/configure.ac b/configure.ac index 4cd6c89..2b24518 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Configure template for GNU tar. -# Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +# 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 @@ -18,53 +18,37 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. -AC_INIT([GNU tar], [1.13.26], [bug-tar@gnu.org]) +AC_INIT([GNU tar], [1.15], [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_AIX -AC_MINIX 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 +#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 -#endif -#include ], - 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 @@ -93,52 +77,21 @@ AC_CHECK_TYPE(major_t, , AC_DEFINE(major_t, int, [Type of major device numbers.])) AC_CHECK_TYPE(minor_t, , AC_DEFINE(minor_t, int, [Type of minor device numbers.])) +AC_CHECK_TYPE(dev_t, unsigned) +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_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_XALLOC -gl_XGETCWD -gl_XSTRTOL - -jm_FUNC_FTRUNCATE -jm_FUNC_GLIBC_UNLOCKED_IO -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 +#include ]) # 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 @@ -148,16 +101,18 @@ jm_XSTRTOUMAX # 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 ]) AC_CHECK_DECLS([getpwuid],,, [#include ]) -AC_CHECK_DECLS([valloc]) +AC_CHECK_DECLS([time],,, [#include ]) # Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary. tar_save_LIBS=$LIBS @@ -165,9 +120,10 @@ 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 @@ -203,11 +159,14 @@ fi 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, @@ -216,6 +175,8 @@ AC_MSG_RESULT($DEFAULT_ARCHIVE_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 @@ -249,16 +210,60 @@ AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE, "$DEFAULT_ARCHIVE", [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) +PU_RMT + +# 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 +#endif +]) + # 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]) +# 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\ + po/Makefile.in\ + scripts/Makefile\ + rmt/Makefile\ + src/Makefile])