From patchwork Wed Jan 15 19:54:32 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francois Perrad X-Patchwork-Id: 311255 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id B015F2C0097 for ; Thu, 16 Jan 2014 06:54:49 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id E51488B94D; Wed, 15 Jan 2014 19:54:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id owV08cQPhiRC; Wed, 15 Jan 2014 19:54:48 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id EAF378B92D; Wed, 15 Jan 2014 19:54:47 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 43CDD1C1766 for ; Wed, 15 Jan 2014 19:54:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 13DB68BF05 for ; Wed, 15 Jan 2014 19:54:47 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QxSYCMVdZLlL for ; Wed, 15 Jan 2014 19:54:45 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wg0-f53.google.com (mail-wg0-f53.google.com [74.125.82.53]) by whitealder.osuosl.org (Postfix) with ESMTPS id 4973F8BDE0 for ; Wed, 15 Jan 2014 19:54:44 +0000 (UTC) Received: by mail-wg0-f53.google.com with SMTP id y10so2299240wgg.32 for ; Wed, 15 Jan 2014 11:54:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=Kf238QVl/ygGby9fyl2kUJNbC6pdAbiCXr12XpXtkP4=; b=f3PxMPCoOodYCu+KqypoJqDSiO9JPBpiGDKJTOHl9mcRliuRFRCRFj4r2ho1HDd3WG BvZIhMcDxo/qjHkSCnKoS149lVTLzw+bn8I3qvk5wHI/n5xnvKB1cyfkMWK2r8RyoLou fT6haGH4dGw5pinf17qduqqdcB3dgo2U2BhgoLnW7ABZjcnfO6S7dHu3YUGDDZABMg4g Ledx26qA44Cu1Nj5I+xyzK1k7RlcZ4sC5zlx5IaeuToNFrOh2RlVIGVaW+DWaHknUOB1 lzSdh8ThnVqpwtcJ97Cxay2HpuHxtgHbBQ4ZqehBYILzyeAS+RNFF/kGZ2gQ0yhvdY73 yuGA== X-Received: by 10.194.235.230 with SMTP id up6mr4324224wjc.30.1389815682592; Wed, 15 Jan 2014 11:54:42 -0800 (PST) Received: from ubuntu.localdomain (94.166.87.79.rev.sfr.net. [79.87.166.94]) by mx.google.com with ESMTPSA id mv9sm8206223wic.1.2014.01.15.11.54.40 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 15 Jan 2014 11:54:41 -0800 (PST) From: Francois Perrad To: buildroot@busybox.net Date: Wed, 15 Jan 2014 20:54:32 +0100 Message-Id: <1389815674-14759-1-git-send-email-francois.perrad@gadz.org> X-Mailer: git-send-email 1.7.9.5 Subject: [Buildroot] [V2 1/3] lua: choice between 5.1.x & 5.2.x X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Francois Perrad --- package/lua/{ => 5.1.5}/lua-01-root-path.patch | 0 .../{ => 5.1.5}/lua-02-shared-libs-for-lua.patch | 0 package/lua/{ => 5.1.5}/lua-11-linenoise.patch | 0 package/lua/5.2.3/lua-01-root-path.patch | 17 +++++++++ .../{ => 5.2.3}/lua-02-shared-libs-for-lua.patch | 28 +++++++------- package/lua/5.2.3/lua-04-lua-pc.patch | 40 ++++++++++++++++++++ package/lua/{ => 5.2.3}/lua-11-linenoise.patch | 22 ++++++----- package/lua/Config.in | 14 +++++++ package/lua/lua.mk | 18 ++++++++- package/luainterpreter/Config.in | 5 +++ package/luainterpreter/luainterpreter.mk | 2 + 11 files changed, 121 insertions(+), 25 deletions(-) rename package/lua/{ => 5.1.5}/lua-01-root-path.patch (100%) copy package/lua/{ => 5.1.5}/lua-02-shared-libs-for-lua.patch (100%) copy package/lua/{ => 5.1.5}/lua-11-linenoise.patch (100%) create mode 100644 package/lua/5.2.3/lua-01-root-path.patch rename package/lua/{ => 5.2.3}/lua-02-shared-libs-for-lua.patch (59%) create mode 100644 package/lua/5.2.3/lua-04-lua-pc.patch rename package/lua/{ => 5.2.3}/lua-11-linenoise.patch (60%) diff --git a/package/lua/lua-01-root-path.patch b/package/lua/5.1.5/lua-01-root-path.patch similarity index 100% rename from package/lua/lua-01-root-path.patch rename to package/lua/5.1.5/lua-01-root-path.patch diff --git a/package/lua/lua-02-shared-libs-for-lua.patch b/package/lua/5.1.5/lua-02-shared-libs-for-lua.patch similarity index 100% copy from package/lua/lua-02-shared-libs-for-lua.patch copy to package/lua/5.1.5/lua-02-shared-libs-for-lua.patch diff --git a/package/lua/lua-11-linenoise.patch b/package/lua/5.1.5/lua-11-linenoise.patch similarity index 100% copy from package/lua/lua-11-linenoise.patch copy to package/lua/5.1.5/lua-11-linenoise.patch diff --git a/package/lua/5.2.3/lua-01-root-path.patch b/package/lua/5.2.3/lua-01-root-path.patch new file mode 100644 index 0000000..c6f242c --- /dev/null +++ b/package/lua/5.2.3/lua-01-root-path.patch @@ -0,0 +1,17 @@ +Adjust installation location to /usr. + +Signed-off-by: Francois Perrad + +Index: b/src/luaconf.h +=================================================================== +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -100,7 +100,7 @@ + #else /* }{ */ + + #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" +-#define LUA_ROOT "/usr/local/" ++#define LUA_ROOT "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR + #define LUA_PATH_DEFAULT \ diff --git a/package/lua/lua-02-shared-libs-for-lua.patch b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch similarity index 59% rename from package/lua/lua-02-shared-libs-for-lua.patch rename to package/lua/5.2.3/lua-02-shared-libs-for-lua.patch index 97a7068..4679325 100644 --- a/package/lua/lua-02-shared-libs-for-lua.patch +++ b/package/lua/5.2.3/lua-02-shared-libs-for-lua.patch @@ -7,43 +7,43 @@ Index: b/src/Makefile =================================================================== --- a/src/Makefile +++ b/src/Makefile -@@ -23,6 +23,7 @@ +@@ -29,6 +29,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris LUA_A= liblua.a +LUA_SO= liblua.so - CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ - lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ - lundump.o lvm.o lzio.o -@@ -36,8 +37,9 @@ - LUAC_O= luac.o print.o + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +@@ -43,8 +44,9 @@ + LUAC_O= luac.o - ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T) ALL_A= $(LUA_A) +ALL_SO= $(LUA_SO) + # Targets start here. default: $(PLAT) - -@@ -47,12 +49,18 @@ +@@ -55,12 +57,18 @@ a: $(ALL_A) +so: $(ALL_SO) + - $(LUA_A): $(CORE_O) $(LIB_O) - $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files + $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) $(RANLIB) $@ -$(LUA_T): $(LUA_O) $(LUA_A) -- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) +- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) +$(LUA_SO): $(CORE_O) $(LIB_O) + $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? + ln -fs $@.$(PKG_VERSION) $@ + +$(LUA_T): $(LUA_O) $(LUA_SO) -+ $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS) ++ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS) $(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/package/lua/5.2.3/lua-04-lua-pc.patch b/package/lua/5.2.3/lua-04-lua-pc.patch new file mode 100644 index 0000000..62acb20 --- /dev/null +++ b/package/lua/5.2.3/lua-04-lua-pc.patch @@ -0,0 +1,40 @@ +add lua.pc + +Signed-off-by: Francois Perrad + +Index: b/etc/lua.pc +=================================================================== +--- /dev/null ++++ b/etc/lua.pc +@@ -0,0 +1,31 @@ ++# lua.pc -- pkg-config data for Lua ++ ++# vars from install Makefile ++ ++# grep '^V=' ../Makefile ++V= 5.2 ++# grep '^R=' ../Makefile ++R= 5.2.3 ++ ++# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' ++prefix= /usr ++INSTALL_BIN= ${prefix}/bin ++INSTALL_INC= ${prefix}/include ++INSTALL_LIB= ${prefix}/lib ++INSTALL_MAN= ${prefix}/man/man1 ++INSTALL_LMOD= ${prefix}/share/lua/${V} ++INSTALL_CMOD= ${prefix}/lib/lua/${V} ++ ++# canonical vars ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: Lua ++Description: An Extensible Extension Language ++Version: ${R} ++Requires: ++Libs: -L${libdir} -llua -lm ++Cflags: -I${includedir} ++ ++# (end of lua.pc) diff --git a/package/lua/lua-11-linenoise.patch b/package/lua/5.2.3/lua-11-linenoise.patch similarity index 60% rename from package/lua/lua-11-linenoise.patch rename to package/lua/5.2.3/lua-11-linenoise.patch index 488c080..b1f228c 100644 --- a/package/lua/lua-11-linenoise.patch +++ b/package/lua/5.2.3/lua-11-linenoise.patch @@ -4,21 +4,23 @@ see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html Signed-off-by: Francois Perrad -Index: b/src/luaconf.h +Index: b/src/lua.c =================================================================== ---- 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 */ +--- a/src/lua.c ++++ b/src/lua.c +@@ -72,6 +72,15 @@ + 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 +#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? */ \ ++ if (lua_rawlen(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 */ \ ++ + #elif !defined(lua_readline) + + #define lua_readline(L,b,p) \ diff --git a/package/lua/Config.in b/package/lua/Config.in index b96ef0e..9b8b6f1 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -12,6 +12,20 @@ config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER default "lua" choice + prompt "Lua Version" + default BR2_PACKAGE_LUA_5_1 + help + Select the version of Lua API/ABI you wish to use. + + config BR2_PACKAGE_LUA_5_1 + bool "Lua 5.1.x" + + config BR2_PACKAGE_LUA_5_2 + bool "Lua 5.2.x" + +endchoice + +choice prompt "Lua Interpreter command-line editing" default BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE diff --git a/package/lua/lua.mk b/package/lua/lua.mk index a88a11e..2c867f6 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -4,7 +4,11 @@ # ################################################################################ +ifeq ($(BR2_PACKAGE_LUA_5_2),y) +LUA_VERSION = 5.2.3 +else LUA_VERSION = 5.1.5 +endif LUA_SITE = http://www.lua.org/ftp LUA_INSTALL_STAGING = YES LUA_LICENSE = MIT @@ -13,6 +17,13 @@ LUA_LICENSE_FILES = COPYRIGHT LUA_CFLAGS = -Wall -fPIC LUA_MYLIBS += -ldl +ifeq ($(BR2_PACKAGE_LUA_5_2),y) +LUA_CFLAGS += -DLUA_COMPAT_ALL +ifneq ($(BR2_LARGEFILE),y) +LUA_CFLAGS += -D_FILE_OFFSET_BITS=32 +endif +endif + ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y) LUA_DEPENDENCIES = readline ncurses LUA_MYLIBS += -lreadline -lhistory -lncurses @@ -33,6 +44,10 @@ HOST_LUA_DEPENDENCIES = HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX HOST_LUA_MYLIBS = -ldl +ifeq ($(BR2_PACKAGE_LUA_5_2),y) +HOST_LUA_CFLAGS += -DLUA_COMPAT_ALL +endif + define LUA_BUILD_CMDS $(MAKE) \ CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \ @@ -70,7 +85,8 @@ define LUA_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \ $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION) ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so - $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a + mkdir -p $(TARGET_DIR)/usr/lib/lua/$(LUAINTERPRETER_ABIVER) + mkdir -p $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER) endef define HOST_LUA_INSTALL_CMDS diff --git a/package/luainterpreter/Config.in b/package/luainterpreter/Config.in index 1562145..ec51c1a 100644 --- a/package/luainterpreter/Config.in +++ b/package/luainterpreter/Config.in @@ -4,3 +4,8 @@ config BR2_PACKAGE_HAS_LUA_INTERPRETER config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER string depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + +config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION + string + default "5.1" if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT + default "5.2" if BR2_PACKAGE_LUA_5_2 diff --git a/package/luainterpreter/luainterpreter.mk b/package/luainterpreter/luainterpreter.mk index 04d63d4..c37d621 100644 --- a/package/luainterpreter/luainterpreter.mk +++ b/package/luainterpreter/luainterpreter.mk @@ -7,4 +7,6 @@ LUAINTERPRETER_SOURCE = LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUA_INTERPRETER)) +LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION)) + $(eval $(generic-package))