GNU bug report logs -
#10237
AM_SILENT_RULES does not work with NonStop make
Previous Next
Reported by: Paul Eggert <eggert <at> cs.ucla.edu>
Date: Tue, 6 Dec 2011 17:53:02 UTC
Severity: minor
Tags: patch
Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 30 Dec 2011 13:50:04 +0100
with message-id <4EFDB37C.80106 <at> gmail.com>
and subject line Re: bug#10237: bug#9928: AM_SILENT_RULES does not work with NonStop make
has caused the debbugs.gnu.org bug report #10237,
regarding AM_SILENT_RULES does not work with NonStop make
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
10237: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10237
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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).
The simplest fix for Coreutils is to not use AM_SILENT_RULES but
that defeats the purpose of the Automake feature. How about the
following idea instead? Automake could put something like the
following into Makefile.in:
AM_V_CC = $(am__v_CC_ <at> AM_V@)
am__v_CC_ = $(am__v_CC_ <at> AM_DEFAULT_VERBOSITY@)
and then Automake can do something like this:
if make supports $(...$(...)); then
AM_V='$(V)'
AM_DEFAULT_VERBOSITY='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=1
AM_DEFAULT_VERBOSITY=1
fi
AC_SUBST([AM_V])
AC_SUBST([AM_DEFAULT_VERBOSITY])
That way, Coreutils could continue to use AM_SILENT_RULES, and
these rules would work as usual on most hosts that use GNU
make-ish syntax in this area, but the rules wouldn't break on
hosts that support POSIX but not GNU make.
This idea should also fix Bug#9928 (in a different way from
what's proposed there), so I'll CC: its reporter.
[Message part 3 (message/rfc822, inline)]
On 12/28/2011 09:19 PM, Stefano Lattarini wrote:
>
> I did some testing on Debian unstable, Solaris 10, NetBSD 5.1 and Cygwin 1.5 (in
> part by running the relevant test cases from the automake testsuite, in part
> trying out the build system of GNU coreutils). Everything seems fine so far.
> I want to do some small improvements to the documentation, then I say we are
> ready to merge the 'silent-fixes' branch into maint.
>
I've just re-read Paul's changes to the manual, and on a second thought, I think
they are definitely good enough as they are. I've thus merged the 'silent-fixes'
branch into maint, and pushed. I'm thus closing the bugs #9928 and #10237.
Thanks,
Stefano
This bug report was last modified 13 years and 145 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.