if BR2_PACKAGE_LUA
+choice
+ prompt "Lua Interpreter command-line editing"
+ default BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE
+
+config BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE
+ bool "none"
+ help
+ None.
+
config BR2_PACKAGE_LUA_INTERPRETER_READLINE
bool "readline support"
select BR2_PACKAGE_READLINE
help
Enables command-line editing in the lua interpreter.
+config BR2_PACKAGE_LUA_INTERPRETER_LINENOISE
+ bool "linenoise support"
+ select BR2_PACKAGE_LINENOISE
+ help
+ Enables command-line editing in the lua interpreter.
+
+endchoice
+
endif
--- /dev/null
+Add support of linenoise (replace readline)
+
+see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/src/luaconf.h
+===================================================================
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -279,6 +279,13 @@
+ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
+ add_history(lua_tostring(L, idx)); /* add it to history */
+ #define lua_freeline(L,b) ((void)L, free(b))
++#elif defined(LUA_USE_LINENOISE)
++#include <linenoise.h>
++#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL)
++#define lua_saveline(L,idx) \
++ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
++ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */
++#define lua_freeline(L,b) ((void)L, free(b))
+ #else
+ #define lua_readline(L,b,p) \
+ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \
ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
LUA_DEPENDENCIES = readline ncurses
LUA_MYLIBS += -lreadline -lhistory -lncurses
- LUA_CFLAGS += -DLUA_USE_LINUX
+ LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE
+else
+ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y)
+ LUA_DEPENDENCIES = linenoise
+ LUA_MYLIBS += -llinenoise
+ LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_LINENOISE
else
LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN
endif
+endif
# We never want to have host-readline and host-ncurses as dependencies
# of host-lua.