Re: [PATCH 1/4] Document new hard requirement on GNU make

Pedro Alves
2016-11-16T23:34:56Z

On 11/16/2016 10:04 PM, Simon Marchi wrote:
> On 2016-11-16 12:23, Eli Zaretskii wrote:
>>> With make >= 3.82, it would do the right thing (choose the second one),
>>> by choosing the rule with the shorter stem. Before that, it used the
>>> order of definition (the first that matches wins). So it would be nice
>>> for that reason to require >= 3.82, but it's also possible to work
>>> around if that's too recent.
>>
>> 3.82 shouldn't be a problem, I think.
>
> Oops, I said that without even checking the version I have on my system.
> Ubuntu 14.04, strangely, has make 3.81. Apparently that was because of
> a critical bug on Debian with 3.82, which stayed open for a long time,
> preventing the upgrade. Debian and its derivatives, including Ubuntu,
> were stuck with that for a long time.
>
> Refs:
> http://stackoverflow.com/questions/31912233/how-to-update-make-3-81-linux
> https://lwn.net/Articles/569920/
>
> I don't think it's worth complicating the lives of those users just to
> get the benefit of the behaviour change I mentioned.
>
> So I'm back at having no idea what version we should require.

I think we should go with the same requirement as gcc (3.80), as
seen on the top level Makefile.in:

@if gcc
ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never
empty.
$(error GNU make version 3.80 or newer is required.)
endif
@endif gcc

... and listed on their prerequisites page:

https://gcc.gnu.org/install/prerequisites.html

(I'd be very nice to have a page like that for gdb. Currently
we're not very organized wrt to prerequisite tracking.)

Thanks,
Pedro Alves