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
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.
This bug report was last modified 13 years and 146 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.