• Arnaldo Carvalho de Melo's avatar
    perf build: Handle slang being in /usr/include and in /usr/include/slang/ · 78d6ccce
    Arnaldo Carvalho de Melo authored
    In some distros slang.h may be in a /usr/include 'slang' subdir, so use
    the if slang is not explicitely disabled (by using NO_SLANG=1) and its
    feature test for the common case (having /usr/include/slang.h) failed,
    use the results for the test that checks if it is in slang/slang.h.
    
    Change the only file in perf that includes slang.h to use
    HAVE_SLANG_INCLUDE_SUBDIR and forget about this for good.
    
    On a rhel6 system now we have:
    
      $ /tmp/build/perf/perf -vv | grep slang
                    libslang: [ on  ]  # HAVE_SLANG_SUPPORT
      $ ldd /tmp/build/perf/perf | grep libslang
      	libslang.so.2 => /usr/lib64/libslang.so.2 (0x00007fa2d5a8d000)
      $ grep slang /tmp/build/perf/FEATURE-DUMP
      feature-libslang=0
      feature-libslang-include-subdir=1
      $ cat /etc/redhat-release
      CentOS release 6.10 (Final)
      $
    
    While on fedora:29:
    
      $ /tmp/build/perf/perf -vv | grep slang
                    libslang: [ on  ]  # HAVE_SLANG_SUPPORT
      $ ldd /tmp/build/perf/perf | grep slang
      	libslang.so.2 => /lib64/libslang.so.2 (0x00007f8eb11a7000)
      $ grep slang /tmp/build/perf/FEATURE-DUMP
      feature-libslang=1
      feature-libslang-include-subdir=1
      $
      $ cat /etc/fedora-release
      Fedora release 29 (Twenty Nine)
      $
    
    The feature-libslang-include-subdir=1 line is because the 'gettid()'
    test was added to test-all.c as the new glibc has an implementation for
    that, so we soon should have it not failing, i.e. should be the common
    case soon. Perhaps I should move it out till it becomes the norm...
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Fixes: 1955c8cf ("perf tools: Don't hardcode host include path for libslang")
    Link: https://lkml.kernel.org/n/tip-bkgtpsu3uit821fuwsdhj9gd@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    78d6ccce
Makefile.config 31.7 KB