Subject: Re: bug#10237: AM_SILENT_RULES does not work with NonStop make

From: Stefano Lattarini <[email-masked]>
Date: Tue, 6 Dec 2011 19:19:36 +0100

tags 10237 wontfix
close 10237
thanks

Hi Paul, thanks for the report.

On Tuesday 06 December 2011, Paul Eggert wrote:
> If AM_SILENT_RULES is used, Automake generates Makefile.in
> files with lines like this:
> 
>   AM_V_CC = $(am__v_CC_$(V))
>   am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
> 
> and these are copied into Makefile unchanged.  Unfortunately, as
> the Automake documentation notes, these lines do not conform to
> the POSIX rules for 'make', and as a result packages like
> Coreutils that use AM_SILENT_RULES won't build on machines whose
> 'make' implementations conform to POSIX but disagree with GNU make
> in this area.  This is a problem with the current release of
> Coreutils, which doesn't build on HP's NonStop OS (see Bug#10234).
>
> [SNIP]
>
I'm extremely reluctant to add yet more complexity to automake to
accomodate this very fringe case, especially considering the fact
that all non-museum make implementations that Automake is usually
tested with ({Free,Net,Open}BSD, Solaris CCS and XPG4, IRIX, AIX,
HP-UX, Tru64/OSF) support the nested-macro-expansion feature (which
will also very likely be in the next POSIX standard, if I'm not
mistaken).  If GNU make builds without problem on NonStop OS (which
I believe it does), then I'd simply advise the NonStop users to
install it and live happily.

Speaking more generally, I believe that the right thing to do to
avoid similar problems in the future is to amend the common INSTALL
files that comes with many GNU packages, to have it report a list of
known "broken" and/or "problematic" make implementation, telling the
user that they might not be usable to build the package and advising
him to get GNU make instead.

Give the above, I've closed this bug report.  But of course, feel
free to continue the discussion here if you have something to add.

Regards,
  Stefano