Do not use $(V) - force AM_V=1

Projects using silent-rules might otherwise fail to compile.

This is due to the following resulting Makefile code:

AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :

Automake directly uses $(V) for variable name expansion
which fails if $(V) is set to sth. else other than '0' or '1'.

This patch forces automake to not take $(V) into account
but to always use the default config for verbosity.

A better approach would be to actually take $(V) into account,
however not just pass it through (AM_V='$(V)') but
set AM_V to 0 if $V=0 / unset and to 1 otherwise.

This plan however is foiled due to my frustration about
automake as well as my lack of m4 skills.

automake bug report: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20077

Signed-off-by: Mirko Vogt <mirko@openwrt.org>

SVN-Revision: 44684
This commit is contained in:
Mirko Vogt 2015-03-12 00:39:48 +00:00
parent 0d1e13f27b
commit 43365ca662

View File

@ -0,0 +1,13 @@
diff -ruN automake-1.15/m4/silent.m4 automake-1.15.mod/m4/silent.m4
--- automake-1.15/m4/silent.m4 2014-12-30 22:53:05.000000000 +0100
+++ automake-1.15.mod/m4/silent.m4 2015-03-11 12:00:26.280586399 +0100
@@ -41,7 +41,8 @@
else
am_cv_make_support_nested_variables=no
fi])
-if test $am_cv_make_support_nested_variables = yes; then
+#if test $am_cv_make_support_nested_variables = yes; then
+if false; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'