automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] {micro} maint: install minimal supported autoconf through conven


From: Stefano Lattarini
Subject: [PATCH] {micro} maint: install minimal supported autoconf through convenience targets
Date: Tue, 28 May 2013 15:30:28 +0200

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 <address@hidden>
---
 .gitignore   |  2 ++
 configure.ac |  2 +-
 maint.mk     | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index a32310e..2cd6bd3 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 732183f..bdc3907 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
diff --git a/maint.mk b/maint.mk
index 8b72639..4d777e3 100644
--- a/maint.mk
+++ b/maint.mk
@@ -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.  #
 # --------------------------------------------------------------- #
-- 
1.8.3.rc3.8.g5e49f30




reply via email to

[Prev in Thread] Current Thread [Next in Thread]