From 5209d1dfe06eee33be66e44c68df330543a7fe96 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 12 Jun 2022 17:51:35 -0700 Subject: Update to current Autoconf & Gettext * acinclude.m4, configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING. * bootstrap: Sync from Gnulib. * configure.ac: Require Autoconf 2.71 and Gettext 0.21. Use AC_PROG_CC, not AC_PROG_CC_STDC. Prefer AC_COMPILE_IFELSE to AC_TRY_COMPILE. Use AC_CONFIG_FILES. * gnulib.modules: Use gettext-h, not gettext. --- acinclude.m4 | 2 +- bootstrap | 27 ++++++++++++++++++++++----- configure.ac | 25 +++++++++++++++---------- gnulib.modules | 2 +- 4 files changed, 39 insertions(+), 17 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 7c1968a7..165cd34b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -21,7 +21,7 @@ AC_DEFUN([TAR_COMPR_PROGRAM],[ m4_pushdef([tar_compr_define],translit($1,[a-z+-],[A-ZX_])[_PROGRAM]) m4_pushdef([tar_compr_var],[tar_cv_compressor_]translit($1,[+-],[x_])) AC_ARG_WITH($1, - AC_HELP_STRING([--with-]$1[=PROG], + AS_HELP_STRING([--with-]$1[=PROG], [use PROG as ]$1[ compressor program]), [tar_compr_var=${withval}], [tar_compr_var=m4_if($2,,$1,$2)]) diff --git a/bootstrap b/bootstrap index 96588618..1f375eef 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2021-04-11.09; # UTC +scriptversion=2022-06-04.00; # UTC # Bootstrap this package from checked-out sources. @@ -487,7 +487,7 @@ fi # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. found_aux_dir=no -grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ +grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'])' configure.ac \ >/dev/null && found_aux_dir=yes grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ >/dev/null && found_aux_dir=yes @@ -763,9 +763,26 @@ if $use_gnulib; then shallow= if test -z "$GNULIB_REVISION"; then git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ + || cleanup_gnulib + else + git fetch -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + mkdir -p "$gnulib_path" + # Only want a shallow checkout of $GNULIB_REVISION, but git does not + # support cloning by commit hash. So attempt a shallow fetch by commit + # hash to minimize the amount of data downloaded and changes needed to + # be processed, which can drastically reduce download and processing + # time for checkout. If the fetch by commit fails, a shallow fetch can + # not be performed because we do not know what the depth of the commit + # is without fetching all commits. So fallback to fetching all commits. + git -C "$gnulib_path" init + git -C "$gnulib_path" remote add origin \ + ${GNULIB_URL:-$default_gnulib_url} + git -C "$gnulib_path" fetch $shallow origin "$GNULIB_REVISION" \ + || git -C "$gnulib_path" fetch origin \ + || cleanup_gnulib + git -C "$gnulib_path" reset --hard FETCH_HEAD fi - git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ - || cleanup_gnulib trap - 1 2 13 15 fi @@ -1093,7 +1110,7 @@ bootstrap_epilogue echo "$0: done. Now you can run './configure'." -# Local variables: +# Local Variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" diff --git a/configure.ac b/configure.ac index 5cd1f32b..9a4b4e8e 100644 --- a/configure.ac +++ b/configure.ac @@ -21,13 +21,13 @@ AC_INIT([GNU tar], [1.34.90], [bug-tar@gnu.org]) AC_CONFIG_SRCDIR([src/tar.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) -AC_PREREQ([2.64]) +AC_PREREQ([2.71]) AM_INIT_AUTOMAKE([1.15 gnits tar-ustar dist-bzip2 dist-xz std-options silent-rules]) # Enable silent rules by default: AM_SILENT_RULES([yes]) -AC_PROG_CC_STDC +AC_PROG_CC AC_EXEEXT AC_PROG_RANLIB AC_PROG_YACC @@ -52,10 +52,14 @@ AC_HEADER_MAJOR AC_MSG_CHECKING([for st_fstype string in struct stat]) AC_CACHE_VAL(diff_cv_st_fstype_string, - [AC_TRY_COMPILE([#include -#include ], [struct stat s; s.st_fstype[0] = 'x';], - diff_cv_st_fstype_string=yes, - diff_cv_st_fstype_string=no)]) + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + ]], + [[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, @@ -370,7 +374,7 @@ AC_CHECK_TYPE(iconv_t,:, # Gettext. AM_GNU_GETTEXT([external], [need-formatstring-macros]) -AM_GNU_GETTEXT_VERSION([0.16]) +AM_GNU_GETTEXT_VERSION([0.21]) # Initialize the test suite. AC_CONFIG_TESTDIR(tests) @@ -380,8 +384,8 @@ 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]), + AS_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)' @@ -395,7 +399,7 @@ else BACKUP_SED_COND='/^\#IF_DATE_FORMAT_OK/,/^\#ELSE_DATE_FORMAT_OK/d;/^\#ENDIF_DATE_FORMAT_OK/d' fi -AC_OUTPUT([Makefile\ +AC_CONFIG_FILES([Makefile\ doc/Makefile\ gnu/Makefile\ lib/Makefile\ @@ -403,3 +407,4 @@ AC_OUTPUT([Makefile\ scripts/Makefile\ rmt/Makefile\ src/Makefile]) +AC_OUTPUT diff --git a/gnulib.modules b/gnulib.modules index f3b5da57..63e8354a 100644 --- a/gnulib.modules +++ b/gnulib.modules @@ -49,7 +49,7 @@ futimens getline getopt-gnu getpagesize -gettext +gettext-h gettime gitlog-to-changelog hash -- cgit v1.2.1