Browse Source

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>
Felix Fietkau 1 year ago
parent
commit
b3e08c8b5a
3 changed files with 14 additions and 1 deletions
  1. 6 1
      Makefile
  2. 2 0
      iwinfo_lib.c
  3. 6 0
      iwinfo_lua.c

+ 6 - 1
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

+ 2 - 0
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)

+ 6 - 0
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;
 }