automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 29 May 2011 08:42:00 +0000 (10:42 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 30 May 2011 21:51:35 +0000 (23:51 +0200)
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.

ChangeLog
Makefile.am
Makefile.in
NEWS
THANKS
aclocal.in
automake.in

index dd6f572..cd0f593 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,26 @@
 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.
index 6e8b7df..195927c 100644 (file)
@@ -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'
index dfb9e73..326530a 100644 (file)
@@ -264,6 +264,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/NEWS b/NEWS
index c8219bd..b7f9b54 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -61,6 +61,10 @@ Bugs fixed in 1.11.0a:
 
   - 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.
 \f
 New in 1.11:
 
diff --git a/THANKS b/THANKS
index 593ebc5..16a1ef8 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -117,6 +117,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
index 2210fe3..4b63c1a 100644 (file)
@@ -663,7 +663,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 (' ',
index a8ec749..2669418 100755 (executable)
@@ -5281,7 +5281,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.