On Wed, Mar 28, 2018 at 10:00:32PM +0800, Jin, Yao wrote:
On 3/28/2018 9:22 PM, Jiri Olsa wrote:
On Wed, Mar 28, 2018 at 10:57:08PM +0800, Jin Yao wrote:
We keep having bug reports that when users build perf on their own,
but they don't install some needed libraries such as libelf,
libbfd/libibery.
The perf can build, but it is missing important functionality.
This patch provides a new option '-vv' which will print the
compiled-in status of libraries.
The 'perf -vv' is equal to 'perf -version --build-options'.
For example:
$ ./perf -vv or ./perf -version --build-options
perf version 4.13.rc5.gcb1183
dwarf: [ on ]
dwarf_getlocations: [ on ]
glibc: [ on ]
gtk2: [ on ]
libaudit: [ OFF ]
libbfd: [ on ]
libelf: [ on ]
libnuma: [ on ]
numa_num_possible_cpus: [ on ]
libperl: [ on ]
libpython: [ on ]
libslang: [ on ]
libcrypto: [ on ]
libunwind: [ on ]
libdw-dwarf-unwind: [ on ]
zlib: [ on ]
lzma: [ on ]
get_cpuid: [ on ]
bpf: [ on ]
[ on ]: library is compiled-in
[ OFF ]: library is disabled in make configuration
OR library is not installed in build environment
v2:
---
Use a global variable version_verbose to count the number of 'v'.
Signed-off-by: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
---
tools/perf/perf.c | 22 ++++++++++++++++++----
tools/perf/perf.h | 1 +
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 1b3fc8e..355219e 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -32,7 +32,7 @@
#include <linux/kernel.h>
const char perf_usage_string[] =
- "perf [--version] [--help] [OPTIONS] COMMAND [ARGS]";
+ "perf [--version [--build-options]] [--help] [OPTIONS] COMMAND [ARGS]";
--build-options is 'perf version' option no?
jirka
Yes. Command-line something like:
perf --version --build-options or perf -v --build-options.
Is this usage string not correct? If so, I'd like to fix that.
"perf [--version [--build-options]] [--help] [OPTIONS] COMMAND [ARGS]";
ah I forgot that --version is in fact 'perf version'
now I see --build-options depends on --version.. ok ;-)
could you please also create Documentation/perf-version.txt,
now when it has option, we should document it
also please use the standard option parsing API we use in commands:
argc = parse_options(argc, argv, record_options, record_usage,
PARSE_OPT_STOP_AT_NON_OPTION);
so we get standard error when the option is mangled,
unlinke now, when it's silent:
[jolsa@krava perf]$ ./perf --version --buil
perf version 4.16.rc6.gcc183d
thanks,
jirka