From 339e3811bbb140253fc7c8225322a51420046df6 Mon Sep 17 00:00:00 2001
From: Tim Gardner <tim.gardner@canonical.com>
Date: Mon, 8 Aug 2011 10:49:49 -0600
Subject: [PATCH] Add nested support for libnl-1, libnl-2.0, and libnl-3.0
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
Makefile | 21 ++++++++++++++-------
crda.c | 4 ++--
2 files changed, 16 insertions(+), 9 deletions(-)
@@ -47,15 +47,22 @@ 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)
-ifeq ($(NL1FOUND),Y)
-NLLIBNAME = libnl-1
-endif
-
-ifeq ($(NL2FOUND),Y)
-CFLAGS += -DCONFIG_LIBNL20
+ifeq ($(NL3FOUND),Y)
+CFLAGS += -DCONFIG_LIBNL30
NLLIBS += -lnl-genl
-NLLIBNAME = libnl-2.0
+NLLIBNAME = libnl-3.0
+else
+ ifeq ($(NL2FOUND),Y)
+ CFLAGS += -DCONFIG_LIBNL20
+ NLLIBS += -lnl-genl
+ NLLIBNAME = libnl-2.0
+ else
+ ifeq ($(NL1FOUND),Y)
+ NLLIBNAME = libnl-1
+ endif
+ endif
endif
ifeq ($(NLLIBNAME),)
@@ -21,7 +21,7 @@
#include "regdb.h"
#include "reglib.h"
-#ifndef CONFIG_LIBNL20
+#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30)
/* 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 */
+#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */
struct nl80211_state {
struct nl_sock *nl_sock;
--
1.7.0.4