Adding LIBBPF_DIR compile variable to allow linking with libbpf installed into specific directory: $ make -C tools/lib/bpf/ prefix=/tmp/libbpf/ install_lib install_headers $ make -C tools/perf/ LIBBPF_DYNAMIC=1 LIBBPF_DIR=/tmp/libbpf/ It might be needed to clean build tree first because features framework does not detect the change properly: $ make -C tools/build/feature clean $ make -C tools/perf/ clean Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> --- tools/perf/Makefile.config | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index c90f4146e5a2..eb9d9b70b7d3 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -22,6 +22,14 @@ include $(srctree)/tools/scripts/Makefile.arch $(call detected_var,SRCARCH) +ifndef lib + ifeq ($(SRCARCH)$(IS_64_BIT), x861) + lib = lib64 + else + lib = lib + endif +endif # lib + NO_PERF_REGS := 1 NO_SYSCALL_TABLE := 1 @@ -484,11 +492,22 @@ ifndef NO_LIBELF CFLAGS += -DHAVE_LIBBPF_SUPPORT $(call detected,CONFIG_LIBBPF) + # for linking with debug library run: + # make DEBUG=1 LIBBPF_DIR=/opt/libbpf + ifdef LIBBPF_DIR + LIBBPF_CFLAGS := -I$(LIBBPF_DIR)/include + LIBBPF_LDFLAGS := -L$(LIBBPF_DIR)/$(lib) + FEATURE_CHECK_CFLAGS-libbpf := $(LIBBPF_CFLAGS) + FEATURE_CHECK_LDFLAGS-libbpf := $(LIBBPF_LDFLAGS) + endif + # detecting libbpf without LIBBPF_DYNAMIC, so make VF=1 shows libbpf detection status $(call feature_check,libbpf) ifdef LIBBPF_DYNAMIC ifeq ($(feature-libbpf), 1) EXTLIBS += -lbpf + CFLAGS += $(LIBBPF_CFLAGS) + LDFLAGS += $(LIBBPF_LDFLAGS) else dummy := $(error Error: No libbpf devel library found, please install libbpf-devel); endif @@ -1037,13 +1056,6 @@ else sysconfdir = $(prefix)/etc ETC_PERFCONFIG = etc/perfconfig endif -ifndef lib -ifeq ($(SRCARCH)$(IS_64_BIT), x861) -lib = lib64 -else -lib = lib -endif -endif # lib libdir = $(prefix)/$(lib) # Shell quote (do not use $(call) to accommodate ancient setups); @@ -1108,6 +1120,7 @@ ifeq ($(VF),1) $(call print_var,LIBUNWIND_DIR) $(call print_var,LIBDW_DIR) $(call print_var,JDIR) + $(call print_var,LIBBPF_DIR) ifeq ($(dwarf-post-unwind),1) $(call feature_print_text,"DWARF post unwind library", $(dwarf-post-unwind-text)) -- 2.21.0