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; }