X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=afed24d0ac8573da72d4532d355505dc2eeb92aa;hb=430b13959253a55ec17f6f72cfa94d867c913319;hp=f5df5a12d5adca2c54148ae062d4aa6b56ad652d;hpb=65ef81b0a34f2ff0652194e5b7993a17bd84c8f5;p=chaz%2Ftar diff --git a/configure.ac b/configure.ac index f5df5a1..afed24d 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, 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 @@ -18,7 +18,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. -AC_INIT([GNU tar], [1.13.92], [bug-tar@gnu.org]) +AC_INIT([GNU tar], [1.14.90], [bug-tar@gnu.org]) AC_CONFIG_SRCDIR([src/tar.c]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_HEADERS([config.h:config.hin]) @@ -29,31 +29,39 @@ 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 +#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([ +enable_rmt() { + 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 + tar_cv_header_rmt=yes, tar_cv_header_rmt=no)]) + test $tar_cv_header_rmt = yes && RMT='rmt' + AC_SUBST(RMT) + fi +} AC_CACHE_CHECK(which ioctl field to test for reversed bytes, tar_cv_header_mtio_check_field, @@ -95,60 +103,18 @@ 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_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 #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 # library, inducing unnecessary run-time overhead. @@ -168,7 +134,7 @@ LIBS=$tar_save_LIBS 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 @@ -215,11 +181,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, @@ -228,6 +197,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 @@ -261,16 +232,80 @@ 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) +AC_ARG_VAR([DEFAULT_RMT_DIR], + [Define full file name of the directory where to install `rmt'. (default: $(libexecdir))]) +if test "x$DEFAULT_RMT_DIR" != x; then + DEFAULT_RMT_COMMAND=$DEFAULT_RMT_DIR/rmt +else + DEFAULT_RMT_DIR='$(libexecdir)' +fi + +AC_MSG_CHECKING([whether to build rmt]) +AC_ARG_WITH([rmt], + AC_HELP_STRING([--with-rmt=FILE], + [Use FILE as the default `rmt' program. Do not build included copy of `rmt'.]), + [case $withval in + yes|no) AC_MSG_ERROR([Invalid argument to --with-rmt]);; + /*) DEFAULT_RMT_COMMAND=$withval + AC_MSG_RESULT([no, use $withval instead]);; + *) AC_MSG_ERROR([Argument to --with-rmt must be an absolute file name]);; + esac], + [AC_MSG_RESULT([yes]) + enable_rmt + if test "$RMT" = ""; then + AC_MSG_WARN([not building rmt, required header files are missing]) + fi]) + +AC_SUBST(DEFAULT_RMT_COMMAND) +if test "x$DEFAULT_RMT_COMMAND" != x; then + AC_DEFINE_UNQUOTED(DEFAULT_RMT_COMMAND, "$DEFAULT_RMT_COMMAND", + [Define full file name of rmt program.]) +fi + + # Gettext. AM_GNU_GETTEXT([external], [need-ngettext]) AM_GNU_GETTEXT_VERSION(0.12.1) +# 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 +]) + +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\