From 16d65c96b035a10aa93a96e5a789ebef9ca3a76d Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 27 Sep 2010 15:38:35 +0000 Subject: [PATCH] [libiwinfo] - fix compilation of WL backend - conditionally compile backends according to selected wifi drivers --- contrib/package/iwinfo/Makefile | 10 ++++++-- contrib/package/iwinfo/src/Makefile | 25 ++++++++++++++++--- contrib/package/iwinfo/src/include/broadcom.h | 1 + contrib/package/iwinfo/src/iwinfo_wl.c | 2 +- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/contrib/package/iwinfo/Makefile b/contrib/package/iwinfo/Makefile index b9c41e426..4ea94028b 100644 --- a/contrib/package/iwinfo/Makefile +++ b/contrib/package/iwinfo/Makefile @@ -19,7 +19,7 @@ define Package/libiwinfo CATEGORY:=LuCI SUBMENU:=Libraries TITLE:=Generalized Wireless Information Library (iwinfo) - DEPENDS:=+libnl-tiny +liblua +lua + DEPENDS:=+PACKAGE_kmod-mac80211:libnl-tiny +liblua +lua endef define Package/libiwinfo/description @@ -35,6 +35,11 @@ endef define Build/Configure endef +IWINFO_BACKENDS := \ + $(if $(CONFIG_PACKAGE_kmod-brcm-wl),wl) \ + $(if $(CONFIG_PACKAGE_kmod-madwifi),madwifi) \ + $(if $(CONFIG_PACKAGE_kmod-mac80211),nl80211) + TARGET_CFLAGS += \ -I$(STAGING_DIR)/usr/include \ -I$(STAGING_DIR)/usr/include/libnl-tiny @@ -42,7 +47,8 @@ TARGET_CFLAGS += \ MAKE_FLAGS += \ FPIC="$(FPIC)" \ CFLAGS="$(TARGET_CFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS)" + LDFLAGS="$(TARGET_LDFLAGS)" \ + BACKENDS="$(IWINFO_BACKENDS)" define Package/libiwinfo/install $(INSTALL_DIR) $(1)/usr/bin diff --git a/contrib/package/iwinfo/src/Makefile b/contrib/package/iwinfo/src/Makefile index 1d4319fb0..40b720ab9 100644 --- a/contrib/package/iwinfo/src/Makefile +++ b/contrib/package/iwinfo/src/Makefile @@ -1,8 +1,25 @@ -IWINFO_LDFLAGS = $(LDFLAGS) -shared -llua $(if $(CRAP),,-lnl-tiny) -IWINFO_CFLAGS = $(CFLAGS) -std=gnu99 -fstrict-aliasing $(if $(CRAP),-DUSE_WL,-DUSE_MADWIFI -DUSE_NL80211) +IWINFO_BACKENDS = $(if $(BACKENDS),$(BACKENDS),madwifi nl80211) +IWINFO_LDFLAGS = $(LDFLAGS) -shared -llua +IWINFO_CFLAGS = $(CFLAGS) -std=gnu99 -fstrict-aliasing IWINFO_SO = iwinfo.so -IWINFO_OBJ = $(if $(CRAP),iwinfo_wl.o,iwinfo_madwifi.o iwinfo_nl80211.o) \ - iwinfo_wext.o iwinfo_wext_scan.o iwinfo_lualib.o +IWINFO_OBJ = iwinfo_wext.o iwinfo_wext_scan.o iwinfo_lualib.o + +ifneq ($(filter wl,$(IWINFO_BACKENDS)),) + IWINFO_CFLAGS += -DUSE_WL + IWINFO_OBJ += iwinfo_wl.o +endif + +ifneq ($(filter madwifi,$(IWINFO_BACKENDS)),) + IWINFO_CFLAGS += -DUSE_MADWIFI + IWINFO_OBJ += iwinfo_madwifi.o +endif + +ifneq ($(filter nl80211,$(IWINFO_BACKENDS)),) + IWINFO_CFLAGS += -DUSE_NL80211 + IWINFO_LDFLAGS += -lnl-tiny + IWINFO_OBJ += iwinfo_nl80211.o +endif + %.o: %.c $(CC) $(IWINFO_CFLAGS) $(LUA_CFLAGS) $(FPIC) -c -o $@ $< diff --git a/contrib/package/iwinfo/src/include/broadcom.h b/contrib/package/iwinfo/src/include/broadcom.h index ae7ae531d..9652d7433 100644 --- a/contrib/package/iwinfo/src/include/broadcom.h +++ b/contrib/package/iwinfo/src/include/broadcom.h @@ -29,6 +29,7 @@ #define WLC_GET_MAGIC 0 #define WLC_GET_RATE 12 #define WLC_GET_INFRA 19 +#define WLC_GET_AUTH 21 #define WLC_GET_BSSID 23 #define WLC_GET_SSID 25 #define WLC_GET_CHANNEL 29 diff --git a/contrib/package/iwinfo/src/iwinfo_wl.c b/contrib/package/iwinfo/src/iwinfo_wl.c index 1c2929489..7c1904bf1 100644 --- a/contrib/package/iwinfo/src/iwinfo_wl.c +++ b/contrib/package/iwinfo/src/iwinfo_wl.c @@ -265,7 +265,7 @@ int wl_get_encryption(const char *ifname, char *buf) c->auth_algs |= IWINFO_AUTH_SHARED; /* ToDo: evaluate WEP key lengths */ - c->auth_ciphers = IWINFO_CIPHER_WEP40 | IWINFO_CIPHER_WEP104; + c->pair_ciphers = IWINFO_CIPHER_WEP40 | IWINFO_CIPHER_WEP104; c->auth_suites |= IWINFO_KMGMT_NONE; break; -- 2.25.1