X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=3e501a82d091da4ce56f6a6b378f00e30846bb75;hb=d36f5a3cc3280d6c4a58367bf51b527d5c14ac04;hp=3d2fa676744ae07cb7607f59ecc0a396fd5ca28c;hpb=15cb6d782cc904cc3f770a1e16dd5d799e585a29;p=chaz%2Ftar diff --git a/configure.ac b/configure.ac index 3d2fa67..3e501a8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,12 @@ -# Configure template for GNU tar. +# Configure template for GNU tar. -*- autoconf -*- # Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -# 2002, 2003 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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, @@ -15,60 +16,48 @@ # 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.92], [bug-tar@gnu.org]) +AC_INIT([GNU tar], [1.26.90], [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_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_HEADERS([config.h]) +AC_PREREQ([2.63]) +AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 dist-xz dist-shar std-options silent-rules]) + +# Enable silent rules by default: +AM_SILENT_RULES([yes]) -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 \ +AC_CHECK_HEADERS_ONCE(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 \ - unistd.h) - -AC_HEADER_SYS_WAIT -AM_STDBOOL_H + sys/mtio.h sys/time.h sys/tprintf.h sys/tape.h \ + unistd.h locale.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_CHECK_HEADERS([sys/buf.h], [], [], +[#if HAVE_SYS_PARAM_H +#include +#endif]) -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_SYS_WAIT 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 @@ -95,88 +84,38 @@ AC_CHECK_TYPE(dev_t, unsigned) AC_CHECK_TYPE(ino_t, unsigned) gt_TYPE_SSIZE_T -jm_AC_TYPE_UINTMAX_T - # gnulib modules +gl_INIT +# paxutils modules +tar_PAXUTILS + +TAR_HEADERS_ATTR_XATTR_H + +AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink]) + +# we use gnulib's acl.h - because of very useful file_has_acl() function. M4 +# file from gnulib/acl does a quite good job of course. The problem is that +# this function works on wide list of platforms and we need to restrict tar to +# use POSIX.1e ACLs only. +AC_ARG_WITH([posix-acls], + AS_HELP_STRING([--without-posix-acls], + [do not use POSIX.1e access control lists]), + [with_posix_acls=no]) +AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_get_file], [acl pacl],, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_get_fd], [acl pacl],, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_set_file], [acl pacl],, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_set_fd], [acl pacl],, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_to_text], [acl pacl],, [with_posix_acl=no]) +AC_SEARCH_LIBS([acl_from_text], [acl pacl],, [with_posix_acl=no]) +if test "x$with_posix_acls" != xno; then + AC_DEFINE(HAVE_POSIX_ACLS,,[Define when we have working POSIX acls]) +fi -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]) - 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 setlocale) AC_CHECK_DECLS([getgrgid],,, [#include ]) AC_CHECK_DECLS([getpwuid],,, [#include ]) -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]) - - case "$ac_cv_search_setsockopt" in - -l*) LIB_SETSOCKOPT=$ac_cv_search_setsockopt - esac - AC_SUBST(LIB_SETSOCKOPT) -LIBS=$tar_save_LIBS +AC_CHECK_DECLS([time],,, [#include ]) AC_REPLACE_FUNCS(waitpid) @@ -208,13 +147,24 @@ else [Define to the full path of your rsh, if any.]) fi +TAR_COMPR_PROGRAM(compress) +TAR_COMPR_PROGRAM(gzip) +TAR_COMPR_PROGRAM(bzip2) +TAR_COMPR_PROGRAM(lzip) +TAR_COMPR_PROGRAM(lzma) +TAR_COMPR_PROGRAM(lzop) +TAR_COMPR_PROGRAM(xz) + 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, @@ -223,11 +173,13 @@ 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 if test -z "`ls $DEFAULT_ARCHIVE 2>/dev/null`"; then - AC_MSG_WARN(DEFAULT_ARCHIVE \`$DEFAULT_ARCHIVE' not found on this system) + AC_MSG_WARN(DEFAULT_ARCHIVE '$DEFAULT_ARCHIVE' not found on this system) fi # FIXME: Look for DEFTAPE in . # FIXME: Let DEVICE_PREFIX be configured from the environment. @@ -235,7 +187,7 @@ 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]]) @@ -256,16 +208,75 @@ 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_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 +#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\ + gnu/Makefile\ + lib/Makefile\ + po/Makefile.in\ + scripts/Makefile\ + rmt/Makefile\ + src/Makefile])