NL1FOUND := $(shell $(PKG_CONFIG) --atleast-version=1 libnl-1 && echo Y)
NL2FOUND := $(shell $(PKG_CONFIG) --atleast-version=2 libnl-2.0 && echo Y)
NL3FOUND := $(shell $(PKG_CONFIG) --atleast-version=3 libnl-3.0 && echo Y)
+NL31FOUND := $(shell $(PKG_CONFIG) --exact-version=3.1 libnl-3.1 && echo Y)
+NL3xFOUND := $(shell $(PKG_CONFIG) --atleast-version=3.2 libnl-3.0 && echo Y)
ifeq ($(NL1FOUND),Y)
NLLIBNAME = libnl-1
NLLIBNAME = libnl-3.0
endif
+# nl-3.1 has a broken libnl-gnl-3.1.pc file
+# as show by pkg-config --debug --libs --cflags --exact-version=3.1 libnl-genl-3.1;echo $?
+ifeq ($(NL31FOUND),Y)
+CFLAGS += -DCONFIG_LIBNL30
+LIBS += -lnl-genl
+NLLIBNAME = libnl-3.1
+endif
+
+ifeq ($(NL3xFOUND),Y)
+CFLAGS += -DCONFIG_LIBNL30
+LIBS += -lnl-genl-3
+NLLIBNAME = libnl-3.0
+endif
+
ifeq ($(NLLIBNAME),)
$(error Cannot find development files for any supported version of libnl)
endif
LIBS += $(shell $(PKG_CONFIG) --libs $(NLLIBNAME))
CFLAGS += $(shell $(PKG_CONFIG) --cflags $(NLLIBNAME))
+NLVERSION :=$(shell $(PKG_CONFIG) --print-provides $(NLLIBNAME))
ifeq ($(V),1)
Q=
NQ=echo
endif
-all: version_check $(ALL)
-
-version_check:
-ifeq ($(NL3FOUND),Y)
-else
-ifeq ($(NL2FOUND),Y)
-else
-ifeq ($(NL1FOUND),Y)
-else
- $(error No libnl found)
-endif
-endif
-endif
-
+all: $(ALL)
VERSION_OBJS := $(filter-out version.o, $(OBJS))