Re: [PATCH 37/50] tools/perf/build: Improve printout-ofauto-detected features

From: Jiri Olsa
Date: Tue Oct 08 2013 - 11:51:31 EST


On Tue, Oct 08, 2013 at 10:46:10AM +0200, Ingo Molnar wrote:

SNIP

> So, this is a bit of a GNU Make mystery to me. If I have a failure for at
> least one of the features, and if I leave out that DUMMY then I get this
> printout:
>
> ... libperl: [ OFF ]
> ... libpython: [ on ]
> ... libpython-version: [ on ]
> ... libslang: [ on ]
> ... libunwind: [ on ]
> ... on-exit: [ on ]
> ... stackprotector: [ on ]
> ... stackprotector-all: [ on ]
>
> GEN python/perf.so
>
> Note how the last entry is missing: volatile-register-var.
>
> If I add the DUMMY I get the full printout:
>
> ... libperl: [ OFF ]
> ... libpython: [ on ]
> ... libpython-version: [ on ]
> ... libslang: [ on ]
> ... libunwind: [ on ]
> ... on-exit: [ on ]
> ... stackprotector: [ on ]
> ... stackprotector-all: [ on ]
> ... volatile-register-var: [ on ]
>
> GEN python/perf.so
>
> Somehow GNU Make appears to be eating terminal ouput - or I might have
> misunderstood something.
>
> I hope it's the latter - but if it's the former then the DUMMY entry is
> needed :-/
>
> Thanks,
>
> Ingo

I think the issue might be in the eval handling the $(info $(MSG)).
With following change on top of your v2 patchset it works for me.

jirka
---
tools/perf/config/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index c98ca34..43905fe 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -180,21 +180,21 @@ endif
#
# Print the result of the feature test:
#
-feature_print = $(eval $(feature_print_code))
+feature_print = $(eval $(feature_print_code)) $(info $(MSG))
+
define feature_print_code
ifeq ($(feature-$(1)), 1)
MSG = $(shell printf '...%30s: [ \033[32mon\033[m ]' $(1))
else
MSG = $(shell printf '...%30s: [ \033[31mOFF\033[m ]' $(1))
endif
- $(info $(MSG))
endef

#
# Only print out our features if we rebuilt the testcases or if a test failed:
#
ifeq ($(test-all-failed), 1)
- $(foreach feat,$(CORE_FEATURE_TESTS) DUMMY,$(call feature_print,$(feat)))
+ $(foreach feat,$(CORE_FEATURE_TESTS),$(call feature_print,$(feat)))
$(info )
endif

--
1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/