* configure.ac (AM_INIT_AUTOMAKE): Add the 'ng' option, to ensure that mainstream Automake is not used by mistake when bootstrapping. Also, bump the required Automake version from '1.11.1' to '1.11e', which is the latest (and still development-only) version of Automake-NG at the moment of writing. * bootstrap (check_versions): Hacked to handle automake and aclocal from Automake-NG specially. This change should be backported to Gnulib proper in a later step. * bootstrap.conf ($buildreq): Require "automake-ng" and "aclocal-ng" version >= 0.5; don't require mainstream "automake" anymore.
Signed-off-by: Stefano Lattarini <[email protected]> --- I'd like this to be applied to an experimental branch in the coreutils repository, which will be used to test and experiment with Automake-NG in a real-world, important, medium-complexity package like GNU coreutils is. I hope you'll agree this is a sensible move, which could bring advantages and improvements to both coreutils and Automake-NG. Regards, Stefano bootstrap | 19 +++++++++++++++++++ bootstrap.conf | 3 ++- configure.ac | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/bootstrap b/bootstrap index c8ee3cc..cc058bd 100755 --- a/bootstrap +++ b/bootstrap @@ -429,6 +429,25 @@ check_versions() { GZIP) ;; # Do not use $GZIP: it contains gzip options. *) eval "app=\${$appvar-$app}" ;; esac + + # Special handling for Automake-NG programs. They are still named as + # the mainstream Automake programs ("automake", "aclocal") to avoid + # gratuitous incompatibilities with pre-existing usages (by, say, + # autoreconf, or custom autogen.sh scripts), but correctly identify + # themselves (as being part of "GNU automake-ng") when asked their + # version. + case $app in + automake-ng|aclocal-ng) + app=`echo "$app" | sed 's/-ng$//'` + if ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1; then + : + else + echo "$me: Error: '$app' not found or not from Automake-NG" >&2 + ret=1 + continue + fi ;; + esac + if [ "$req_ver" = "-" ]; then # Merely require app to exist; not all prereq apps are well-behaved # so we have to rely on $? rather than get_version. diff --git a/bootstrap.conf b/bootstrap.conf index bb414ef..a2432aa 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -307,8 +307,9 @@ gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\ # Build prerequisites buildreq="\ +automake-ng - +aclocal-ng - autoconf 2.62 -automake 1.11.1 autopoint - bison - gettext 0.17 diff --git a/configure.ac b/configure.ac index 5a4860e..dab8b07 100644 --- a/configure.ac +++ b/configure.ac @@ -32,7 +32,7 @@ AC_CONFIG_SRCDIR([src/ls.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([lib/config.h:lib/config.hin]) -AM_INIT_AUTOMAKE([1.11.1 no-dist-gzip dist-xz color-tests parallel-tests]) +AM_INIT_AUTOMAKE([1.11e ng no-dist-gzip dist-xz color-tests parallel-tests]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. dnl POSIXCHECK is worthwhile for maintainers, but adds several seconds -- 1.7.9.5
