|
@@ -1,47 +1,49 @@
|
|
|
# Configure template for GNU tar.
|
|
|
-# Copyright (C) 1991, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
|
|
|
-# Process this file with autoconf to produce a configure script.
|
|
|
-
|
|
|
-AC_INIT(src/tar.c)
|
|
|
-AM_CONFIG_HEADER(config.h)
|
|
|
-AC_PREREQ(2.12)
|
|
|
-AM_INIT_AUTOMAKE(tar, 1.12)
|
|
|
-AC_DEFINE(_GNU_SOURCE)
|
|
|
-ALL_LINGUAS="de fr it ko nl no pl pt sl sv"
|
|
|
-
|
|
|
-fp_PROG_ECHO
|
|
|
-test $fp_cv_prog_echo_nonl = no \
|
|
|
- && echo 2>&1 "WARNING: \`echo' not powerful enough for \`make check'"
|
|
|
+
|
|
|
+# Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
|
|
+# 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)
|
|
|
+# any later version.
|
|
|
+
|
|
|
+# This program is distributed in the hope that it will be useful,
|
|
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+# GNU General Public License for more details.
|
|
|
+
|
|
|
+# 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.
|
|
|
+
|
|
|
+AC_INIT([GNU tar], [1.13.26], [[email protected]])
|
|
|
+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_GNU_SOURCE
|
|
|
AC_PROG_CC
|
|
|
-AC_PROG_GCC_TRADITIONAL
|
|
|
AC_AIX
|
|
|
AC_MINIX
|
|
|
+AC_EXEEXT
|
|
|
AC_PROG_RANLIB
|
|
|
-AC_PROG_YACC
|
|
|
-
|
|
|
+AC_SYS_LARGEFILE
|
|
|
AC_ISC_POSIX
|
|
|
-AM_C_PROTOTYPES
|
|
|
-AC_C_CONST
|
|
|
AC_C_INLINE
|
|
|
-AC_CHECK_SIZEOF(unsigned long, 4)
|
|
|
-AC_CHECK_SIZEOF(long long, 0)
|
|
|
-
|
|
|
-AC_CHECK_HEADERS(fcntl.h limits.h linux/fd.h memory.h net/errno.h poll.h \
|
|
|
-sgtty.h string.h stropts.h \
|
|
|
-sys/buf.h sys/device.h sys/gentape.h sys/inet.h sys/io/trioctl.h sys/ioccom.h \
|
|
|
-sys/mtio.h sys/param.h sys/tprintf.h sys/tape.h sys/time.h sys/timeb.h \
|
|
|
-sys/wait.h unistd.h)
|
|
|
-
|
|
|
-# It seems that that many machines where <utime.h> seems to be
|
|
|
-# broken just require something like -D_XXX_SOURCE, where XXX might
|
|
|
-# be POSIX, POSIX_C, ALL, HPUX or whatever, depending on the machine.
|
|
|
-
|
|
|
-AC_CACHE_CHECK(for utime.h, tar_cv_header_utime_h,
|
|
|
- [AC_TRY_COMPILE([
|
|
|
-#include <sys/types.h>
|
|
|
-#include <utime.h>], [struct utimbuf foo],
|
|
|
- tar_cv_header_utime_h=yes, tar_cv_header_utime_h=no)])
|
|
|
-test $tar_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H)
|
|
|
+
|
|
|
+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/inet.h sys/io/trioctl.h \
|
|
|
+ sys/mtio.h sys/tprintf.h sys/tape.h \
|
|
|
+ unistd.h)
|
|
|
+
|
|
|
+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,
|
|
@@ -51,103 +53,125 @@ if test $ac_cv_header_sys_mtio_h = yes; then
|
|
|
#endif
|
|
|
#include <sys/socket.h>],
|
|
|
tar_cv_header_rmt=yes, tar_cv_header_rmt=no)])
|
|
|
- test $tar_cv_header_rmt = yes && RMT=rmt
|
|
|
+ test $tar_cv_header_rmt = yes && RMT='rmt$(EXEEXT)'
|
|
|
AC_SUBST(RMT)
|
|
|
fi
|
|
|
|
|
|
-AC_CACHE_CHECK(for getgrgid declaration, tar_cv_header_getgrgid,
|
|
|
- [AC_EGREP_HEADER(getgrgid, grp.h,
|
|
|
- tar_cv_header_getgrgid=yes, tar_cv_header_getgrgid=no)])
|
|
|
-test $tar_cv_header_getgrgid = yes && AC_DEFINE(HAVE_GETGRGID)
|
|
|
-
|
|
|
-AC_CACHE_CHECK(for getpwuid declaration, tar_cv_header_getpwuid,
|
|
|
- [AC_EGREP_HEADER(getpwuid, pwd.h,
|
|
|
- tar_cv_header_getpwuid=yes, tar_cv_header_getpwuid=no)])
|
|
|
-test $tar_cv_header_getpwuid = yes && AC_DEFINE(HAVE_GETPWUID)
|
|
|
-
|
|
|
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)
|
|
|
+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_HEADER_TIME
|
|
|
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>
|
|
|
+#include <sys/stat.h>], [struct stat s; s.st_fstype[0] = 'x';],
|
|
|
+ diff_cv_st_fstype_string=yes,
|
|
|
+ diff_cv_st_fstype_string=no)])
|
|
|
+AC_MSG_RESULT($diff_cv_st_fstype_string)
|
|
|
+if test $diff_cv_st_fstype_string = yes; then
|
|
|
+ AC_DEFINE(HAVE_ST_FSTYPE_STRING, 1,
|
|
|
+ [Define if struct stat has a char st_fstype[] member.])
|
|
|
+fi
|
|
|
+
|
|
|
AC_TYPE_SIGNAL
|
|
|
+AC_TYPE_MODE_T
|
|
|
+AC_TYPE_PID_T
|
|
|
+AC_TYPE_OFF_T
|
|
|
AC_TYPE_SIZE_T
|
|
|
AC_TYPE_UID_T
|
|
|
+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.]))
|
|
|
+gt_TYPE_SSIZE_T
|
|
|
+jm_AC_TYPE_UINTMAX_T
|
|
|
+
|
|
|
+
|
|
|
+# gnulib modules
|
|
|
+
|
|
|
+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
|
|
|
+
|
|
|
+
|
|
|
+# 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_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_FUNCS(fsync ftime getcwd isascii lchown mkfifo nap napms poll \
|
|
|
-select strerror strstr usleep)
|
|
|
-
|
|
|
-AC_CACHE_CHECK(for mknod, tar_cv_func_mknod,
|
|
|
- [AC_TRY_LINK([
|
|
|
-#include <sys/types.h>
|
|
|
-#include <sys/stat.h>],
|
|
|
- [mknod (0, 0, 0)],
|
|
|
- tar_cv_func_mknod=yes, tar_cv_func_mknod=no)])
|
|
|
-test $tar_cv_func_mknod = yes && AC_DEFINE(HAVE_MKNOD)
|
|
|
-
|
|
|
-# Whenever both -lsocket and -lnsl are needed, it seems to be always the
|
|
|
-# case that gethostbyname requires -lnsl. So, check -lnsl first, for it
|
|
|
-# to be in LIBS before the setsockopt checks are performed. *However*,
|
|
|
-# on SINIX-N 5.43, this is false, and gethostent seems to be a better
|
|
|
-# candidate. So, let's use it below instead of gethostbyname, and see.
|
|
|
-
|
|
|
-AC_CHECK_FUNC(gethostent)
|
|
|
-if test $ac_cv_func_gethostent = no; then
|
|
|
- AC_CHECK_LIB(nsl, gethostent)
|
|
|
-fi
|
|
|
-AC_CHECK_FUNC(setsockopt)
|
|
|
-if test $ac_cv_func_setsockopt = no; then
|
|
|
- AC_CHECK_LIB(socket, setsockopt)
|
|
|
-fi
|
|
|
-
|
|
|
-AC_FUNC_ALLOCA
|
|
|
-AC_FUNC_FNMATCH
|
|
|
-test $ac_cv_func_fnmatch_works = yes || LIBOBJS="$LIBOBJS fnmatch.o"
|
|
|
-AC_FUNC_VPRINTF
|
|
|
-AC_REPLACE_FUNCS(basename dirname execlp ftruncate memset mkdir rename rmdir)
|
|
|
-test "$ac_cv_func_strstr" = yes || LIBOBJS="$LIBOBJS strstr.o"
|
|
|
-
|
|
|
-# The 3-argument open happens to go along with the O_* defines, which
|
|
|
-# are easier to check for.
|
|
|
-
|
|
|
-AC_CACHE_CHECK(for 3-argument open, tar_cv_func_open3,
|
|
|
- [AC_TRY_COMPILE([
|
|
|
-#if HAVE_FCNTL_H
|
|
|
-# include <fcntl.h>
|
|
|
-#else
|
|
|
-# include <sys/file.h>
|
|
|
-#endif],
|
|
|
- [int x = O_RDONLY],
|
|
|
- tar_cv_func_open3=yes, tar_cv_func_open3=no)])
|
|
|
-if test $tar_cv_func_open3 = no; then
|
|
|
- AC_DEFINE(EMUL_OPEN3)
|
|
|
-fi
|
|
|
-
|
|
|
-# `union wait' is preferrably avoided. We merely assume below
|
|
|
-# that if `int pid;' fails, `union wait pid;' would have worked.
|
|
|
-# Directly trying `union wait pid;' is seeking for trouble, as
|
|
|
-# some POSIX systems are offering compatibility hacks generating
|
|
|
-# ugly diagnostics. Also, on some systems, WEXITSTATUS exists,
|
|
|
-# but fails when called on `union wait' variables.
|
|
|
-
|
|
|
-AC_CACHE_CHECK(for union wait, tar_cv_header_union_wait,
|
|
|
- [AC_TRY_COMPILE([
|
|
|
-#include <sys/types.h>
|
|
|
-#if HAVE_SYS_WAIT_H
|
|
|
-# include <sys/wait.h>
|
|
|
-#endif],
|
|
|
- [int status; int pid; pid = wait (&status);],
|
|
|
- tar_cv_header_union_wait=no, tar_cv_header_union_wait=yes)])
|
|
|
-test $tar_cv_header_union_wait = yes && AC_DEFINE(HAVE_UNION_WAIT)
|
|
|
+AC_REPLACE_FUNCS(waitpid)
|
|
|
|
|
|
AC_CACHE_CHECK(for remote shell, tar_cv_path_RSH,
|
|
|
[if test -n "$RSH"; then
|
|
@@ -155,18 +179,26 @@ AC_CACHE_CHECK(for remote shell, tar_cv_path_RSH,
|
|
|
else
|
|
|
tar_cv_path_RSH=no
|
|
|
for ac_file in /usr/ucb/rsh /usr/bin/remsh /usr/bin/rsh /usr/bsd/rsh \
|
|
|
- /usr/bin/nsh /usr/bin/rcmd
|
|
|
+ /usr/bin/nsh /usr/bin/rcmd
|
|
|
do
|
|
|
+ # Prefer a non-symlink rsh to a symlink one, so that binaries built
|
|
|
+ # on AIX 4.1.4, where /usr/ucb/rsh is a symlink to /usr/bin/rsh
|
|
|
+ # will run on AIX 4.3.0, which has only /usr/bin/rsh.
|
|
|
if test -f $ac_file; then
|
|
|
- tar_cv_path_RSH=$ac_file
|
|
|
- break
|
|
|
+ if (test -h $ac_file) 2>/dev/null; then
|
|
|
+ test $tar_cv_path_RSH = no && tar_cv_path_RSH=$ac_file
|
|
|
+ else
|
|
|
+ tar_cv_path_RSH=$ac_file
|
|
|
+ break
|
|
|
+ fi
|
|
|
fi
|
|
|
done
|
|
|
fi])
|
|
|
if test $tar_cv_path_RSH = no; then
|
|
|
AC_CHECK_HEADERS(netdb.h)
|
|
|
else
|
|
|
- AC_DEFINE_UNQUOTED(REMOTE_SHELL, "$tar_cv_path_RSH")
|
|
|
+ AC_DEFINE_UNQUOTED(REMOTE_SHELL, "$tar_cv_path_RSH",
|
|
|
+ [Define to the full path of your rsh, if any.])
|
|
|
fi
|
|
|
|
|
|
AC_MSG_CHECKING(for default archive)
|
|
@@ -181,35 +213,39 @@ else
|
|
|
# FIXME: Let DEVICE_PREFIX be configured from the environment.
|
|
|
# FIXME: Rearrange, here.
|
|
|
case $DEFAULT_ARCHIVE in
|
|
|
-changequote(, )dnl
|
|
|
- *[0-7][lmh])
|
|
|
+ *[[0-7][lmh]])
|
|
|
+ AC_DEFINE(DENSITY_LETTER, 1,
|
|
|
+ [[Define to 1 if density may be indicated by [lmh] at end of device.]])
|
|
|
device_prefix=`echo $DEFAULT_ARCHIVE | sed 's/[0-7][lmh]$//'`
|
|
|
-changequote([, ])dnl
|
|
|
- AC_DEFINE_UNQUOTED(DEVICE_PREFIX, "$device_prefix")
|
|
|
- AC_DEFINE(DENSITY_LETTER)
|
|
|
;;
|
|
|
-changequote(, )dnl
|
|
|
- *[0-7])
|
|
|
+ *[[0-7]])
|
|
|
device_prefix=`echo $DEFAULT_ARCHIVE | sed 's/[0-7]$//'`
|
|
|
-changequote([, ])dnl
|
|
|
- AC_DEFINE_UNQUOTED(DEVICE_PREFIX, "$device_prefix")
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ device_prefix=
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+ case "$device_prefix" in
|
|
|
+ ?*)
|
|
|
+ AC_DEFINE_UNQUOTED(DEVICE_PREFIX, "$device_prefix",
|
|
|
+ [Define to a string giving the prefix of the default device, without the part specifying the unit and density.])
|
|
|
;;
|
|
|
esac
|
|
|
fi
|
|
|
-AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE, "$DEFAULT_ARCHIVE")
|
|
|
+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_MSG_CHECKING(for default blocking)
|
|
|
DEFAULT_BLOCKING=${DEFAULT_BLOCKING-20}
|
|
|
-AC_DEFINE_UNQUOTED(DEFAULT_BLOCKING, $DEFAULT_BLOCKING)
|
|
|
+AC_DEFINE_UNQUOTED(DEFAULT_BLOCKING, $DEFAULT_BLOCKING,
|
|
|
+ [Define to a number giving the default blocking size for archives.])
|
|
|
AC_MSG_RESULT($DEFAULT_BLOCKING)
|
|
|
|
|
|
-fp_WITH_INCLUDED_MALLOC
|
|
|
-AM_WITH_DMALLOC
|
|
|
-
|
|
|
-AM_GNU_GETTEXT
|
|
|
-AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
|
|
|
+# Gettext.
|
|
|
+AM_GNU_GETTEXT([external], [need-ngettext])
|
|
|
+AM_GNU_GETTEXT_VERSION(0.12.1)
|
|
|
|
|
|
-AC_OUTPUT([Makefile doc/Makefile intl/Makefile lib/Makefile po/Makefile.in \
|
|
|
-scripts/Makefile src/Makefile tests/Makefile tests/preset],
|
|
|
-[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
|
|
|
+AC_OUTPUT([Makefile doc/Makefile lib/Makefile \
|
|
|
+m4/Makefile po/Makefile.in \
|
|
|
+scripts/Makefile src/Makefile tests/Makefile tests/preset])
|