diff options
Diffstat (limited to 'Sluift')
-rw-r--r-- | Sluift/SConscript | 13 | ||||
-rw-r--r-- | Sluift/linit.c | 39 |
2 files changed, 51 insertions, 1 deletions
diff --git a/Sluift/SConscript b/Sluift/SConscript index dbf7459..49d6de3 100644 --- a/Sluift/SConscript +++ b/Sluift/SConscript @@ -1,4 +1,4 @@ -Import("env") +Import(["env", "conf_env"]) if env["SCONS_STAGE"] == "build" : myenv = env.Clone() @@ -15,3 +15,14 @@ if env["SCONS_STAGE"] == "build" : myenv.SharedLibrary("sluift", [ "sluift.cpp", ]) + + sluift_bin_env = myenv.Clone() + sluift_bin_env.Install(".", "#/3rdParty/Lua/src/lua.c") + if sluift_bin_env.get("HAVE_READLINE", False) : + sluift_bin_env.Append(CPPDEFINES = ["LUA_USE_READLINE"]) + sluift_bin_env.MergeFlags(sluift_bin_env["READLINE_FLAGS"]) + sluift_bin_env.Program("sluift", [ + "sluift.cpp", + "lua.c", + "linit.c", + ]) diff --git a/Sluift/linit.c b/Sluift/linit.c new file mode 100644 index 0000000..4a3bd24 --- /dev/null +++ b/Sluift/linit.c @@ -0,0 +1,39 @@ +/* +** $Id: linit.c,v 1.14.1.1 2007/12/27 13:02:25 roberto Exp $ +** Initialization of libraries for lua.c +** See Copyright Notice in lua.h +*/ + + +#define linit_c +#define LUA_LIB + +#include "lua.h" + +#include "lualib.h" +#include "lauxlib.h" +#include "sluift.h" + +static const luaL_Reg lualibs[] = { + {"", luaopen_base}, + {LUA_LOADLIBNAME, luaopen_package}, + {LUA_TABLIBNAME, luaopen_table}, + {LUA_IOLIBNAME, luaopen_io}, + {LUA_OSLIBNAME, luaopen_os}, + {LUA_STRLIBNAME, luaopen_string}, + {LUA_MATHLIBNAME, luaopen_math}, + {LUA_DBLIBNAME, luaopen_debug}, + {"sluift", luaopen_sluift}, + {NULL, NULL} +}; + + +LUALIB_API void luaL_openlibs (lua_State *L) { + const luaL_Reg *lib = lualibs; + for (; lib->func; lib++) { + lua_pushcfunction(L, lib->func); + lua_pushstring(L, lib->name); + lua_call(L, 1, 0); + } +} + |