summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2011-05-31 18:07:56 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2011-05-31 18:07:56 +0200
commit0a73aff7c63518d30b87ed36596c6f25afc01aaa (patch)
treecb6a421008ab3355834fea10168d6ca4288dddec
parente5699648000facb8138b594fe271fbb27296fb72 (diff)
parent3eb059190213c60a9f201f671f1c69d6eed6bd7d (diff)
downloadautomake-0a73aff7c63518d30b87ed36596c6f25afc01aaa.tar.gz
Merge branch 'master' into testsuite-work
* master: automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too tests/README: fix example about `make -e' usage
-rw-r--r--ChangeLog50
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in5
-rw-r--r--NEWS4
-rw-r--r--THANKS1
-rw-r--r--aclocal.in2
-rw-r--r--automake.in2
-rwxr-xr-xconfigure12
-rw-r--r--configure.ac6
-rw-r--r--doc/Makefile.am10
-rw-r--r--doc/Makefile.in13
-rw-r--r--lib/Automake/Makefile.in3
-rw-r--r--lib/Automake/tests/Makefile.in3
-rw-r--r--lib/Makefile.in3
-rw-r--r--lib/am/Makefile.in3
-rw-r--r--m4/Makefile.in3
-rw-r--r--tests/Makefile.in3
-rw-r--r--tests/README6
-rw-r--r--tests/defs-static.in4
19 files changed, 123 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 08ae5da89..281afa214 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,55 @@
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-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+
tests: don't require gfortran if any fortran compiler is enough
* tests/silentf90.test ($required): Require `fortran', not
`gfortran'.
diff --git a/Makefile.am b/Makefile.am
index 9f9810631..2d4d4436d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -78,6 +78,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 951429180..1a179ab42 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -205,6 +205,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@
@@ -277,6 +280,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 df4179b25..3c8f8ce29 100644
--- a/NEWS
+++ b/NEWS
@@ -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:
diff --git a/THANKS b/THANKS
index 96d215e60..0f4499dcd 100644
--- a/THANKS
+++ b/THANKS
@@ -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.
diff --git a/configure b/configure
index 723491cf1..499015d83 100755
--- a/configure
+++ b/configure
@@ -605,7 +605,10 @@ am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
+am_AUTOUPDATE
am_AUTOHEADER
+am_AUTORECONF
+am_AUTOM4TE
am_AUTOCONF
host_os
host_vendor
@@ -1823,11 +1826,18 @@ case $host_os in *\ *) host_os=`echo "$host_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 b6a5586d6..cf3df4d6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,9 +30,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 193c9fedc..1e539707d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -190,6 +190,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@
@@ -865,8 +868,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 93cbf395b..76c82df6a 100644
--- a/lib/Automake/Makefile.in
+++ b/lib/Automake/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@
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 8ade0334c..fa58350a4 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -239,6 +239,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 1f6e5e549..737be4a33 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -192,6 +192,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 e4b0ec28c..35e5471f3 100644
--- a/lib/am/Makefile.in
+++ b/lib/am/Makefile.in
@@ -149,6 +149,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 b876b3d2c..2b3b06a31 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -149,6 +149,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 840e4f077..e9f49bb7b 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -250,6 +250,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 2db4e2256..d74a72512 100644
--- a/tests/README
+++ b/tests/README
@@ -228,11 +228,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 8f64dc624..53d9f9354 100644
--- a/tests/defs-static.in
+++ b/tests/defs-static.in
@@ -96,8 +96,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.