libs/iwinfo: conditionally compile wl.o or madwifi support, make it depend on $(CRAP)

This commit is contained in:
Jo-Philipp Wich 2009-11-15 15:53:35 +00:00
parent 89ece183ef
commit 2a68a29c57
4 changed files with 39 additions and 8 deletions

View file

@ -7,10 +7,10 @@ include standalone.mk
endif endif
IWINFO_LDFLAGS = IWINFO_LDFLAGS =
IWINFO_CFLAGS = -fstrict-aliasing IWINFO_CFLAGS = -fstrict-aliasing $(if $(CRAP),-DUSE_WL,-DUSE_MADWIFI)
IWINFO_SO = iwinfo.so IWINFO_SO = iwinfo.so
IWINFO_LUA = iwinfo.lua IWINFO_LUA = iwinfo.lua
IWINFO_OBJ = src/iwinfo_wl.o src/iwinfo_madwifi.o \ IWINFO_OBJ = $(if $(CRAP),src/iwinfo_wl.o,src/iwinfo_madwifi.o) \
src/iwinfo_wext.o src/iwinfo_wext_scan.o src/iwinfo_lualib.o src/iwinfo_wext.o src/iwinfo_wext_scan.o src/iwinfo_lualib.o
%.o: %.c %.o: %.c

View file

@ -18,10 +18,16 @@
#include <net/if.h> #include <net/if.h>
#include <errno.h> #include <errno.h>
#include "iwinfo_wl.h"
#include "iwinfo_madwifi.h"
#include "iwinfo_wext.h" #include "iwinfo_wext.h"
#ifdef USE_WL
#include "iwinfo_wl.h"
#endif
#ifdef USE_MADWIFI
#include "iwinfo_madwifi.h"
#endif
#define IWINFO_BUFSIZE 24 * 1024 #define IWINFO_BUFSIZE 24 * 1024

View file

@ -23,13 +23,19 @@ static int iwinfo_L_type(lua_State *L)
{ {
const char *ifname = luaL_checkstring(L, 1); const char *ifname = luaL_checkstring(L, 1);
#ifdef USE_MADWIFI
if( madwifi_probe(ifname) ) if( madwifi_probe(ifname) )
lua_pushstring(L, "madwifi"); lua_pushstring(L, "madwifi");
else
#endif
else if( wl_probe(ifname) ) #ifdef USE_WL
if( wl_probe(ifname) )
lua_pushstring(L, "wl"); lua_pushstring(L, "wl");
else
#endif
else if( wext_probe(ifname) ) if( wext_probe(ifname) )
lua_pushstring(L, "wext"); lua_pushstring(L, "wext");
else else
@ -244,6 +250,7 @@ static int iwinfo_L_freqlist(lua_State *L, int (*func)(const char *, char *, int
return 1; return 1;
} }
#ifdef USE_WL
/* Broadcom */ /* Broadcom */
LUA_WRAP_INT(wl,channel) LUA_WRAP_INT(wl,channel)
LUA_WRAP_INT(wl,frequency) LUA_WRAP_INT(wl,frequency)
@ -261,7 +268,9 @@ LUA_WRAP_LIST(wl,assoclist)
LUA_WRAP_LIST(wl,txpwrlist) LUA_WRAP_LIST(wl,txpwrlist)
LUA_WRAP_LIST(wl,scanlist) LUA_WRAP_LIST(wl,scanlist)
LUA_WRAP_LIST(wl,freqlist) LUA_WRAP_LIST(wl,freqlist)
#endif
#ifdef USE_MADWIFI
/* Madwifi */ /* Madwifi */
LUA_WRAP_INT(madwifi,channel) LUA_WRAP_INT(madwifi,channel)
LUA_WRAP_INT(madwifi,frequency) LUA_WRAP_INT(madwifi,frequency)
@ -279,6 +288,7 @@ LUA_WRAP_LIST(madwifi,assoclist)
LUA_WRAP_LIST(madwifi,txpwrlist) LUA_WRAP_LIST(madwifi,txpwrlist)
LUA_WRAP_LIST(madwifi,scanlist) LUA_WRAP_LIST(madwifi,scanlist)
LUA_WRAP_LIST(madwifi,freqlist) LUA_WRAP_LIST(madwifi,freqlist)
#endif
/* Wext */ /* Wext */
LUA_WRAP_INT(wext,channel) LUA_WRAP_INT(wext,channel)
@ -298,6 +308,7 @@ LUA_WRAP_LIST(wext,txpwrlist)
LUA_WRAP_LIST(wext,scanlist) LUA_WRAP_LIST(wext,scanlist)
LUA_WRAP_LIST(wext,freqlist) LUA_WRAP_LIST(wext,freqlist)
#ifdef USE_WL
/* Broadcom table */ /* Broadcom table */
static const luaL_reg R_wl[] = { static const luaL_reg R_wl[] = {
LUA_REG(wl,channel), LUA_REG(wl,channel),
@ -318,7 +329,9 @@ static const luaL_reg R_wl[] = {
LUA_REG(wl,mbssid_support), LUA_REG(wl,mbssid_support),
{ NULL, NULL } { NULL, NULL }
}; };
#endif
#ifdef USE_MADWIFI
/* Madwifi table */ /* Madwifi table */
static const luaL_reg R_madwifi[] = { static const luaL_reg R_madwifi[] = {
LUA_REG(madwifi,channel), LUA_REG(madwifi,channel),
@ -339,6 +352,7 @@ static const luaL_reg R_madwifi[] = {
LUA_REG(madwifi,mbssid_support), LUA_REG(madwifi,mbssid_support),
{ NULL, NULL } { NULL, NULL }
}; };
#endif
/* Wext table */ /* Wext table */
static const luaL_reg R_wext[] = { static const luaL_reg R_wext[] = {
@ -371,17 +385,21 @@ static const luaL_reg R_common[] = {
LUALIB_API int luaopen_iwinfo(lua_State *L) { LUALIB_API int luaopen_iwinfo(lua_State *L) {
luaL_register(L, IWINFO_META, R_common); luaL_register(L, IWINFO_META, R_common);
#ifdef USE_WL
luaL_newmetatable(L, IWINFO_WL_META); luaL_newmetatable(L, IWINFO_WL_META);
luaL_register(L, NULL, R_wl); luaL_register(L, NULL, R_wl);
lua_pushvalue(L, -1); lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index"); lua_setfield(L, -2, "__index");
lua_setfield(L, -2, "wl"); lua_setfield(L, -2, "wl");
#endif
#ifdef USE_MADWIFI
luaL_newmetatable(L, IWINFO_MADWIFI_META); luaL_newmetatable(L, IWINFO_MADWIFI_META);
luaL_register(L, NULL, R_madwifi); luaL_register(L, NULL, R_madwifi);
lua_pushvalue(L, -1); lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index"); lua_setfield(L, -2, "__index");
lua_setfield(L, -2, "madwifi"); lua_setfield(L, -2, "madwifi");
#endif
luaL_newmetatable(L, IWINFO_WEXT_META); luaL_newmetatable(L, IWINFO_WEXT_META);
luaL_register(L, NULL, R_wext); luaL_register(L, NULL, R_wext);

View file

@ -28,10 +28,17 @@
#define IWINFO_META "iwinfo" #define IWINFO_META "iwinfo"
#define IWINFO_WL_META "iwinfo.wl"
#define IWINFO_MADWIFI_META "iwinfo.madwifi"
#define IWINFO_WEXT_META "iwinfo.wext" #define IWINFO_WEXT_META "iwinfo.wext"
#ifdef USE_WL
#define IWINFO_WL_META "iwinfo.wl"
#endif
#ifdef USE_MADWIFI
#define IWINFO_MADWIFI_META "iwinfo.madwifi"
#endif
#define LUA_REG(type,op) \ #define LUA_REG(type,op) \
{ #op, iwinfo_L_##type##_##op } { #op, iwinfo_L_##type##_##op }