tools build: Introduce features dump include makefile
Subsystems (3)
Jiri Olsa
reviewerPATCH 1/2 tools build: Introduce features dump include makefile
Creating the FEATURE-INCLUDE file, that contains all features status dumped in make's variable format:
...
feature-backtrace=1
feature-dwarf=1
...
It's purpose is to be included in sub-project makefiles to get features detection state. This way we can run the detection only in top level project and propagate it down.
--- tools/build/Makefile.feature | 12 ++++++++++++ tools/lib/bpf/.gitignore | 1 + tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 + tools/perf/Makefile.perf | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-)
tools/build/Makefile.feature +12 -0
@@ -131,6 +131,16 @@ ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif +# The FEATURE-INCLUDE file contains all features status +# dumped in make's variable format: +# ... +# feature-backtrace=1 +# feature-dwarf=1 +# ... +# It's to be included in sub-project makefiles to get +# features detection state. +FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) + # The $(feature_display) controls the default detection message # output. It's set if: # - detected features differes from stored features from
@@ -140,6 +150,8 @@ endif ifneq ("$(FEATURE_DUMP)","$(FEATURE_DUMP_FILE)") $(shell echo "$(FEATURE_DUMP)" > $(FEATURE_DUMP_FILENAME)) + $(shell rm -f $(FEATURE_INCLUDE_FILENAME)) + $(foreach feat,$(FEATURE_TESTS),$(shell echo "feature-$(feat)=$(feature-$(feat))" >> $(FEATURE_INCLUDE_FILENAME))) feature_display := 1 endif
tools/lib/bpf/.gitignore +1 -0
@@ -1,2 +1,3 @@ libbpf_version.h FEATURE-DUMP.libbpf +FEATURE-INCLUDE.libbpf
tools/lib/bpf/Makefile +1 -1
@@ -190,7 +190,7 @@ config-clean: clean: $(call QUIET_CLEAN, libbpf) $(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d \ $(RM) LIBBPF-CFLAGS - $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf + $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf $(OUTPUT)FEATURE-INCLUDE.libbpf
tools/perf/.gitignore +1 -0
@@ -2,6 +2,7 @@ PERF-CFLAGS PERF-GUI-VARS PERF-VERSION-FILE FEATURE-DUMP +FEATURE-INCLUDE perf perf-read-vdso32 perf-read-vdsox32
tools/perf/Makefile.perf +1 -1
@@ -589,7 +589,7 @@ clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete $(Q)$(RM) $(OUTPUT).config-detected $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ $(OUTPUT)util/intel-pt-decoder/inat-tables.c $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean $(python-clean)
Signature · 1 line
2.4.3
Jiri Olsa
reviewerPATCH 2/2 perf build: Use FEATURE-INCLUDE in bpf subproject
Using FEATURE-INCLUDE in bpf subproject in case bpf is built via perf. Keep the current features detection for other cases.
--- tools/lib/bpf/Makefile | 4 ++++ tools/perf/Makefile.perf | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
tools/lib/bpf/Makefile +4 -0
@@ -80,7 +80,11 @@ endif endif ifeq ($(check_feat),1) +ifeq ($(FEATURES_INCLUDE),) include $(srctree)/tools/build/Makefile.feature +else +include $(FEATURES_INCLUDE) +endif endif export prefix libdir src obj
tools/perf/Makefile.perf +1 -1
@@ -431,7 +431,7 @@ $(LIBAPI)-clean: $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null $(LIBBPF): fixdep FORCE - $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a + $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a FEATURES_INCLUDE=$(realpath $(OUTPUT)FEATURE-INCLUDE) $(LIBBPF)-clean: $(call QUIET_CLEAN, libbpf)
Signature · 1 line
2.4.3
ping, Wang Nan, any comments on these 2?
thanks,
jirka
Quoted 101 lines · Jiri Olsa
Creating the FEATURE-INCLUDE file, that contains all features status dumped in make's variable format:
... feature-backtrace=1 feature-dwarf=1 ...It's purpose is to be included in sub-project makefiles to get features detection state. This way we can run the detection only in top level project and propagate it down.
Cc Wang Nan <[email protected]>Signed-off-by Jiri Olsa <[email protected]>--- tools/build/Makefile.feature | 12 ++++++++++++ tools/lib/bpf/.gitignore | 1 + tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 + tools/perf/Makefile.perf | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-)tools/build/Makefile.feature +12
-0@@ -131,6 +131,16 @@ ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif +# The FEATURE-INCLUDE file contains all features status +# dumped in make's variable format: +# ... +# feature-backtrace=1 +# feature-dwarf=1 +# ... +# It's to be included in sub-project makefiles to get +# features detection state. +FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) + # The $(feature_display) controls the default detection message # output. It's set if: # - detected features differes from stored features from@@ -140,6 +150,8 @@ endif ifneq ("$(FEATURE_DUMP)","$(FEATURE_DUMP_FILE)") $(shell echo "$(FEATURE_DUMP)" > $(FEATURE_DUMP_FILENAME)) + $(shell rm -f $(FEATURE_INCLUDE_FILENAME)) + $(foreach feat,$(FEATURE_TESTS),$(shell echo "feature-$(feat)=$(feature-$(feat))" >> $(FEATURE_INCLUDE_FILENAME))) feature_display := 1 endiftools/lib/bpf/.gitignore +1
-0@@ -1,2 +1,3 @@ libbpf_version.h FEATURE-DUMP.libbpf +FEATURE-INCLUDE.libbpftools/lib/bpf/Makefile +1
-1@@ -190,7 +190,7 @@ config-clean: clean: $(call QUIET_CLEAN, libbpf) $(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d \ $(RM) LIBBPF-CFLAGS - $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf + $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf $(OUTPUT)FEATURE-INCLUDE.libbpftools/perf/.gitignore +1
-0@@ -2,6 +2,7 @@ PERF-CFLAGS PERF-GUI-VARS PERF-VERSION-FILE FEATURE-DUMP +FEATURE-INCLUDE perf perf-read-vdso32 perf-read-vdsox32tools/perf/Makefile.perf +1
-1@@ -589,7 +589,7 @@ clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete $(Q)$(RM) $(OUTPUT).config-detected $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ $(OUTPUT)util/intel-pt-decoder/inat-tables.c $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean $(python-clean)Signature · 1 line
2.4.3
Wangnan (F)
Tested-bySorry for the late response...
But I'm thinking whether we can remove FEATURE-DUMP and rely on FEATURE-INCLUDE only, since they contain same information...
Thank you.
Quoted 107 lines · Jiri Olsa
ping, Wang Nan, any comments on these 2?
thanks,
jirkaQuoted 101 lines · Jiri Olsa
Creating the FEATURE-INCLUDE file, that contains all features status dumped in make's variable format:
... feature-backtrace=1 feature-dwarf=1 ...It's purpose is to be included in sub-project makefiles to get features detection state. This way we can run the detection only in top level project and propagate it down.
Cc Wang Nan <[email protected]>Signed-off-by Jiri Olsa <[email protected]>--- tools/build/Makefile.feature | 12 ++++++++++++ tools/lib/bpf/.gitignore | 1 + tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 + tools/perf/Makefile.perf | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-)tools/build/Makefile.feature +12
-0@@ -131,6 +131,16 @@ ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif +# The FEATURE-INCLUDE file contains all features status +# dumped in make's variable format: +# ... +# feature-backtrace=1 +# feature-dwarf=1 +# ... +# It's to be included in sub-project makefiles to get +# features detection state. +FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) + # The $(feature_display) controls the default detection message # output. It's set if: # - detected features differes from stored features from@@ -140,6 +150,8 @@ endif ifneq ("$(FEATURE_DUMP)","$(FEATURE_DUMP_FILE)") $(shell echo "$(FEATURE_DUMP)" > $(FEATURE_DUMP_FILENAME)) + $(shell rm -f $(FEATURE_INCLUDE_FILENAME)) + $(foreach feat,$(FEATURE_TESTS),$(shell echo "feature-$(feat)=$(feature-$(feat))" >> $(FEATURE_INCLUDE_FILENAME))) feature_display := 1 endiftools/lib/bpf/.gitignore +1
-0@@ -1,2 +1,3 @@ libbpf_version.h FEATURE-DUMP.libbpf +FEATURE-INCLUDE.libbpftools/lib/bpf/Makefile +1
-1@@ -190,7 +190,7 @@ config-clean: clean: $(call QUIET_CLEAN, libbpf) $(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d \ $(RM) LIBBPF-CFLAGS - $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf + $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf $(OUTPUT)FEATURE-INCLUDE.libbpftools/perf/.gitignore +1
-0@@ -2,6 +2,7 @@ PERF-CFLAGS PERF-GUI-VARS PERF-VERSION-FILE FEATURE-DUMP +FEATURE-INCLUDE perf perf-read-vdso32 perf-read-vdsox32tools/perf/Makefile.perf +1
-1@@ -589,7 +589,7 @@ clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete $(Q)$(RM) $(OUTPUT).config-detected $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ $(OUTPUT)util/intel-pt-decoder/inat-tables.c $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean $(python-clean)Signature · 1 line
2.4.3
Quoted 6 lines · Wangnan (F)
Sorry for the late response...
Tested-by Wang Nan <[email protected]>But I'm thinking whether we can remove FEATURE-DUMP and rely on FEATURE-INCLUDE only, since they contain same information...
had the same thought, but the issue I hit is that I couldn't find a way to create *multiline* contents for FEATURE-INCLUDE variable in make
maybe we could use internally signle line contents and convert multiline contents of FEATURE-INCLUDE into singleline variable for checking against live info
jirka
Quoted 7 lines · Jiri Olsa
Quoted 6 lines · Wangnan (F)
Sorry for the late response...
Tested-by Wang Nan <[email protected]>But I'm thinking whether we can remove FEATURE-DUMP and rely on FEATURE-INCLUDE only, since they contain same information...
Quoted 7 lines
had the same thought, but the issue I hit is that I couldn't find a way to create *multiline* contents for FEATURE-INCLUDE variable in make
maybe we could use internally signle line contents and convert multiline contents of FEATURE-INCLUDE into singleline variable for checking against live info
What about this? The drawback is it heavily rely on shell commands...
tools/build/Makefile.feature +5 -3
@@ -123,9 +123,8 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) -FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) -FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) +#FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) +#FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text))
@@ -141,6 +140,9 @@ endif # features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) +FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)=' | sed 's/=\(.\)/(\1)/g')) + # The $(feature_display) controls the default detection message # output. It's set if: # - detected features differes from stored features from
Quoted 1 line
jirka
Quoted 40 lines · Wangnan (F)
Quoted 7 lines · Jiri Olsa
Quoted 6 lines · Wangnan (F)
Sorry for the late response...
Tested-by Wang Nan <[email protected]>But I'm thinking whether we can remove FEATURE-DUMP and rely on FEATURE-INCLUDE only, since they contain same information...
Quoted 7 lines
had the same thought, but the issue I hit is that I couldn't find a way to create *multiline* contents for FEATURE-INCLUDE variable in make
maybe we could use internally signle line contents and convert multiline contents of FEATURE-INCLUDE into singleline variable for checking against live info
What about this? The drawback is it heavily rely on shell commands...
tools/build/Makefile.feature +2
-3@@ -123,9 +123,8 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) -FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) -FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) +#FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) +#FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME))ifeq ($(dwarf-post-unwind),1)
FEATURE_DUMP+= dwarf-post-unwind($(dwarf-post-unwind-text))
tools/build/Makefile.feature endif · line 146
Quoted 7 lines
tools/build/Makefile.feature +2
-0@@ -141,6 +140,9 @@ endif # features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) +FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)=' | sed 's/=\(.\)/(\1)/g'))
We can avoid this 'sed' by transforming feature-xxx(1) to feature-xxx=1, then it would be uniformed with strings in FEATURE-INCLUDE...
Will provide a patch with my SOB.
Thank you.
Quoted 7 lines
tools/build/Makefile.feature +1
-0+ # The $(feature_display) controls the default detection message# output. It's set if: # - detected features differes from stored features fromQuoted 1 line
jirka
PATCH 1/1 tools build: Remove FEATURE-DUMP
Jiri introduces a FEATURE-INCLUDE file for feature checking. It contains same information with FEATURE-DUMP, so we can avoid generating FEATURE-DUMP.
Following modification should ensure FEATURE_TESTS contains FEATURE_DISPLAY.
---
I haven't thoroughly tested this patch, just want to show the possibility of removing FEATURE-DUMP. I don't insist on this. Jiri, if you find this patch is not good please simply ignore it.
Thank you.
---
tools/build/Makefile.feature | 8 +++----- tools/lib/bpf/.gitignore | 1 - tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 - tools/perf/Makefile.perf | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-)
tools/build/Makefile.feature +3 -5
@@ -123,10 +123,6 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) -FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) -FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) - ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif
@@ -141,6 +137,9 @@ endif # features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) +FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)=$(feature-$(feat))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)=')) + # The $(feature_display) controls the default detection message # output. It's set if: # - detected features differes from stored features from
@@ -149,7 +148,6 @@ FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) # - VF is enabled ifneq ("$(FEATURE_DUMP)","$(FEATURE_DUMP_FILE)") - $(shell echo "$(FEATURE_DUMP)" > $(FEATURE_DUMP_FILENAME)) $(shell rm -f $(FEATURE_INCLUDE_FILENAME)) $(foreach feat,$(FEATURE_TESTS),$(shell echo "feature-$(feat)=$(feature-$(feat))" >> $(FEATURE_INCLUDE_FILENAME))) feature_display := 1
tools/lib/bpf/.gitignore +0 -1
@@ -1,3 +1,2 @@ libbpf_version.h -FEATURE-DUMP.libbpf FEATURE-INCLUDE.libbpf
tools/lib/bpf/Makefile +1 -1
@@ -194,7 +194,7 @@ config-clean: clean: $(call QUIET_CLEAN, libbpf) $(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d \ $(RM) LIBBPF-CFLAGS - $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf $(OUTPUT)FEATURE-INCLUDE.libbpf + $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-INCLUDE.libbpf
tools/perf/.gitignore +0 -1
@@ -1,7 +1,6 @@ PERF-CFLAGS PERF-GUI-VARS PERF-VERSION-FILE -FEATURE-DUMP FEATURE-INCLUDE perf perf-read-vdso32
tools/perf/Makefile.perf +1 -1
@@ -589,7 +589,7 @@ clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete $(Q)$(RM) $(OUTPUT).config-detected $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-INCLUDE $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ $(OUTPUT)util/intel-pt-decoder/inat-tables.c $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean $(python-clean)
Signature · 1 line
1.8.3.4
Re: [PATCH] tools build: Remove FEATURE-DUMP
Quoted 42 lines · Wang Nan
Jiri introduces a FEATURE-INCLUDE file for feature checking. It contains same information with FEATURE-DUMP, so we can avoid generating FEATURE-DUMP.
Following modification should ensure
FEATURE_TESTScontainsFEATURE_DISPLAY.Signed-off-by Wang Nan <[email protected]>Cc Jiri Olsa <[email protected]>---
I haven't thoroughly tested this patch, just want to show the possibility of removing FEATURE-DUMP. I don't insist on this. Jiri, if you find this patch is not good please simply ignore it.
Thank you.
---
tools/build/Makefile.feature | 8 +++----- tools/lib/bpf/.gitignore | 1 - tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 - tools/perf/Makefile.perf | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-)tools/build/Makefile.feature +0
-4@@ -123,10 +123,6 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) -FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) -FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) - ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif
tools/build/Makefile.feature endif · line 141
Quoted 5 lines
tools/build/Makefile.feature +2
-0@@ -141,6 +137,9 @@ endif # features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER) +FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)=$(feature-$(feat))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)='))
hum, this ignores dwarf-post-unwind setup, I think it needs more changes I'll post new version
thanks.
jirka
Re: [PATCH] tools build: Remove FEATURE-DUMP
Quoted 46 lines · Jiri Olsa
Quoted 45 lines · Wang Nan
Jiri introduces a FEATURE-INCLUDE file for feature checking. It contains same information with FEATURE-DUMP, so we can avoid generating FEATURE-DUMP.
Following modification should ensure
FEATURE_TESTScontainsFEATURE_DISPLAY.Signed-off-by Wang Nan <[email protected]>Cc Jiri Olsa <[email protected]>---
I haven't thoroughly tested this patch, just want to show the possibility of removing FEATURE-DUMP. I don't insist on this. Jiri, if you find this patch is not good please simply ignore it.
Thank you.
---
tools/build/Makefile.feature | 8 +++----- tools/lib/bpf/.gitignore | 1 - tools/lib/bpf/Makefile | 2 +- tools/perf/.gitignore | 1 - tools/perf/Makefile.perf | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-)tools/build/Makefile.feature +0
-4@@ -123,10 +123,6 @@ define feature_print_text_code MSG = $(shell printf '...%30s: %s' $(1) $(2)) endef -FEATURE_DUMP_FILENAME = $(OUTPUT)FEATURE-DUMP$(FEATURE_USER) -FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)($(feature-$(feat)))) -FEATURE_DUMP_FILE := $(shell touch $(FEATURE_DUMP_FILENAME); cat $(FEATURE_DUMP_FILENAME)) - ifeq ($(dwarf-post-unwind),1) FEATURE_DUMP += dwarf-post-unwind($(dwarf-post-unwind-text)) endif@@ -141,6 +137,9 @@ endif # features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER)
Quoted 4 lines
tools/build/Makefile.feature endif · line 141
Quoted 2 lines
tools/build/Makefile.feature +2
-0+FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)=$(feature-$(feat))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)='))hum, this ignores dwarf-post-unwind setup, I think it needs more changes I'll post new version
Hi Jiri,
What the current status of this patch and 'tools build: Introduce features dump include makefile'? They are in my local tree for a long time.
Thank you.
Re: [PATCH] tools build: Remove FEATURE-DUMP
On Fri, Dec 18, 2015 at 04:41:05PM +0800, Wangnan (F) wrote:
SNIP
Quoted 11 lines
Quoted 6 lines
tools/build/Makefile.feature endif · line 141
Quoted 4 lines
# features detection state. FEATURE_INCLUDE_FILENAME = $(OUTPUT)FEATURE-INCLUDE$(FEATURE_USER)tools/build/Makefile.feature +2
-0+FEATURE_DUMP := $(foreach feat,$(FEATURE_DISPLAY),feature-$(feat)=$(feature-$(feat))) +FEATURE_DUMP_FILE := $(foreach feat,$(FEATURE_DISPLAY),$(shell touch $(FEATURE_INCLUDE_FILENAME); cat $(FEATURE_INCLUDE_FILENAME) | grep 'feature-$(feat)='))hum, this ignores dwarf-post-unwind setup, I think it needs more changes I'll post new version
Hi Jiri,
What the current status of this patch and 'tools build: Introduce features dump include makefile'? They are in my local tree for a long time.
hi,
I'll try to send it out next week.. I needed to factor the code a little
jirka