From: Stephen Hemminger Date: Mon, 7 Aug 2017 18:43:21 +0000 (-0700) Subject: lib: fix extended ack with and without libmnl X-Git-Tag: v4.13.0~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d23fa55913f6cfb1d2c50b7ccb184abc9b3b60e;p=thirdparty%2Fiproute2.git lib: fix extended ack with and without libmnl The code was always building without libmnl support, so it was doing nothing. Fixes: b6432e68ac2f ("iproute: Add support for extended ack to rtnl_talk") Signed-off-by: Stephen Hemminger --- diff --git a/Makefile b/Makefile index 18de7dcb3..a4b0dea58 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,13 @@ LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a LDLIBS += $(LIBNETLINK) ifeq ($(HAVE_ELF),y) -CFLAGS += -DHAVE_ELF -LDLIBS += -lelf + CFLAGS += -DHAVE_ELF + LDLIBS += -lelf +endif + +ifeq ($(HAVE_MNL),y) + CFLAGS += -DHAVE_LIBMNL $(shell $(PKG_CONFIG) libmnl --cflags) + LDLIBS += $(shell $(PKG_CONFIG) libmnl --libs) endif all: Config diff --git a/lib/Makefile b/lib/Makefile index f81888cca..1d24ca24b 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -4,13 +4,6 @@ ifeq ($(IP_CONFIG_SETNS),y) CFLAGS += -DHAVE_SETNS endif -ifeq ($(HAVE_MNL),y) - CFLAGS += $(shell $(PKG_CONFIG) libmnl --cflags) - LDLIBS += $(shell $(PKG_CONFIG) libmnl --libs) -else -@warn "libmnl required for error support" -endif - CFLAGS += -fPIC UTILOBJ = utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o \ diff --git a/lib/libnetlink.c b/lib/libnetlink.c index 41353b7db..145de2cb0 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -102,6 +102,8 @@ static int nl_dump_ext_err(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) return errfn(errmsg, off, err_nlh); } #else +#warning "libmnl required for error support" + /* No extended error ack without libmnl */ static int nl_dump_ext_err(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) { diff --git a/misc/Makefile b/misc/Makefile index 728076780..814a72fcb 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -24,16 +24,16 @@ ss: $(SSOBJ) $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ nstat: nstat.c - $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o nstat nstat.c $(LIBNETLINK) -lm + $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o nstat nstat.c $(LDLIBS) -lm ifstat: ifstat.c - $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LIBNETLINK) -lm + $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LDLIBS) -lm rtacct: rtacct.c - $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LIBNETLINK) -lm + $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm arpd: arpd.c - $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(LDFLAGS) -o arpd arpd.c $(LIBNETLINK) -ldb -lpthread + $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb -lpthread ssfilter.c: ssfilter.y $(QUIET_YACC)bison ssfilter.y -o ssfilter.c