Messages in this thread | | | Date | Mon, 26 Mar 2018 11:39:25 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH v1 2/3] perf version: Print the status of compiled-in libraries |
| |
On Tue, Mar 27, 2018 at 12:07:03AM +0800, Jin Yao wrote: > This patch checks the values passed by CFLAGS (-DXXX) and then > print the status of libraries. > > For example, if HAVE_DWARF_SUPPORT is defined, that means the > library "dwarf" is compiled-in. The patch will print the status > "on" for this library. > > Signed-off-by: Jin Yao <yao.jin@linux.intel.com> > --- > tools/perf/builtin-version.c | 125 +++++++++++++++++++++++++++++++++++++++++++ > tools/perf/builtin.h | 1 + > 2 files changed, 126 insertions(+) > > diff --git a/tools/perf/builtin-version.c b/tools/perf/builtin-version.c > index 37019c5..90a0a7f 100644 > --- a/tools/perf/builtin-version.c > +++ b/tools/perf/builtin-version.c > @@ -9,3 +9,128 @@ int cmd_version(int argc __maybe_unused, const char **argv __maybe_unused) > printf("perf version %s\n", perf_version_string); > return 0; > } > + > +static void status_print(const char *name, const char *status) > +{ > + printf("%22s: [ %3s ]\n", name, status); > +} > + > +static void library_status(void) > +{ > +#ifdef HAVE_DWARF_SUPPORT > + status_print("dwarf", "on"); > +#else > + status_print("dwarf", "off"); > +#endif
could this and all those below be in some generic macro?
#define STATUS(__d, __m) \ #ifdef __d \ status_print(#__m, "on"); \ #else \ status_print(#__m, "OFF"); \ #endif
STATUS(HAVE_DWARF_SUPPORT, dwarf)
also please print the 'OFF' and use colors as in the build message
> + > +#ifdef HAVE_DWARF_GETLOCATIONS > + status_print("dwarf_getlocations", "on"); > +#else > + status_print("dwarf_getlocations", "off"); > +#endif > + > +#ifdef NO_GLIBC > + status_print("glibc", "off"); > +#else > + status_print("glibc", "on"); > +#endif > + > +#ifdef HAVE_GTK2_SUPPORT > + status_print("gtk2", "on"); > +#else > + status_print("gtk2", "off"); > +#endif > +
SNIP
> +} > + > +int cmd_version2(int argc, const char **argv) > +{ > + cmd_version(argc, argv); > + library_status(); > + return 0; > +} > diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h > index 05745f3..c7508ee 100644 > --- a/tools/perf/builtin.h > +++ b/tools/perf/builtin.h > @@ -29,6 +29,7 @@ int cmd_timechart(int argc, const char **argv); > int cmd_top(int argc, const char **argv); > int cmd_script(int argc, const char **argv); > int cmd_version(int argc, const char **argv); > +int cmd_version2(int argc, const char **argv);
please don't add new command for this, handle this in cmd_version
thanks, jirka
| |