iw: add libnl-3.0 support
PATCH v2 1/1 iw: add libnl-3.0 support
Signed-off-by Yegor Yefremov <[email protected]>
---
Changes from v1:
- CONFIG_LIBNL30 added
Makefile | 10 ++++++++++ iw.c | 7 +++---- iw.h | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-)
Makefile +10 -0
@@ -24,6 +24,7 @@ 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
@@ -35,6 +36,12 @@ NLLIBNAME = libnl-2.0 endif +ifeq ($(NL3FOUND),Y) +CFLAGS += -DCONFIG_LIBNL30 +LIBS += -lnl-genl +NLLIBNAME = libnl-3.0 +endif + ifeq ($(NLLIBNAME),) $(error Cannot find development files for any supported version of libnl) endif
@@ -53,6 +60,8 @@ all: version_check $(ALL) version_check: +ifeq ($(NL3FOUND),Y) +else ifeq ($(NL2FOUND),Y) else ifeq ($(NL1FOUND),Y)
@@ -60,6 +69,7 @@ $(error No libnl found) endif endif +endif VERSION_OBJS := $(filter-out version.o, $(OBJS))
iw.c +3 -4
@@ -23,9 +23,8 @@#include "nl80211.h" #include "iw.h" -#ifndef CONFIG_LIBNL20 -/* libnl 2.0 compatibility code */ - +/* libnl 1.x compatibility code */ +#if !defined(CONFIG_LIBNL20 ) && !defined(CONFIG_LIBNL30 )static inline struct nl_handle *nl_socket_alloc (void ) {return nl_handle_alloc ();
@@ -45,7 +44,7 @@ return 0; }#define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache -#endif /* CONFIG_LIBNL20 */ +#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */ int iw_debug =0 ;
iw.h +2 -1
@@ -11,7 +11,8 @@#define ETH_ALEN 6 -#ifndef CONFIG_LIBNL20 +/* libnl 1.x compatibility code */ +#if !defined(CONFIG_LIBNL20 ) && !defined(CONFIG_LIBNL30 )# define nl_sock nl_handle#endif
Am 21.07.2011 17:06, schrieb Yegor Yefremov:
Quoted 83 lines
Signed-off-by Yegor Yefremov <[email protected]>---
Changes from v1:
-CONFIG_LIBNL30addedMakefile | 10 ++++++++++ iw.c | 7 +++---- iw.h | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-)Index: b/Makefile
===================================================================Makefile +10
-0@@ -24,6 +24,7 @@ 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@@ -35,6 +36,12 @@ NLLIBNAME = libnl-2.0 endif +ifeq ($(NL3FOUND),Y) +CFLAGS += -DCONFIG_LIBNL30 +LIBS += -lnl-genl +NLLIBNAME = libnl-3.0 +endif + ifeq ($(NLLIBNAME),) $(error Cannot find development files for any supported version of libnl) endif@@ -53,6 +60,8 @@ all: version_check $(ALL) version_check: +ifeq ($(NL3FOUND),Y) +else ifeq ($(NL2FOUND),Y) else ifeq ($(NL1FOUND),Y)@@ -60,6 +69,7 @@ $(error No libnl found) endif endif +endif VERSION_OBJS := $(filter-out version.o, $(OBJS))Index:
b/iw.c
===================================================================iw.c +3
-4@@ -23,9 +23,8 @@#include "nl80211.h" #include "iw.h" -#ifndef CONFIG_LIBNL20 -/* libnl 2.0 compatibility code */ - +/* libnl 1.x compatibility code */ +#if !defined(CONFIG_LIBNL20 ) && !defined(CONFIG_LIBNL30 )static inline struct nl_handle *nl_socket_alloc (void ) {return nl_handle_alloc ();@@ -45,7 +44,7 @@ return 0; }#define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache -#endif /* CONFIG_LIBNL20 */ +#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */ int iw_debug =0 ;Index:
b/iw.h
===================================================================
iw.h line 18
Quoted 9 lines
iw.h +2
-1@@ -11,7 +11,8 @@#define ETH_ALEN 6 -#ifndef CONFIG_LIBNL20 +/* libnl 1.x compatibility code */ +#if !defined(CONFIG_LIBNL20 ) && !defined(CONFIG_LIBNL30 )# define nl_sock nl_handle#endif
Is the patch correct now?
At the time this is the only patch needed to integrate this package in buildroot.
Yegor