diff options
author | Francois Perrad <fperrad@gmail.com> | 2012-12-03 06:12:14 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2012-12-05 10:58:01 -0800 |
commit | 635bebf559f4f76bc4fa49c3ccb468476a654151 (patch) | |
tree | 558da0b15df5ddbaa0930c53539d199d294eeb7c /package | |
parent | d87847203f3b1b6af51515978563f0dee737b6fd (diff) | |
download | buildroot-novena-635bebf559f4f76bc4fa49c3ccb468476a654151.tar.gz buildroot-novena-635bebf559f4f76bc4fa49c3ccb468476a654151.zip |
lua: support linenoise
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package')
-rw-r--r-- | package/lua/Config.in | 17 | ||||
-rw-r--r-- | package/lua/lua-11-linenoise.patch | 24 | ||||
-rw-r--r-- | package/lua/lua.mk | 8 |
3 files changed, 48 insertions, 1 deletions
diff --git a/package/lua/Config.in b/package/lua/Config.in index 8233e2a69..416673026 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -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 diff --git a/package/lua/lua-11-linenoise.patch b/package/lua/lua-11-linenoise.patch new file mode 100644 index 000000000..488c080a1 --- /dev/null +++ b/package/lua/lua-11-linenoise.patch @@ -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 */ \ diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 9e0d38764..32acc999d 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -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. |