[PATCH] tools build: Output more data during feature detection

From: Wang Nan
Date: Fri Dec 18 2015 - 05:57:25 EST


Even with current '.make.output' finding the root cause for missing
feature is not enough. This patch adds extra information to
.make.output. It also creates a .make.makeoutput to collect output of
'make'.

Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
Cc: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/build/Makefile.feature | 4 ++--
tools/build/feature/Makefile | 7 ++++++-
2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index 6c0519d..84927df 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -1,13 +1,13 @@
feature_dir := $(srctree)/tools/build/feature

ifneq ($(OUTPUT),)
- OUTPUT_FEATURES = $(OUTPUT)feature/
+ OUTPUT_FEATURES = $(OUTPUT)feature$(FEATURE_USER)/
$(shell mkdir -p $(OUTPUT_FEATURES))
endif

feature_check = $(eval $(feature_check_code))
define feature_check_code
- feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin >/dev/null 2>/dev/null && echo 1 || echo 0)
+ feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) $(FEATURE_CHECK_LDFLAGS-$(1))" -C $(feature_dir) $(OUTPUT_FEATURES)test-$1.bin >$(OUTPUT_FEATURES)test-$1.make.makeoutput 2>&1 && echo 1 || echo 0)
endef

feature_set = $(eval $(feature_set_code))
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index bf8f035..842973a 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -45,7 +45,12 @@ PKG_CONFIG := $(CROSS_COMPILE)pkg-config
all: $(FILES)

__BUILD = $(CC) $(CFLAGS) -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(LDFLAGS)
- BUILD = $(__BUILD) > $(@:.bin=.make.output) 2>&1
+ BUILD = echo PWD=$(shell pwd) > $(@:.bin=.make.output); \
+ echo PATH=$$PATH >> $(@:.bin=.make.output); \
+ echo CFLAGS=$$CFLAGS >> $(@:.bin=.make.output); \
+ echo LDFLAGS=$$LDFLAGS >> $(@:.bin=.make.output); \
+ echo '$(__BUILD)' >> $(@:.bin=.make.output) ; \
+ $(__BUILD) >> $(@:.bin=.make.output) 2>&1

###############################

--
1.8.3.4

--
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/