diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-05-28 15:13:46 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-05-28 15:56:05 +0200 |
commit | dd78a5e81de220e7030c5c6be4162bab2f0cf4c7 (patch) | |
tree | 8be75ade66d2bb2a7262ff70172e346d3159b7c8 | |
parent | 3fd6f1648b4bb773a3d7036e9409e4920349e213 (diff) | |
download | automake-dd78a5e81de220e7030c5c6be4162bab2f0cf4c7.tar.gz |
maint: install minimal supported autoconf through convenience targets
To make testing of Automake in conjunction with it easier and more
reproducible. It might be nice to also have convenience targets to
actually automatically run the Automake testsuite with such autoconf
version, but that is left to later patches.
* configure.ac: AC_SUBST the definition of $required_autoconf_version.
* maint.mk (WGET): Move definition earlier.
(gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables.
(fetch-minimal-autoconf, build-minimal-autoconf): New convenience
targets.
* .gitignore: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | maint.mk | 50 |
3 files changed, 50 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore index a32310e70..2cd6bd342 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ /announcement +/maintainer/autoconf-*/ +/maintainer/autoconf-*.tar.gz /ChangeLog /aclocal.m4 /configure diff --git a/configure.ac b/configure.ac index 732183f64..bdc39077c 100644 --- a/configure.ac +++ b/configure.ac @@ -139,7 +139,7 @@ AC_CHECK_PROGS([LEX], [lex flex], [false]) # following tests, but some users were unable to figure out that their # installation was broken since --version appeared to work. -required_autoconf_version=2.65 +AC_SUBST([required_autoconf_version], [2.65]) AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed], [if AM_RUN_LOG([$am_AUTOCONF --version]); then @@ -18,6 +18,9 @@ # Avoid CDPATH issues. unexport CDPATH +# Program to use to fetch files from the Net. +WGET = wget + # --------------------------------------------------------- # # Automatic generation of the ChangeLog from git history. # # --------------------------------------------------------- # @@ -303,9 +306,6 @@ CLEANFILES += announcement # Synchronize third-party files that are committed in our repository. # # --------------------------------------------------------------------- # -# Program to use to fetch files. -WGET = wget - # Git repositories on Savannah. git-sv-host = git.savannah.gnu.org @@ -473,6 +473,50 @@ update-copyright: | grep -Ev "^($$excluded_re)$$" \ | $(update_copyright_env) xargs $(srcdir)/lib/$@ +# -------------------------------------------------------------- # +# Run the testsuite with the least supported autoconf version. # +# -------------------------------------------------------------- # + +gnu-ftp = http://ftp.gnu.org/gnu + +# Various shorthands: version, name, package name, tarball name, +# tarball location, installation directory. +ac-v = $(required_autoconf_version) +ac-n = autoconf +ac-p = $(ac-n)-$(ac-v) +ac-t = $(ac-p).tar.gz +ac-l = maintainer/$(ac-t) +ac-d = maintainer/$(ac-p) + +fetch-minimal-autoconf: o = $(ac-l) +fetch-minimal-autoconf: + $(AM_V_at)$(MKDIR_P) $(dir $o) + $(AM_V_at)rm -f $o $o-t + $(AM_V_GEN)$(WGET) -O $o-t $(gnu-ftp)/$(ac-n)/$(ac-t) + $(AM_V_at)chmod a-w $o-t && mv -f $o-t $o && ls -l $o +.PHONY: fetch-minimal-autoconf + +build-minimal-autoconf: + $(AM_V_GEN):; \ + test -f $(ac-l) || { \ + echo "$@: tarball $(ac-l) seems missing." >&2; \ + echo "$@: have you run '$(MAKE) fetch-minimal-autoconf'?" >&2; \ + exit 1; \ + }; \ + set -x \ + && $(PERL) $(srcdir)/t/ax/deltree.pl $(ac-d) \ + && $(MKDIR_P) $(ac-d) \ + && cd $(ac-d) \ + && tar xzf '$(CURDIR)/$(ac-l)' \ + && mv $(ac-p) src \ + && mkdir build \ + && cd build \ + && env CONFIG_SHELL='$(SHELL)' $(SHELL) ../src/configure \ + --prefix='$(CURDIR)/$(ac-d)' CONFIG_SHELL='$(SHELL)' \ + && $(MAKE) install + $(AM_V_at)echo ' ======' && $(ac-d)/bin/autoconf --version +.PHONY: build-minimal-autoconf + # --------------------------------------------------------------- # # Testing on real-world packages can help us avoid regressions. # # --------------------------------------------------------------- # |