summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-09-22 13:20:15 +0200
committerFelix Fietkau <nbd@nbd.name>2022-09-22 13:20:17 +0200
commitb3e08c8b5a8fa2c5badaa7249a549ca274487781 (patch)
tree14ac593996914ce715dc0c67ac72c0bf8e4e79ca
parent46f04f3808e8b8c9608d0974c4cede1e78110b7f (diff)
downloadiwinfo-b3e08c8b5a8fa2c5badaa7249a549ca274487781.tar.gz
ops: make support for wireless extensions optional
It is usually not needed anymore and only wastes space Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--Makefile7
-rw-r--r--iwinfo_lib.c2
-rw-r--r--iwinfo_lua.c6
3 files changed, 14 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 57b6a09..71b26d8 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ IWINFO_LDFLAGS = -luci -lubox -lubus
IWINFO_LIB = libiwinfo.so
IWINFO_LIB_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname -Wl,$(IWINFO_LIB).$(IWINFO_SOVERSION)
-IWINFO_LIB_OBJ = iwinfo_utils.o iwinfo_wext.o iwinfo_wext_scan.o iwinfo_lib.o
+IWINFO_LIB_OBJ = iwinfo_utils.o iwinfo_lib.o
IWINFO_LUA = iwinfo.so
IWINFO_LUA_LDFLAGS = $(LDFLAGS) -shared -L. -liwinfo -llua
@@ -17,6 +17,11 @@ IWINFO_CLI_LDFLAGS = $(LDFLAGS) -L. -liwinfo
IWINFO_CLI_OBJ = iwinfo_cli.o
+ifneq ($(filter wl wext madwifi,$(IWINFO_BACKENDS)),)
+ IWINFO_CFLAGS += -DUSE_WEXT
+ IWINFO_LIB_OBJ += iwinfo_wext.o iwinfo_wext_scan.o
+endif
+
ifneq ($(filter wl,$(IWINFO_BACKENDS)),)
IWINFO_CFLAGS += -DUSE_WL
IWINFO_LIB_OBJ += iwinfo_wl.o
diff --git a/iwinfo_lib.c b/iwinfo_lib.c
index 3364cfc..22571f0 100644
--- a/iwinfo_lib.c
+++ b/iwinfo_lib.c
@@ -344,7 +344,9 @@ static const struct iwinfo_ops *backends[] = {
#ifdef USE_WL
&wl_ops,
#endif
+#ifdef USE_WEXT
&wext_ops,
+#endif
};
const char * iwinfo_type(const char *ifname)
diff --git a/iwinfo_lua.c b/iwinfo_lua.c
index a2fe9d1..996f291 100644
--- a/iwinfo_lua.c
+++ b/iwinfo_lua.c
@@ -776,6 +776,7 @@ LUA_WRAP_STRUCT_OP(nl80211,hardware_id)
#endif
/* Wext */
+#ifdef USE_WEXT
LUA_WRAP_INT_OP(wext,channel)
LUA_WRAP_INT_OP(wext,frequency)
LUA_WRAP_INT_OP(wext,frequency_offset)
@@ -802,6 +803,7 @@ LUA_WRAP_STRUCT_OP(wext,htmodelist)
LUA_WRAP_STRUCT_OP(wext,encryption)
LUA_WRAP_STRUCT_OP(wext,mbssid_support)
LUA_WRAP_STRUCT_OP(wext,hardware_id)
+#endif
#ifdef USE_WL
/* Broadcom table */
@@ -903,6 +905,7 @@ static const luaL_reg R_nl80211[] = {
#endif
/* Wext table */
+#ifdef USE_WEXT
static const luaL_reg R_wext[] = {
LUA_REG(wext,channel),
LUA_REG(wext,frequency),
@@ -932,6 +935,7 @@ static const luaL_reg R_wext[] = {
LUA_REG(wext,phyname),
{ NULL, NULL }
};
+#endif
/* Common */
static const luaL_reg R_common[] = {
@@ -971,12 +975,14 @@ LUALIB_API int luaopen_iwinfo(lua_State *L) {
lua_setfield(L, -2, "nl80211");
#endif
+#ifdef USE_WEXT
luaL_newmetatable(L, IWINFO_WEXT_META);
luaL_register(L, NULL, R_common);
luaL_register(L, NULL, R_wext);
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
lua_setfield(L, -2, "wext");
+#endif
return 1;
}