automake-ng
[Top][All Lists]
Advanced

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

Re: [Automake-NG] Can we require GNU make >= 3.81? (make memoization doe


From: Stefano Lattarini
Subject: Re: [Automake-NG] Can we require GNU make >= 3.81? (make memoization doesn't work with GNU make 3.80)
Date: Mon, 21 May 2012 09:55:46 +0200

On 05/20/2012 08:03 PM, Jim Meyering wrote:
>
> I like the idea of depending on reasonably up-to-date make, too, since it
> helps the tool work better and makes it more maintainable.  The trouble
> is that it would limit the acceptance/use of automake-ng.  Is the .ONESHELL
> feature worth limiting portability that much?  I don't know.
>
I think not.  My impression is that GNU make 3.81 is good enough.  Let's
go for it then.  I will push the patch below in few hours if there is no
objection.

Regards,
  Stefano

>From 9b00e72a6b28c9a148b5d9de4a753f3f003b1a03 Mon Sep 17 00:00:00 2001
Message-Id: <address@hidden>
From: Stefano Lattarini <address@hidden>
Date: Mon, 21 May 2012 09:50:22 +0200
Subject: [PATCH] requirements: require GNU make >= 3.81

Our implementation of make variables memoization doesn't work GNU make
3.80.  Since GNU make 3.81 has been released by more than six years now,
we require it as the minimal supported version, to avoid wasting efforts
on older versions used only by a vanishingly small percentage of the user
base.

See: <http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00102.html>

* NG-NEWS: Update.
* lib/am/header-vars.am: Error out if the .FEATURES special variable
(introduced only in GNU make 3.81) is not defined.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 lib/am/header-vars.am |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 10ff773..5cd86f6 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -16,6 +16,13 @@

 VPATH = @srcdir@

+## Makefiles generated by Automake-NG require GNU make >= 3.81.
+## The .FEATURES special variable has been introduced in that make
+## version, so use it as a witness to determine whether the current
+## make is good enough.
+$(if $(.FEATURES),, \
+  $(error Automake-NG based builds require GNU make 3.81 or later))
+
 ## The 'all' target must be the default one, independently from the
 ## position it is declared in the output Makefile.
 .DEFAULT_GOAL := all
-- 
1.7.9.5



reply via email to

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