Skip to content
  • Jin Yao's avatar
    perf version: Print the compiled-in status of libraries · 9ff2a647
    Jin Yao authored
    
    
    This patch checks the values passed by CFLAGS (-DHAVE_XXX) 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 otherwise it print the status "OFF".
    
    A new option '--build-options' created for 'perf version' supports the
    printing of library status.
    
    For example:
    
    $ ./perf version --build-options
        or
      ./perf --version --build-options
        or
      ./perf -v --build-options
    
    perf version 4.13.rc5.g6727c5
                     dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
        dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                     glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                      gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
                  libaudit: [ OFF ]  # HAVE_LIBAUDIT_SUPPORT
                    libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                    libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                   libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
    numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                   libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
                 libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                  libslang: [ on  ]  # HAVE_SLANG_SUPPORT
                 libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
                 libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
        libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                      zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                      lzma: [ on  ]  # HAVE_LZMA_SUPPORT
                 get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                       bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
    
    v4:
    
    1. Also print the macro name. That would make it easier
       to grep around in the source looking for where code
       related a particular features is located.
    
    2. Update since HAVE_DWARF_GETLOCATIONS is renamed to
       HAVE_DWARF_GETLOCATIONS_SUPPORT
    
    v3:
    
    Remove following unnecessary help message.
    
    1. [ on  ]: library is compiled-in
       [ OFF ]: library is disabled in make configuration
                OR library is not installed in build environment
    
    2. Create '--build-options' option.
    
    3. Use standard option parsing API 'parse_options'.
    
    v2:
    
    1. Use IS_BUILTIN macro to replace #ifdef/#endif block.
    
    2. Print color for on/OFF.
    
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Suggested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Suggested-by: default avatarIngo Molnar <mingo@kernel.org>
    Suggested-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jin Yao <yao.jin@intel.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1522402036-22915-5-git-send-email-yao.jin@linux.intel.com
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9ff2a647