help-smalltalk
[Top][All Lists]
Advanced

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

[Help-smalltalk] [PATCH] build: support and require Automake-NG (was: Re


From: Stefano Lattarini
Subject: [Help-smalltalk] [PATCH] build: support and require Automake-NG (was: Re: [PATCH 0/5] build: refactoring and preparations for Automake-NG)
Date: Tue, 21 Aug 2012 11:22:29 +0200

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: <address@hidden>
From: Stefano Lattarini <address@hidden>
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 <address@hidden>
---
 .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  <address@hidden>

+       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  <address@hidden>
+
        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, address@hidden, smalltalk,
         [http://smalltalk.gnu.org/])
 MAINTAINER="address@hidden"
@@ -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



reply via email to

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