On Tue, 15 Jan 2019 13:52:48 -0800, Stanislav Fomichev wrote: > On some platforms, in order to link against libbfd, we need to > link against liberty and even possibly libz. Account for that > in the bpftool Makefile. We now have proper feature detection > for each case, so handle each one separately. > > See recent commit 14541b1e7e72 ("perf build: Don't unconditionally link the > libbfd feature test to -liberty and -lz") where I fixed feature > detection. > > v2 (addressed Jakub's nits): > * better syntax for 'else ifeq' > * no space between ifeq args > > Fixes: 29a9c10e4110 ("bpftool: make libbfd optional") > Signed-off-by: Stanislav Fomichev <s...@google.com> > --- > tools/bpf/bpftool/Makefile | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile > index 492f0f24e2d3..fbf7e62a5b86 100644 > --- a/tools/bpf/bpftool/Makefile > +++ b/tools/bpf/bpftool/Makefile > @@ -93,9 +93,16 @@ BFD_SRCS = jit_disasm.c > SRCS = $(filter-out $(BFD_SRCS),$(wildcard *.c)) > > ifeq ($(feature-libbfd),1) > + LIBS += -lbfd -ldl -lopcodes > +else ifeq ($(feature-libbfd-liberty),1) > + LIBS += -lbfd -ldl -lopcodes -liberty > +else ifeq ($(feature-libbfd-liberty-z),1) > + LIBS += -lbfd -ldl -lopcodes -liberty -lz > +endif > + > +ifneq ($(filter -lbfd,$(EXTLIBS)),)
Ah, I just noticed now that you use EXTLIBS here, not LIBS, is that on purpose? > CFLAGS += -DHAVE_LIBBFD_SUPPORT > SRCS += $(BFD_SRCS) > -LIBS += -lbfd -lopcodes > endif > > OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o