diff options
-rw-r--r-- | ChangeLog | 50 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.in | 5 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | aclocal.in | 2 | ||||
-rw-r--r-- | automake.in | 2 | ||||
-rwxr-xr-x | configure | 12 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | doc/Makefile.am | 10 | ||||
-rw-r--r-- | doc/Makefile.in | 13 | ||||
-rw-r--r-- | lib/Automake/Makefile.in | 3 | ||||
-rw-r--r-- | lib/Automake/tests/Makefile.in | 3 | ||||
-rw-r--r-- | lib/Makefile.in | 3 | ||||
-rw-r--r-- | lib/am/Makefile.in | 3 | ||||
-rw-r--r-- | m4/Makefile.in | 3 | ||||
-rw-r--r-- | tests/Makefile.in | 3 | ||||
-rw-r--r-- | tests/README | 6 | ||||
-rw-r--r-- | tests/defs-static.in | 4 |
19 files changed, 123 insertions, 12 deletions
@@ -1,3 +1,53 @@ +2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE + Currently, the Automake's own configure script allow definition + of AUTOCONF and AUTOM4TE, expected to point respectively to an + autoconf and autom4te programs. But while these definitions are + honoured in the Automake's build systems and test suite, they + were *not* honoured in the generated `automake' and `aclocal' + scripts. This behaviour, apart from being wrong in that it does + not allow the user enough freedom in choosing his tools, also + caused inconsistencies in the test suite, brining to spurious + failures. + Problem reported by Graham Reitz on the automake list; see thread: + <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html> + * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'. + * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'. + * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and + `@am_AUTOM4TE'. + * NEWS: Update. + * THANKS: Update. + +2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com> + + build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too + Our build system allows the user to override AUTOCONF and AUTOHEADER + at configure time, and honours these overrides in our testsuite. + But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE. + This change fixes that inconsistency. + * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New + AC_SUBSTitutions. Update comments. + * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now. + ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'. + ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'. + * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update. + +2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> + Stefano Lattarini <stefano.lattarini@gmail.com> + + tests/README: fix example about `make -e' usage + * tests/README (Section "Writing test cases" subsection "Do"): When + some variable is never initialized in the Makefile, `-e' is not + necessary in order to override it. DESTDIR is such a variable: we + ensure that we do not ever initialize it. And as such, it is quite + portable to use: + $ make DESTDIR=/foo/bar install + and in fact, quite widely used. + So our example about when `make -e' is required, which references + the `DESTDIR' variable, is poorly chosen, if not downright wrong. + Rewrite it to use `prefix' as the overridden variable instead. + 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com> testsuite: each test case depends on `defs-static' diff --git a/Makefile.am b/Makefile.am index 7ee282b5c..ff258ecbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -76,6 +76,8 @@ do_subst = sed \ -e 's,[@]PERL[@],$(PERL),g' \ -e 's,[@]PERL_THREADS[@],$(PERL_THREADS),g' \ -e 's,[@]SHELL[@],$(SHELL),g' \ + -e 's,[@]am_AUTOCONF[@],$(am_AUTOCONF),g' \ + -e 's,[@]am_AUTOM4TE[@],$(am_AUTOM4TE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' \ -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \ -e 's,[@]datadir[@],$(datadir),g' diff --git a/Makefile.in b/Makefile.in index 9b976a78b..30a06c93b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -204,6 +204,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -271,6 +274,8 @@ do_subst = sed \ -e 's,[@]PERL[@],$(PERL),g' \ -e 's,[@]PERL_THREADS[@],$(PERL_THREADS),g' \ -e 's,[@]SHELL[@],$(SHELL),g' \ + -e 's,[@]am_AUTOCONF[@],$(am_AUTOCONF),g' \ + -e 's,[@]am_AUTOM4TE[@],$(am_AUTOM4TE),g' \ -e 's,[@]VERSION[@],$(VERSION),g' \ -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \ -e 's,[@]datadir[@],$(datadir),g' @@ -125,6 +125,10 @@ Bugs fixed in 1.11a: - Java sources specified with check_JAVA are not compiled anymore upon "make all", but only upon "make check". + + - Now aclocal and automake, when they've to spawn autoconf or autom4te + processes, honour the configure-time definitions of AUTOCONF and + AUTOM4TE. New in 1.11: @@ -118,6 +118,7 @@ Geoffrey Keating geoffk@apple.com Glenn Amerine glenn@pie.mhsc.org Gord Matzigkeit gord@gnu.ai.mit.edu Gordon Sadler gbsadler1@lcisp.com +Graham Reitz grahamreitz@me.com Greg A. Woods woods@most.weird.com Greg Schafer gschafer@zip.com.au Guido Draheim guidod@gmx.de diff --git a/aclocal.in b/aclocal.in index 11bb9ee3d..394aeaec0 100644 --- a/aclocal.in +++ b/aclocal.in @@ -662,7 +662,7 @@ sub trace_used_macros () my %files = map { $map{$_} => 1 } keys %macro_seen; %files = strip_redundant_includes %files; - my $traces = ($ENV{AUTOM4TE} || 'autom4te'); + my $traces = ($ENV{AUTOM4TE} || '@am_AUTOM4TE@'); $traces .= " --language Autoconf-without-aclocal-m4 "; # All candidate files. $traces .= join (' ', diff --git a/automake.in b/automake.in index a1c6f3046..3d6993a09 100644 --- a/automake.in +++ b/automake.in @@ -5313,7 +5313,7 @@ sub scan_autoconf_traces ($) sinclude => 1, ); - my $traces = ($ENV{AUTOCONF} || 'autoconf') . " "; + my $traces = ($ENV{AUTOCONF} || '@am_AUTOCONF@') . " "; # Use a separator unlikely to be used, not `:', the default, which # has a precise meaning for AC_CONFIG_FILES and so on. @@ -605,7 +605,10 @@ am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM +am_AUTOUPDATE am_AUTOHEADER +am_AUTORECONF +am_AUTOM4TE am_AUTOCONF build_os build_vendor @@ -1784,11 +1787,18 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac # Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this # way we can run Autoconf tests from configure (or from the test -# suite) without being bothered by `missing'. Likewise for autoheader. +# suite) without being bothered by `missing'. Likewise for autom4te, +# autoreconf, autoheader, and autoupdate. am_AUTOCONF="${AUTOCONF-autoconf}" +am_AUTOM4TE="${AUTOM4TE-autom4te}" + +am_AUTORECONF="${AUTORECONF-autoreconf}" + am_AUTOHEADER="${AUTOHEADER-autoheader}" +am_AUTOUPDATE="${AUTOUPDATE-autoupdate}" + am__api_version='1.11a' diff --git a/configure.ac b/configure.ac index 577541cb4..437ce9f67 100644 --- a/configure.ac +++ b/configure.ac @@ -28,9 +28,13 @@ AC_CANONICAL_BUILD # Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this # way we can run Autoconf tests from configure (or from the test -# suite) without being bothered by `missing'. Likewise for autoheader. +# suite) without being bothered by `missing'. Likewise for autom4te, +# autoreconf, autoheader, and autoupdate. AC_SUBST([am_AUTOCONF], ["${AUTOCONF-autoconf}"]) +AC_SUBST([am_AUTOM4TE], ["${AUTOM4TE-autom4te}"]) +AC_SUBST([am_AUTORECONF], ["${AUTORECONF-autoreconf}"]) AC_SUBST([am_AUTOHEADER], ["${AUTOHEADER-autoheader}"]) +AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"]) AM_INIT_AUTOMAKE([1.10a dist-bzip2 filename-length-max=99 color-tests parallel-tests silent-rules]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 01cf66306..ae4016cf5 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -73,8 +73,14 @@ $(srcdir)/amhello-1.0.tar.gz: $(amhello_sources) $(top_srcdir)/configure.ac $(AM_V_GEN)PATH="`pwd`/../tests$(PATH_SEPARATOR)$$PATH" && \ export PATH && \ cd $(srcdir)/amhello && \ - ACLOCAL=aclocal-$(APIVERSION) AUTOMAKE=automake-$(APIVERSION) \ - autoreconf -vfi && \ + ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL && \ + AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE && \ + AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF && \ + AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE && \ + AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF && \ + AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER && \ + AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE && \ + $(am_AUTORECONF) -vfi && \ ./configure && \ $(MAKE) $(AM_MAKEFLAGS) distcheck && \ $(MAKE) $(AM_MAKEFLAGS) distclean && \ diff --git a/doc/Makefile.in b/doc/Makefile.in index 7bc40a694..ff0162551 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -189,6 +189,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ @@ -860,8 +863,14 @@ $(srcdir)/amhello-1.0.tar.gz: $(amhello_sources) $(top_srcdir)/configure.ac $(AM_V_GEN)PATH="`pwd`/../tests$(PATH_SEPARATOR)$$PATH" && \ export PATH && \ cd $(srcdir)/amhello && \ - ACLOCAL=aclocal-$(APIVERSION) AUTOMAKE=automake-$(APIVERSION) \ - autoreconf -vfi && \ + ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL && \ + AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE && \ + AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF && \ + AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE && \ + AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF && \ + AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER && \ + AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE && \ + $(am_AUTORECONF) -vfi && \ ./configure && \ $(MAKE) $(AM_MAKEFLAGS) distcheck && \ $(MAKE) $(AM_MAKEFLAGS) distclean && \ diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in index 20b19572b..8719084de 100644 --- a/lib/Automake/Makefile.in +++ b/lib/Automake/Makefile.in @@ -188,6 +188,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in index 4eb7c6ab0..32741220e 100644 --- a/lib/Automake/tests/Makefile.in +++ b/lib/Automake/tests/Makefile.in @@ -236,6 +236,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/lib/Makefile.in b/lib/Makefile.in index 9195976e9..91e9baef9 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -191,6 +191,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/lib/am/Makefile.in b/lib/am/Makefile.in index 059ae97c4..674d4bf95 100644 --- a/lib/am/Makefile.in +++ b/lib/am/Makefile.in @@ -148,6 +148,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/m4/Makefile.in b/m4/Makefile.in index e50884800..679930b54 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -148,6 +148,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/tests/Makefile.in b/tests/Makefile.in index d0430bf19..44f8c9744 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -243,6 +243,9 @@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am_AUTOCONF = @am_AUTOCONF@ am_AUTOHEADER = @am_AUTOHEADER@ +am_AUTOM4TE = @am_AUTOM4TE@ +am_AUTORECONF = @am_AUTORECONF@ +am_AUTOUPDATE = @am_AUTOUPDATE@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ diff --git a/tests/README b/tests/README index 29c964b6b..4d5288e43 100644 --- a/tests/README +++ b/tests/README @@ -204,11 +204,11 @@ Do not here.) Do not override Makefile variables using make arguments, as in e.g.: - $MAKE DESTDIR=/foo/bar install + $MAKE prefix=/opt install This is not portable for recursive targets (targets that call a - sub-make may not pass `DESTDIR=/foo/bar' along). Use the following + sub-make may not pass `prefix=/opt' along). Use the following instead: - DESTDIR=/foo/bar $MAKE -e install + prefix=/opt $MAKE -e install Do not send a test case without signing a copyright disclaimer. See http://sources.redhat.com/automake/contribute.html or diff --git a/tests/defs-static.in b/tests/defs-static.in index 45f08bfa8..6d829560a 100644 --- a/tests/defs-static.in +++ b/tests/defs-static.in @@ -89,8 +89,10 @@ SHELL='@SHELL@'; export SHELL test -z "$PERL" && PERL='@PERL@' test -z "$MAKE" && MAKE=make test -z "$AUTOCONF" && AUTOCONF="@am_AUTOCONF@" +test -z "$AUTOM4TE" && AUTOM4TE="@am_AUTOM4TE@" +test -z "$AUTORECONF" && AUTORECONF="@am_AUTORECONF@" test -z "$AUTOHEADER" && AUTOHEADER="@am_AUTOHEADER@" -test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate +test -z "$AUTOUPDATE" && AUTOUPDATE="@am_AUTOUPDATE@" test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing # Use -Werror because this also turns some Perl warnings into error. |