Search Linux Wireless

[PATCH] crda: add nested support for libnl-3.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Skip libnl-3.1 due to broken .pc files.

Tested to work with:
- libnl-3.2.3 (Debian 3.2.3-1)

Changes-licensed-under: ISC
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx>
---
 Makefile |   25 ++++++++++++++++---------
 crda.c   |    4 ++--
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/Makefile b/Makefile
index 084d8e5..5a8ed46 100644
--- a/Makefile
+++ b/Makefile
@@ -48,19 +48,26 @@ INSTALL ?= install
 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)
+NL32FOUND := $(shell pkg-config --atleast-version=3 libnl-3.2 && echo Y)
 
-ifeq ($(NL3FOUND),Y)
+ifeq ($(NL32FOUND),Y)
 CFLAGS += -DCONFIG_LIBNL30
-NLLIBS += -lnl-genl
-NLLIBNAME = libnl-3.0
+NLLIBS += $(shell pkg-config --libs libnl-genl-3.2)
+NLLIBNAME = libnl-3.2
 else
-	ifeq ($(NL2FOUND),Y)
-	CFLAGS += -DCONFIG_LIBNL20
-	NLLIBS += -lnl-genl
-	NLLIBNAME = libnl-2.0
+	ifeq ($(NL3FOUND),Y)
+	CFLAGS += -DCONFIG_LIBNL30
+	NLLIBS += $(shell pkg-config --libs libnl-genl-3.0)
+	NLLIBNAME = libnl-3.0
 	else
-		ifeq ($(NL1FOUND),Y)
-		NLLIBNAME = libnl-1
+		ifeq ($(NL2FOUND),Y)
+		CFLAGS += -DCONFIG_LIBNL20
+		NLLIBS += -lnl-genl
+		NLLIBNAME = libnl-2.0
+		else
+			ifeq ($(NL1FOUND),Y)
+			NLLIBNAME = libnl-1
+			endif
 		endif
 	endif
 endif
diff --git a/crda.c b/crda.c
index 1e2ff22..1db54a5 100644
--- a/crda.c
+++ b/crda.c
@@ -21,7 +21,7 @@
 #include "regdb.h"
 #include "reglib.h"
 
-#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30)
+#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30) && !defined(CONFIG_LIBNL32)
 /* libnl 2.0 compatibility code */
 static inline struct nl_handle *nl_socket_alloc(void)
 {
@@ -44,7 +44,7 @@ static inline int __genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache *
 
 #define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache
 #define nl_sock nl_handle
-#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */
+#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 && CONFIG_LIBNL32 */
 
 struct nl80211_state {
 	struct nl_sock *nl_sock;
-- 
1.7.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux