Re: [PATCH v3 5/9] perf build: Add feature-dump target

From: Arnaldo Carvalho de Melo
Date: Fri Jan 15 2016 - 14:24:21 EST


Em Fri, Jan 15, 2016 at 04:11:39PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jan 15, 2016 at 04:00:17AM +0000, Wang Nan escreveu:
> > From: Jiri Olsa <jolsa@xxxxxxxxxx>
> >
> > To provide FEATURE-DUMP into $(FEATURE_DUMP_COPY)
> > if defined, with no further action.
> >
> > Get feature dump of the current build:
> > $ make feature-dump
> > BUILD: Doing 'make -j4' parallel build
> >
> > Auto-detecting system features:
> > ... dwarf: [ on ]
> >
> > FEATURE-DUMP file available in FEATURE-DUMP
>
> Trying to improve this, i.e. provide an absolute or relative path to where
> the file is really generated.
>
>
> FEATURE-DUMP file available in FEATURE-DUMP
> make: Leaving directory '/home/git/linux/tools/perf'
> [acme@zoo linux]$ cat FEATURE-DUMP
> cat: FEATURE-DUMP: No such file or directory
> [acme@zoo linux]$ find . -name FEATURE-DUMP
> ./tools/perf/FEATURE-DUMP
> [acme@zoo linux]$

Like what is done here already:

$(LIBBPF): fixdep FORCE
$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a FEATURES_DUMP=$(realpath $(OUTPUT)FEATURE-DUMP)

I.e. use realphat, like:


[acme@zoo linux]$ git diff
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index f758a72df1b3..ec701e61c9bd 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -618,7 +618,7 @@ ifdef FEATURE_DUMP_COPY
@cp $(OUTPUT)FEATURE-DUMP $(FEATURE_DUMP_COPY)
@echo "FEATURE-DUMP file copied into $(FEATURE_DUMP_COPY)"
else
- @echo "FEATURE-DUMP file available in $(OUTPUT)FEATURE-DUMP"
+ @echo "FEATURE-DUMP file available in $(realpath $(OUTPUT)FEATURE-DUMP)"
endif

#
[acme@zoo linux]$ make -C tools/perf feature-dump
make: Entering directory '/home/git/linux/tools/perf'
BUILD: Doing 'make -j4' parallel build

Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
... gtk2: [ on ]
... libaudit: [ on ]
... libbfd: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... numa_num_possible_cpus: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... get_cpuid: [ on ]
... bpf: [ on ]

FEATURE-DUMP file available in /home/git/linux/tools/perf/FEATURE-DUMP
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$


Nitpicking a bit: libbpf uses FEATURES_DUMP, i.e. plural, which I think
is the proper naming, as there are multiple features being detected and
thus dumped, would you mind if I chainsaw it all into consistency using
FEATURES-DUMP, FEATURES_DUMP, etc?

- Arnaldo