lua: support linenoise
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
d87847203f
commit
635bebf559
@ -7,6 +7,15 @@ config BR2_PACKAGE_LUA
|
||||
|
||||
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
|
||||
@ -14,4 +23,12 @@ config BR2_PACKAGE_LUA_INTERPRETER_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
|
||||
|
24
package/lua/lua-11-linenoise.patch
Normal file
24
package/lua/lua-11-linenoise.patch
Normal file
@ -0,0 +1,24 @@
|
||||
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 */ \
|
@ -16,10 +16,16 @@ LUA_MYLIBS += -ldl
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user