On Thu, Nov 28, 2019 at 05:07:12PM +0100, Toke Høiland-Jørgensen wrote: SNIP > ifeq ($(srctree),) > srctree := $(patsubst %/,%,$(dir $(CURDIR))) > @@ -63,6 +72,19 @@ RM ?= rm -f > FEATURE_USER = .bpftool > FEATURE_TESTS = libbfd disassembler-four-args reallocarray zlib > FEATURE_DISPLAY = libbfd disassembler-four-args zlib > +ifdef LIBBPF_DYNAMIC > + FEATURE_TESTS += libbpf > + FEATURE_DISPLAY += libbpf > + > + # for linking with debug library run: > + # make LIBBPF_DYNAMIC=1 LIBBPF_DIR=/opt/libbpf > + ifdef LIBBPF_DIR > + LIBBPF_CFLAGS := -I$(LIBBPF_DIR)/include > + LIBBPF_LDFLAGS := -L$(LIBBPF_DIR)/$(libdir_relative) > + FEATURE_CHECK_CFLAGS-libbpf := $(LIBBPF_CFLAGS) > + FEATURE_CHECK_LDFLAGS-libbpf := $(LIBBPF_LDFLAGS) > + endif > +endif > > check_feat := 1 > NON_CHECK_FEAT_TARGETS := clean uninstall doc doc-clean doc-install doc-uninstall > @@ -88,6 +110,18 @@ ifeq ($(feature-reallocarray), 0) > CFLAGS += -DCOMPAT_NEED_REALLOCARRAY > endif > > +ifdef LIBBPF_DYNAMIC > + ifeq ($(feature-libbpf), 1) > + # bpftool uses non-exported functions from libbpf, so just add the dynamic > + # version of libbpf and let the linker figure it out > + LIBS := -lbpf $(LIBS) nice, so linker will pick up the missing symbols and we don't need to check on particular libbpf version then thanks, jirka > + CFLAGS += $(LIBBPF_CFLAGS) > + LDFLAGS += $(LIBBPF_LDFLAGS) > + else > + dummy := $(error Error: No libbpf devel library found, please install libbpf-devel or libbpf-dev.) > + endif > +endif > + > include $(wildcard $(OUTPUT)*.d) > > all: $(OUTPUT)bpftool > -- > 2.24.0 >