Revert "- rewrite Lua handling"

This reverts commit ed048eebdd.

It broke static linked lua+luaposix completely, which is useful
for debugging and thus should be kept working.


Origin commit data
------------------
Branch: ni/coolstream
Commit: f10057118f
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2014-01-26 (Sun, 26 Jan 2014)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2014-01-26 00:16:30 +01:00
parent 5bd5a95990
commit 1a6c5ee351
2 changed files with 53 additions and 19 deletions

View File

@@ -95,6 +95,16 @@ TUXBOX_APPS_LIB_PKGCONFIG(AVFORMAT,libavformat)
TUXBOX_APPS_LIB_PKGCONFIG(AVCODEC,libavcodec)
TUXBOX_APPS_LIB_PKGCONFIG(AVUTIL,libavutil)
# either use dynamic lualib in package lua (openSUSE)
# ... or in package lua5.2 (debian-derivates)
# ... and if all fails, assume it is in the linker path (cross build)
PKG_CHECK_MODULES([LUA], [lua >= 5.2], echo "lua >= 5.2 found", [
PKG_CHECK_MODULES([LUA], [lua5.2 >= 5.2], echo "lua5.2 found", [
echo "=> lualib not found, assuming static lua in linker path..."
LUA_LIBS="-llua -ldl"
])
])
#TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
#TUXBOX_APPS_LIB_PKGCONFIG(CONNECTION,tuxbox-connection)
#TUXBOX_APPS_LIB_PKGCONFIG(EVENTSERVER,tuxbox-eventserver)
@@ -152,23 +162,6 @@ if test "$enable_upnp" = "yes"; then
AC_DEFINE(ENABLE_UPNP,1,[include UPNP support - currently broken])
fi
# Lua - embeddable scripting language
AC_ARG_ENABLE(lua,
AS_HELP_STRING(--enable-lua,include Lua support),
,[enable_lua=no])
AM_CONDITIONAL(ENABLE_LUA,test "$enable_lua" = "yes")
if test "$enable_lua" = "yes"; then
AC_DEFINE(ENABLE_LUA,1,[include Lua support])
PKG_CHECK_MODULES([LUA], [lua >= 5.2], echo "lua >= 5.2 found", [
PKG_CHECK_MODULES([LUA], [lua5.2 >= 5.2], echo "lua5.2 found", [
echo "=> lualib not found, assuming static lua in linker path..."
LUA_LIBS="-llua -ldl"
AC_DEFINE(STATIC_LUAPOSIX,1,[Define to 1 for static lua build.])
])
])
fi
AC_ARG_ENABLE(cleanup,
[ --enable-cleanup enable cleanup on exit],
[AC_DEFINE(EXIT_CLEANUP,1,[enable cleanup on exit])])
@@ -186,6 +179,16 @@ if test "$enable_testmenu" = "yes"; then
AC_DEFINE(ENABLE_TEST_MENU,1,[include test menu in neutrino main menu - not recommended for general users!])
fi
AC_ARG_ENABLE(lua,
AS_HELP_STRING(--enable-lua,enable LUA support))
AM_CONDITIONAL(ENABLE_LUA,test "$enable_lua" = "yes")
if test "$enable_lua" = "yes"; then
AC_DEFINE(ENABLE_LUA,1,[include LUA support])
fi
if test "$BOXTYPE" = "coolstream"; then
if test -e ${srcdir}/lib/libcoolstream/nevis_ir.h; then
AC_DEFINE(HAVE_COOLSTREAM_NEVIS_IR_H,1,[Define to 1 if you have the <nevis_ir.h> header file.])

View File

@@ -347,12 +347,35 @@ const luaL_Reg CLuaInstance::methods[] =
{ NULL, NULL }
};
#ifdef STATIC_LUAPOSIX
#ifndef DYNAMIC_LUAPOSIX
/* hack: we link against luaposix, which is included in our
* custom built lualib */
extern "C" { LUAMOD_API int (luaopen_posix_c) (lua_State *L); }
#else
static int dolibrary (lua_State *L, const char *name)
{
int status = 0;
const char *msg = "";
lua_getglobal(L, "require");
lua_pushstring(L, name);
status = lua_pcall(L, 1, 0, 0);
if (status && !lua_isnil(L, -1))
{
msg = lua_tostring(L, -1);
if (NULL == msg)
{
msg = "(error object is not a string)";
}
fprintf(stderr, "[CLuaInstance::%s] error in dolibrary: %s (%s)\n", __func__, name,msg);
lua_pop(L, 1);
}
else
{
printf("[CLuaInstance::%s] loaded library: %s\n", __func__, name);
}
return status;
}
#endif
/* load basic functions and register our own C callbacks */
void CLuaInstance::registerFunctions()
{
@@ -361,6 +384,14 @@ void CLuaInstance::registerFunctions()
luaopen_io(lua);
luaopen_string(lua);
luaopen_math(lua);
#ifndef DYNAMIC_LUAPOSIX
#if !HAVE_COOL_HARDWARE
luaopen_posix_c(lua);
#endif
#else
dolibrary(lua,"posix");
#endif
lua_newtable(lua);
int methodtable = lua_gettop(lua);
luaL_newmetatable(lua, className);