Subject: Re: bug#10234: Coreutils incompatibility with POSIX make

From: Jim Meyering <[email-masked]>
Date: Tue, 06 Dec 2011 18:36:09 +0100

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'.
>
> The following patch should fix things for you; could you please
> give it a try?  You'll need to run 'automake' etc. afterwards --
> if you lack the autotools on NonStop you can run them on a Linux
> box, copy the results to NonStop, and then run 'configure' on NonStop.
>
> =====
>
> build: disable silent-rules
> * configure.ac (AM_SILENT_RULES): Remove.  This option generates
> makefiles that are incompatible with POSIX make, and which do not
> work on NonStop.  Problem reported by Basavaraj B.
> diff --git a/configure.ac b/configure.ac
> index 9ca2ce4..f65fb81 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -33,7 +33,6 @@ AC_CONFIG_AUX_DIR([build-aux])
>  AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
>
>  AM_INIT_AUTOMAKE([1.11.1 no-dist-gzip dist-xz color-tests parallel-tests])
> -AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.

Hi Paul,

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.

I similar feelings about the recent \#-related change, since
it obfuscates our Makefile.am files, but obviously the impact
there is negligible, so that change is acceptable.