linux/tools/perf
Jiri Olsa 0695e57b9a perf tools: Factor features display code
Currently the we display all detected features/libraries by following
rules:

 - if one of the features is missing
 - if it's build from clean tree

This patch changes changes this behavior in several ways.

- We no longer display all detected features, only detected libraries
  are displayed by default:

  $ make
    BUILD:   Doing 'make -j4' parallel build

  Auto-detecting system features:
  ...                         dwarf: [ on  ]
  ...                         glibc: [ on  ]
  ...                          gtk2: [ on  ]
  ...                      libaudit: [ on  ]
  ...                        libbfd: [ on  ]
  ...                        libelf: [ on  ]
  ...                       libnuma: [ on  ]
  ...                       libperl: [ on  ]
  ...                     libpython: [ on  ]
  ...                      libslang: [ on  ]
  ...                     libunwind: [ on  ]

  The assumption is, that above libraries are the most interesting part
of the detection, while we don't care much about detection of on-exit
support.

- If all above libraries are detected, the default is not shown on
  subsequent builds.

- If one of the above libraries is missing, the detection output is
  forced.

- The features status is stored in PERF-FEATURES file and the detection
  output is forced in case the there's difference between the file
  contents and currently detected features.

- If you want to see all detected features, you can use VF=1 make
  variable, that forces the detected features output.

  $ make VF=1
    BUILD:   Doing 'make -j4' parallel build

  Auto-detecting system features:
  ...                         dwarf: [ on  ]
  ...                         glibc: [ on  ]
  ...                          gtk2: [ on  ]
  ...                      libaudit: [ on  ]
  ...                        libbfd: [ on  ]
  ...                        libelf: [ on  ]
  ...                       libnuma: [ on  ]
  ...                       libperl: [ on  ]
  ...                     libpython: [ on  ]
  ...                      libslang: [ on  ]
  ...                     libunwind: [ on  ]
  ...                     backtrace: [ on  ]
  ...                fortify-source: [ on  ]
  ...                  gtk2-infobar: [ on  ]
  ...             libelf-getphdrnum: [ on  ]
  ...                   libelf-mmap: [ on  ]
  ...             libpython-version: [ on  ]
  ...                       on-exit: [ on  ]
  ...            stackprotector-all: [ on  ]
  ...                       timerfd: [ on  ]
  ...         libunwind-debug-frame: [ OFF ]
  ...                        bionic: [ OFF ]

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1392825179-5228-2-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2014-02-24 09:29:35 -03:00
..
arch perf callchain: Rename unwind__arch_reg_id into libunwind__arch_reg_id 2014-02-18 09:34:48 -03:00
bench perf bench: Fix two warnings 2013-11-01 10:41:54 -03:00
config perf tools: Factor features display code 2014-02-24 09:29:35 -03:00
Documentation perf record: Rename --initial-delay to --delay 2014-01-14 17:58:12 -03:00
python perf python: Remove duplicate TID bit from mask 2013-08-07 17:35:25 -03:00
scripts perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
tests perf tests: Add pmu-bison.o make test 2014-02-24 09:29:35 -03:00
ui perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
util perf probe: Support distro-style debuginfo for uprobe 2014-02-18 09:38:44 -03:00
.gitignore perf tools: Ignore 'perf timechart' output file 2013-10-11 12:17:37 -03:00
builtin-annotate.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-bench.c perf bench: Change the procps visible command-name of invididual benchmark tests plus cleanups 2013-10-23 09:57:34 -03:00
builtin-buildid-cache.c perf buildid-cache: Check relocation when checking for existing kcore 2014-01-31 17:21:54 -03:00
builtin-buildid-list.c perf session: Separating data file properties from session 2013-10-21 17:33:25 -03:00
builtin-diff.c perf diff: Color the Weighted Diff column 2014-01-13 11:38:25 -03:00
builtin-evlist.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-help.c perf help: Fix --help for builtins 2012-10-22 12:35:49 -02:00
builtin-inject.c perf callchain: Add mask into struct regs_dump 2014-02-18 09:34:48 -03:00
builtin-kmem.c perf evsel: Ditch evsel->handler.data field 2013-11-07 10:40:47 -03:00
builtin-kvm.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-list.c perf list: Add usage 2013-11-05 14:26:41 -03:00
builtin-lock.c perf evsel: Ditch evsel->handler.data field 2013-11-07 10:40:47 -03:00
builtin-mem.c perf mem: Remove unused parameter from dump_raw_samples() 2013-12-19 17:03:39 -03:00
builtin-probe.c perf probe: Replace line_list with intlist 2014-02-18 09:34:50 -03:00
builtin-record.c perf callchain: Introduce HAVE_DWARF_UNWIND_SUPPORT macro 2014-02-18 09:34:48 -03:00
builtin-report.c perf report: Remove some needless container_of usage 2014-02-18 09:34:46 -03:00
builtin-sched.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
builtin-script.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-stat.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-timechart.c perf timechart: Fix wrong SVG height 2014-01-20 16:19:08 -03:00
builtin-top.c perf tools: Add call-graph option support into .perfconfig 2014-02-18 09:34:47 -03:00
builtin-trace.c perf trace: Fix ioctl 'request' beautifier build problems on !(i386 || x86_64) arches 2014-02-13 17:28:31 -03:00
builtin.h perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
command-list.txt perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf/doc: Remove mention of non-existent set_perf_event_pending() from design.txt 2014-01-26 09:37:48 +01:00
Makefile perf tools: Add 'build-test' make target 2014-01-16 16:26:26 -03:00
Makefile.perf perf tools: Factor features display code 2014-02-24 09:29:35 -03:00
MANIFEST perf tools: Move hash.h header 2014-02-18 09:34:49 -03:00
perf-archive.sh perf archive: Make 'f' the last parameter for tar 2012-09-17 13:10:42 -03:00
perf-completion.sh perf completion: Complete 'perf kvm' 2013-12-13 10:30:21 -03:00
perf.c tools/: Convert to new topic libraries 2013-12-16 16:03:27 -03:00
perf.h perf record: Add readable output for callchain debug 2014-02-18 09:34:47 -03:00