Subject: bug#10234: Coreutils incompatibility with POSIX make

From: Eric Blake <[email-masked]>
Date: Tue, 06 Dec 2011 10:41:28 -0700

On 12/06/2011 10:36 AM, Jim Meyering wrote:
> Paul Eggert wrote:
>> [This is a followon to Bug#10220, but it's a separate issue,
>> so I'm opening up a new bug report.]
>>
>> On 12/06/11 01:11, Basavaraj B wrote:
>>
>>> )rm -f alloca.h-t alloca.h &&  { echo '/* DO NOT EDIT! GENERATED
>>> AUTOMATICALLY! */';  cat ./alloca.in.h;  } > alloca.h-h
>>> /bin/sh: syntax error at line 1 : `)' unexpected
>>> *** Error code 2
>>
>> Ouch.  Coreutils is built with Automake's silent-rules feature,
>> and as I just now discovered, that feature is documented to not
>> be portable to POSIX make.  NonStop make conforms to POSIX in
>> this area but disagrees with GNU make.  The simplest fix is to
>> disable the silent-rules feature; it doesn't suffice to run
>> 'configure --disable-silent-rules'.

> 
> IMO, nonstop is a fringe target, so I am very reluctant to
> sacrifice the above default solely to accommodate that system.
> I would rather simply encourage people using that system to
> install and use GNU make.

That, and POSIX is considering standardizing make behavior of nested
variable expansion (supported by GNU make, BSD make, SunPro make, and
several other make flavors), at which point nonstop make would be the
odd man out and would need to be updated to comply with the new
standards.  Under the proposal, automake's usage for silent rules will
then be compliant to POSIX:

http://austingroupbugs.net/view.php?id=336

-- 
Eric Blake   [email-masked]    +1-919-301-3266
Libvirt virtualization library http://libvirt.org