Do not use $(V) - force AM_V=1
authorMirko Vogt <mirko@openwrt.org>
Thu, 12 Mar 2015 00:39:48 +0000 (00:39 +0000)
committerMirko Vogt <mirko@openwrt.org>
Thu, 12 Mar 2015 00:39:48 +0000 (00:39 +0000)
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

tools/automake/patches/200-do-not-override-silent-rules.patch [new file with mode: 0644]

diff --git a/tools/automake/patches/200-do-not-override-silent-rules.patch b/tools/automake/patches/200-do-not-override-silent-rules.patch
new file mode 100644 (file)
index 0000000..e8ba8c5
--- /dev/null
@@ -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)'