78d6ccce03
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: 1955c8cf5e26 ("perf tools: Don't hardcode host include path for libslang") Link: https://lkml.kernel.org/n/tip-bkgtpsu3uit821fuwsdhj9gd@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _PERF_UI_SLANG_H_
|
|
#define _PERF_UI_SLANG_H_ 1
|
|
/*
|
|
* slang versions <= 2.0.6 have a "#if HAVE_LONG_LONG" that breaks
|
|
* the build if it isn't defined. Use the equivalent one that glibc
|
|
* has on features.h.
|
|
*/
|
|
#include <features.h>
|
|
#ifndef HAVE_LONG_LONG
|
|
#define HAVE_LONG_LONG __GLIBC_HAVE_LONG_LONG
|
|
#endif
|
|
|
|
#ifdef HAVE_SLANG_INCLUDE_SUBDIR
|
|
#include <slang/slang.h>
|
|
#else
|
|
#include <slang.h>
|
|
#endif
|
|
|
|
#if SLANG_VERSION < 20104
|
|
#define slsmg_printf(msg, args...) \
|
|
SLsmg_printf((char *)(msg), ##args)
|
|
#define slsmg_vprintf(msg, vargs) \
|
|
SLsmg_vprintf((char *)(msg), vargs)
|
|
#define slsmg_write_nstring(msg, len) \
|
|
SLsmg_write_nstring((char *)(msg), len)
|
|
#define sltt_set_color(obj, name, fg, bg) \
|
|
SLtt_set_color(obj,(char *)(name), (char *)(fg), (char *)(bg))
|
|
#else
|
|
#define slsmg_printf SLsmg_printf
|
|
#define slsmg_vprintf SLsmg_vprintf
|
|
#define slsmg_write_nstring SLsmg_write_nstring
|
|
#define sltt_set_color SLtt_set_color
|
|
#endif
|
|
|
|
#define SL_KEY_UNTAB 0x1000
|
|
|
|
#endif /* _PERF_UI_SLANG_H_ */
|