On 08/21/2012 11:02 AM, Stefano Lattarini wrote: > On 08/21/2012 08:37 AM, Paolo Bonzini wrote: >> Il 20/08/2012 21:56, Stefano Lattarini ha scritto: >>> After these changes, the Smalltalk build system still works with >>> mainline Automake (and only with it), but will be much easier to >>> modify to convert it to Automake-NG. >> >> Can you send a "patch 6" with the remaining changes? >> > First of all, there still a stray use of '$(INCLUDES)' that I missed to > convert in my earlier patches. The patch below takes care of that. > > [SNIP] > And here is the patch that converts Smalltalk to Automake-NG, finally:
-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----- >From 5c4521e51cf21f361d3500e32b6c17c565aca3b1 Mon Sep 17 00:00:00 2001 Message-Id: <5c4521e51cf21f361d3500e32b6c17c565aca3b1.1345540853.git.stefano.lattar...@gmail.com> From: Stefano Lattarini <[email protected]> Date: Tue, 21 Aug 2012 10:13:26 +0200 Subject: [PATCH] build: support and require Automake-NG * configure.ac (AC_PREREQ): Require Autoconf version >= 2.65, since that is the minimal version supported by Automake-NG. (AC_SUBST): Define AM_VARTYPOS_WHITELIST to "LIBFFI_EXECUTABLE_LDFLAGS RELOC_LDFLAGS". This is required because Automake-NG is stricter than mainline Automake in its make runtime checks on possible typos in variables like 'foo_SOURCES' and 'bar_LDADD', and that was causing a spurious failure in the GNU Smalltalk build system. * Makefile.am (AUTOMAKE_OPTIONS): Add the 'ng' option, to ensure that mainstream Automake is not used by mistake when bootstrapping. Also, bump the required Automake version from '1.11.1' to '1.12a', which is the latest (and still development-only) version of Automake-NG at the moment of writing. Drop the 'dist-xz' option, that is not supported anymore. The same effect is now obtained ... (AM_DIST_FORMATS): ... defining this to "gzip xz". * .gitignore: Ignore all the '.am/' directories everywhere; it's used internally by some Automake-NG generated rules. * build-aux/.gitignore: Ignore the 'am-ng/' directory; it's used by Automake-NG to install makefile fragments used by its generated Makefiles. Signed-off-by: Stefano Lattarini <[email protected]> --- .gitignore | 1 + ChangeLog | 24 ++++++++++++++++++++++++ Makefile.am | 3 ++- build-aux/.gitignore | 1 + configure.ac | 6 +++++- 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 504cfce..a92d716 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *.lo *.o *.star +.am/ .svn .deps .dirstamp diff --git a/ChangeLog b/ChangeLog index 4ad1f6a..8b8f79f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,29 @@ 2012-08-21 Stefano Lattarini <[email protected]> + build: support and require Automake-NG + + * configure.ac (AC_PREREQ): Require Autoconf version >= 2.65, + since that is the minimal version supported by Automake-NG. + (AC_SUBST): Define AM_VARTYPOS_WHITELIST to "LIBFFI_EXECUTABLE_LDFLAGS + RELOC_LDFLAGS". This is required because Automake-NG is stricter than + mainline Automake in its make runtime checks on possible typos in + variables like 'foo_SOURCES' and 'bar_LDADD', and that was causing a + spurious failure in the GNU Smalltalk build system. + * Makefile.am (AUTOMAKE_OPTIONS): Add the 'ng' option, to ensure that + mainstream Automake is not used by mistake when bootstrapping. Also, + bump the required Automake version from '1.11.1' to '1.12a', which is + the latest (and still development-only) version of Automake-NG at the + moment of writing. Drop the 'dist-xz' option, that is not supported + anymore. The same effect is now obtained ... + (AM_DIST_FORMATS): ... defining this to "gzip xz". + * .gitignore: Ignore all the '.am/' directories everywhere; it's + used internally by some Automake-NG generated rules. + * build-aux/.gitignore: Ignore the 'am-ng/' directory; it's used by + Automake-NG to install makefile fragments used by its generated + Makefiles. + +2012-08-21 Stefano Lattarini <[email protected]> + build: once more, use $(AM_CPPFLAGS), not $(INCLUDES) The latter is a long-deprecated and obsolescent alias for the former. diff --git a/Makefile.am b/Makefile.am index 732a72c..8159dd1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,7 +16,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Automake requirements -AUTOMAKE_OPTIONS = gnu 1.11 dist-xz +AUTOMAKE_OPTIONS = ng gnu 1.12a +AM_DIST_FORMATS = gzip xz ACLOCAL_AMFLAGS = -I build-aux PACKAGE=smalltalk diff --git a/build-aux/.gitignore b/build-aux/.gitignore index d79bca9..df920ab 100644 --- a/build-aux/.gitignore +++ b/build-aux/.gitignore @@ -1,3 +1,4 @@ +am-ng/ compile config.guess config.sub diff --git a/configure.ac b/configure.ac index c040d4c..d509670 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ dnl with this software. dnl Process this file with autoconf to produce a configure script. dnl 2.63 needed by testsuite, actually -AC_PREREQ(2.63) +AC_PREREQ(2.65) AC_INIT([GNU Smalltalk], 3.2.90, [email protected], smalltalk, [http://smalltalk.gnu.org/]) MAINTAINER="[email protected]" @@ -24,6 +24,10 @@ GST_PROG_GAWK AM_INIT_AUTOMAKE AC_CANONICAL_HOST +# Avoid spurious failures with Automake-NG. +AC_SUBST([AM_VARTYPOS_WHITELIST], + ['RELOC_LDFLAGS LIBFFI_EXECUTABLE_LDFLAGS']) + if test -d $srcdir/.git; then GIT_REVISION=-`git rev-parse --short HEAD 2>/dev/null || echo git` else -- 1.7.12 _______________________________________________ help-smalltalk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-smalltalk
