On Tue, Jul 04, 2017 at 10:36:46PM +0200, Robert Schwebel wrote: > The 00*.patch series was previously ported from upstream and is already > included in 5.3.4. > > The 01*.patch series removes the old Makefile and adds autotoolisation, > so these patches are forward ported.
luaexpat fails to build with this. I think the autotool stuff is missing something. Michael ------------------------ target: luaexpat.compile ------------------------ make[1]: Entering directory '/srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/build-target/luaexpat-1.2.0' arm-v7a-linux-gnueabihf-gcc -Wall -pedantic -Waggregate-return -Wcast-align -Wmissing-prototypes -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Wshadow -Wwrite-strings -ansi -O2 -I. -I../compat/src -I. -c -o src/lxplib.o src/lxplib.c In file included from /srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/sysroot-target/usr/include/lua.h:16:0, from src/lxplib.c:14: /srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/sysroot-target/usr/include/luaconf.h:595:2: error: #error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" #error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ ^ <builtin>: recipe for target 'src/lxplib.o' failed make[1]: *** [src/lxplib.o] Error 1 make[1]: Leaving directory '/srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/build-target/luaexpat-1.2.0' /srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/ptxdist/rules/post/ptxd_make_world_compile.make:21: recipe for target '/srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/state/luaexpat.compile' failed make: *** [/srv/jenkins-data/agent/workspace/ptxdist-tests/all-yes/master.mol-next.arm-hf/platform-arm-hf/state/luaexpat.compile] Error 2 > Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > --- > ...ly-crafted-precompiled-code-can-crash-Lua.patch | 13 - > ...ble-to-create-functions-that-return-too-m.patch | 14 - > ...generation-for-some-particular-boolean-ex.patch | 72 -- > ...le-may-invalidate-a-reference-to-a-table-.patch | 52 -- > ...nv-does-not-check-whether-it-has-an-argum.patch | 32 - > ...stuck-during-parsing-and-avoids-proper-re.patch | 35 - > ...at-may-get-buffer-as-an-argument-when-the.patch | 44 - > ...n-may-return-garbage-if-second-read-fails.patch | 37 - > ...generation-for-some-particular-boolean-ex.patch | 56 -- > ...metamethod-may-not-work-if-metatable-is-i.patch | 37 - > ...may-collect-a-prototype-while-building-it.patch | 31 - > ...pport-to-ptxdist-1.99-remove-old-Makefile.patch | 151 ---- > ...upport-to-ptxdist-1.99-add-autoconf-files.patch | 918 -------------------- > patches/lua-5.1.4/series | 19 - > ...pport-to-ptxdist-1.99-remove-old-Makefile.patch | 139 +++ > ...upport-to-ptxdist-1.99-add-autoconf-files.patch | 938 > +++++++++++++++++++++ > ...pport-to-ptxdist-1.99-add-automake-files.patch} | 24 +- > patches/{lua-5.1.4 => lua-5.3.4}/autogen.sh | 0 > patches/lua-5.3.4/series | 6 + > rules/lua.make | 4 +- > 20 files changed, 1096 insertions(+), 1526 deletions(-) > delete mode 100644 > patches/lua-5.1.4/0001-Maliciously-crafted-precompiled-code-can-crash-Lua.patch > delete mode 100644 > patches/lua-5.1.4/0002-It-is-possible-to-create-functions-that-return-too-m.patch > delete mode 100644 > patches/lua-5.1.4/0003-Wrong-code-generation-for-some-particular-boolean-ex.patch > delete mode 100644 > patches/lua-5.1.4/0004-luaV_settable-may-invalidate-a-reference-to-a-table-.patch > delete mode 100644 > patches/lua-5.1.4/0005-debug.getfenv-does-not-check-whether-it-has-an-argum.patch > delete mode 100644 > patches/lua-5.1.4/0006-GC-may-get-stuck-during-parsing-and-avoids-proper-re.patch > delete mode 100644 > patches/lua-5.1.4/0007-string.format-may-get-buffer-as-an-argument-when-the.patch > delete mode 100644 > patches/lua-5.1.4/0008-io.read-n-n-may-return-garbage-if-second-read-fails.patch > delete mode 100644 > patches/lua-5.1.4/0009-Wrong-code-generation-for-some-particular-boolean-ex.patch > delete mode 100644 > patches/lua-5.1.4/0010-__newindex-metamethod-may-not-work-if-metatable-is-i.patch > delete mode 100644 > patches/lua-5.1.4/0011-Parser-may-collect-a-prototype-while-building-it.patch > delete mode 100644 > patches/lua-5.1.4/0100-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > delete mode 100644 > patches/lua-5.1.4/0101-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > delete mode 100644 patches/lua-5.1.4/series > create mode 100644 > patches/lua-5.3.4/0101-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > create mode 100644 > patches/lua-5.3.4/0102-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > rename > patches/{lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > => lua-5.3.4/0103-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch} > (89%) > rename patches/{lua-5.1.4 => lua-5.3.4}/autogen.sh (100%) > create mode 100644 patches/lua-5.3.4/series > > diff --git > a/patches/lua-5.1.4/0001-Maliciously-crafted-precompiled-code-can-crash-Lua.patch > > b/patches/lua-5.1.4/0001-Maliciously-crafted-precompiled-code-can-crash-Lua.patch > deleted file mode 100644 > index 848fe30c5..000000000 > --- > a/patches/lua-5.1.4/0001-Maliciously-crafted-precompiled-code-can-crash-Lua.patch > +++ /dev/null > @@ -1,13 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:05:35 +0100 > -Subject: [PATCH] Maliciously crafted precompiled code can crash Lua > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-1 > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > - > ---- > - > diff --git > a/patches/lua-5.1.4/0002-It-is-possible-to-create-functions-that-return-too-m.patch > > b/patches/lua-5.1.4/0002-It-is-possible-to-create-functions-that-return-too-m.patch > deleted file mode 100644 > index 280fee3db..000000000 > --- > a/patches/lua-5.1.4/0002-It-is-possible-to-create-functions-that-return-too-m.patch > +++ /dev/null > @@ -1,14 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:07:18 +0100 > -Subject: [PATCH] It is possible to create functions that return too many > - arguments and overflow the stack of C functions. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-2 > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > - > ---- > - > diff --git > a/patches/lua-5.1.4/0003-Wrong-code-generation-for-some-particular-boolean-ex.patch > > b/patches/lua-5.1.4/0003-Wrong-code-generation-for-some-particular-boolean-ex.patch > deleted file mode 100644 > index c599cc6f3..000000000 > --- > a/patches/lua-5.1.4/0003-Wrong-code-generation-for-some-particular-boolean-ex.patch > +++ /dev/null > @@ -1,72 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:10:56 +0100 > -Subject: [PATCH] Wrong code generation for some particular boolean > - expressions. (see also 9) > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-3 > - > - reported by Brian Kelley on 15 Apr 2009. > - Example: > - -- > - print(((1 or false) and true) or false) --> 1, but should be 'true' > - -- > - > -Patch: (partial solution; see also 9) > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lcode.c | 22 ++++++++++++++-------- > - 1 files changed, 14 insertions(+), 8 deletions(-) > - > -diff --git a/src/lcode.c b/src/lcode.c > -index cff626b..84f286b 100644 > ---- a/src/lcode.c > -+++ b/src/lcode.c > -@@ -544,15 +544,18 @@ void luaK_goiftrue (FuncState *fs, expdesc *e) { > - pc = NO_JUMP; /* always true; do nothing */ > - break; > - } > -- case VFALSE: { > -- pc = luaK_jump(fs); /* always jump */ > -- break; > -- } > - case VJMP: { > - invertjump(fs, e); > - pc = e->u.s.info; > - break; > - } > -+ case VFALSE: { > -+ if (!hasjumps(e)) { > -+ pc = luaK_jump(fs); /* always jump */ > -+ break; > -+ } > -+ /* else go through */ > -+ } > - default: { > - pc = jumponcond(fs, e, 0); > - break; > -@@ -572,14 +575,17 @@ static void luaK_goiffalse (FuncState *fs, expdesc *e) > { > - pc = NO_JUMP; /* always false; do nothing */ > - break; > - } > -- case VTRUE: { > -- pc = luaK_jump(fs); /* always jump */ > -- break; > -- } > - case VJMP: { > - pc = e->u.s.info; > - break; > - } > -+ case VTRUE: { > -+ if (!hasjumps(e)) { > -+ pc = luaK_jump(fs); /* always jump */ > -+ break; > -+ } > -+ /* else go through */ > -+ } > - default: { > - pc = jumponcond(fs, e, 1); > - break; > diff --git > a/patches/lua-5.1.4/0004-luaV_settable-may-invalidate-a-reference-to-a-table-.patch > > b/patches/lua-5.1.4/0004-luaV_settable-may-invalidate-a-reference-to-a-table-.patch > deleted file mode 100644 > index fe118921e..000000000 > --- > a/patches/lua-5.1.4/0004-luaV_settable-may-invalidate-a-reference-to-a-table-.patch > +++ /dev/null > @@ -1,52 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:13:59 +0100 > -Subject: [PATCH] luaV_settable may invalidate a reference to a table and try > - to reuse it > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-4 > - > -reported by Mark Feldman on 27 Jun 2009. > -Example: > - -- > - grandparent = {} > - grandparent.__newindex = function(s,_,_) print(s) end > - > - parent = {} > - parent.__newindex = parent > - setmetatable(parent, grandparent) > - > - child = setmetatable({}, parent) > - child.foo = 10 --> (crash on some machines) > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lvm.c | 5 ++++- > - 1 files changed, 4 insertions(+), 1 deletions(-) > - > -diff --git a/src/lvm.c b/src/lvm.c > -index ee3256a..4ac2e71 100644 > ---- a/src/lvm.c > -+++ b/src/lvm.c > -@@ -133,6 +133,7 @@ void luaV_gettable (lua_State *L, const TValue *t, > TValue *key, StkId val) { > - > - void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val) { > - int loop; > -+ TValue temp; > - for (loop = 0; loop < MAXTAGLOOP; loop++) { > - const TValue *tm; > - if (ttistable(t)) { /* `t' is a table? */ > -@@ -152,7 +153,9 @@ void luaV_settable (lua_State *L, const TValue *t, > TValue *key, StkId val) { > - callTM(L, tm, t, key, val); > - return; > - } > -- t = tm; /* else repeat with `tm' */ > -+ /* else repeat with `tm' */ > -+ setobj(L, &temp, tm); /* avoid pointing inside table (may rehash) */ > -+ t = &temp; > - } > - luaG_runerror(L, "loop in settable"); > - } > diff --git > a/patches/lua-5.1.4/0005-debug.getfenv-does-not-check-whether-it-has-an-argum.patch > > b/patches/lua-5.1.4/0005-debug.getfenv-does-not-check-whether-it-has-an-argum.patch > deleted file mode 100644 > index 40c0e3f51..000000000 > --- > a/patches/lua-5.1.4/0005-debug.getfenv-does-not-check-whether-it-has-an-argum.patch > +++ /dev/null > @@ -1,32 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:18:20 +0100 > -Subject: [PATCH] debug.getfenv does not check whether it has an argument. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-5 > - > -reported by Patrick Donnelly on 30 Jul 2009. > -Example: > - -- > - debug.getfenv() -- should raise an error > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/ldblib.c | 1 + > - 1 files changed, 1 insertions(+), 0 deletions(-) > - > -diff --git a/src/ldblib.c b/src/ldblib.c > -index 67de122..21116ac 100644 > ---- a/src/ldblib.c > -+++ b/src/ldblib.c > -@@ -45,6 +45,7 @@ static int db_setmetatable (lua_State *L) { > - > - > - static int db_getfenv (lua_State *L) { > -+ luaL_checkany(L, 1); > - lua_getfenv(L, 1); > - return 1; > - } > diff --git > a/patches/lua-5.1.4/0006-GC-may-get-stuck-during-parsing-and-avoids-proper-re.patch > > b/patches/lua-5.1.4/0006-GC-may-get-stuck-during-parsing-and-avoids-proper-re.patch > deleted file mode 100644 > index f748372da..000000000 > --- > a/patches/lua-5.1.4/0006-GC-may-get-stuck-during-parsing-and-avoids-proper-re.patch > +++ /dev/null > @@ -1,35 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:20:15 +0100 > -Subject: [PATCH] GC may get stuck during parsing and avoids proper resizing > - of the string table, making its lists grow too much and > - degrading performance. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-6 > - > - reported by Sean Conner on 10 Nov 2009. > - > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/llex.c | 4 +++- > - 1 files changed, 3 insertions(+), 1 deletions(-) > - > -diff --git a/src/llex.c b/src/llex.c > -index 6dc3193..92d6575 100644 > ---- a/src/llex.c > -+++ b/src/llex.c > -@@ -118,8 +118,10 @@ TString *luaX_newstring (LexState *ls, const char *str, > size_t l) { > - lua_State *L = ls->L; > - TString *ts = luaS_newlstr(L, str, l); > - TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */ > -- if (ttisnil(o)) > -+ if (ttisnil(o)) { > - setbvalue(o, 1); /* make sure `str' will not be collected */ > -+ luaC_checkGC(L); > -+ } > - return ts; > - } > - > diff --git > a/patches/lua-5.1.4/0007-string.format-may-get-buffer-as-an-argument-when-the.patch > > b/patches/lua-5.1.4/0007-string.format-may-get-buffer-as-an-argument-when-the.patch > deleted file mode 100644 > index cc0c3103b..000000000 > --- > a/patches/lua-5.1.4/0007-string.format-may-get-buffer-as-an-argument-when-the.patch > +++ /dev/null > @@ -1,44 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:21:46 +0100 > -Subject: [PATCH] string.format may get buffer as an argument when there are > - missing arguments and format string is too long. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-7 > - > -reported by Roberto on 12 Apr 2010. > -Example: > - -- > - x = string.rep("x", 10000) .. "%d" > - print(string.format(x)) -- gives wrong error message > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lstrlib.c | 4 +++- > - 1 files changed, 3 insertions(+), 1 deletions(-) > - > -diff --git a/src/lstrlib.c b/src/lstrlib.c > -index 1b4763d..fe452ce 100644 > ---- a/src/lstrlib.c > -+++ b/src/lstrlib.c > -@@ -754,6 +754,7 @@ static void addintlen (char *form) { > - > - > - static int str_format (lua_State *L) { > -+ int top = lua_gettop(L); > - int arg = 1; > - size_t sfl; > - const char *strfrmt = luaL_checklstring(L, arg, &sfl); > -@@ -768,7 +769,8 @@ static int str_format (lua_State *L) { > - else { /* format item */ > - char form[MAX_FORMAT]; /* to store the format (`%...') */ > - char buff[MAX_ITEM]; /* to store the formatted item */ > -- arg++; > -+ if (++arg > top) > -+ luaL_argerror(L, arg, "no value"); > - strfrmt = scanformat(L, strfrmt, form); > - switch (*strfrmt++) { > - case 'c': { > diff --git > a/patches/lua-5.1.4/0008-io.read-n-n-may-return-garbage-if-second-read-fails.patch > > b/patches/lua-5.1.4/0008-io.read-n-n-may-return-garbage-if-second-read-fails.patch > deleted file mode 100644 > index 5a5d0f27f..000000000 > --- > a/patches/lua-5.1.4/0008-io.read-n-n-may-return-garbage-if-second-read-fails.patch > +++ /dev/null > @@ -1,37 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:23:53 +0100 > -Subject: [PATCH] io.read("*n", "*n") may return garbage if second read fails. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-8 > - > -reported by Roberto on 12 Apr 2010. > -Example: > - -- > - print(io.read("*n", "*n")) --<< enter "10 hi" > - --> file (0x884420) nil > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/liolib.c | 5 ++++- > - 1 files changed, 4 insertions(+), 1 deletions(-) > - > -diff --git a/src/liolib.c b/src/liolib.c > -index e79ed1c..8de2547 100644 > ---- a/src/liolib.c > -+++ b/src/liolib.c > -@@ -276,7 +276,10 @@ static int read_number (lua_State *L, FILE *f) { > - lua_pushnumber(L, d); > - return 1; > - } > -- else return 0; /* read fails */ > -+ else { > -+ lua_pushnil(L); /* "result" to be removed */ > -+ return 0; /* read fails */ > -+ } > - } > - > - > diff --git > a/patches/lua-5.1.4/0009-Wrong-code-generation-for-some-particular-boolean-ex.patch > > b/patches/lua-5.1.4/0009-Wrong-code-generation-for-some-particular-boolean-ex.patch > deleted file mode 100644 > index 20c0b1123..000000000 > --- > a/patches/lua-5.1.4/0009-Wrong-code-generation-for-some-particular-boolean-ex.patch > +++ /dev/null > @@ -1,56 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:25:18 +0100 > -Subject: [PATCH] Wrong code generation for some particular boolean > - expressions. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-9 > - > -reported by Thierry Van Elsuwe on 20 Jan 2011. > -Example: > - -- > - print((('hi' or true) and true) or true) > - --> hi (should be true) > - print(((nil and nil) or false) and true) > - --> nil (should be false) > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lcode.c | 14 -------------- > - 1 files changed, 0 insertions(+), 14 deletions(-) > - > -diff --git a/src/lcode.c b/src/lcode.c > -index 84f286b..c13066e 100644 > ---- a/src/lcode.c > -+++ b/src/lcode.c > -@@ -549,13 +549,6 @@ void luaK_goiftrue (FuncState *fs, expdesc *e) { > - pc = e->u.s.info; > - break; > - } > -- case VFALSE: { > -- if (!hasjumps(e)) { > -- pc = luaK_jump(fs); /* always jump */ > -- break; > -- } > -- /* else go through */ > -- } > - default: { > - pc = jumponcond(fs, e, 0); > - break; > -@@ -579,13 +572,6 @@ static void luaK_goiffalse (FuncState *fs, expdesc *e) { > - pc = e->u.s.info; > - break; > - } > -- case VTRUE: { > -- if (!hasjumps(e)) { > -- pc = luaK_jump(fs); /* always jump */ > -- break; > -- } > -- /* else go through */ > -- } > - default: { > - pc = jumponcond(fs, e, 1); > - break; > diff --git > a/patches/lua-5.1.4/0010-__newindex-metamethod-may-not-work-if-metatable-is-i.patch > > b/patches/lua-5.1.4/0010-__newindex-metamethod-may-not-work-if-metatable-is-i.patch > deleted file mode 100644 > index 6c9f7e1df..000000000 > --- > a/patches/lua-5.1.4/0010-__newindex-metamethod-may-not-work-if-metatable-is-i.patch > +++ /dev/null > @@ -1,37 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:27:04 +0100 > -Subject: [PATCH] __newindex metamethod may not work if metatable is its own > - metatable. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-10 > - > -reported by Cuero Bugot on 09 Aug 2011. > -Example: > - -- > - meta={} > - setmetatable(meta, meta) > - meta.__newindex = function(t, key, value) print("set") end > - o = setmetatable({}, meta) > - o.x = 10 -- should print 'set' > - -- > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lvm.c | 1 + > - 1 files changed, 1 insertions(+), 0 deletions(-) > - > -diff --git a/src/lvm.c b/src/lvm.c > -index 4ac2e71..ca7bea0 100644 > ---- a/src/lvm.c > -+++ b/src/lvm.c > -@@ -142,6 +142,7 @@ void luaV_settable (lua_State *L, const TValue *t, > TValue *key, StkId val) { > - if (!ttisnil(oldval) || /* result is no nil? */ > - (tm = fasttm(L, h->metatable, TM_NEWINDEX)) == NULL) { /* or no > TM? */ > - setobj2t(L, oldval, val); > -+ h->flags = 0; > - luaC_barriert(L, h, val); > - return; > - } > diff --git > a/patches/lua-5.1.4/0011-Parser-may-collect-a-prototype-while-building-it.patch > > b/patches/lua-5.1.4/0011-Parser-may-collect-a-prototype-while-building-it.patch > deleted file mode 100644 > index 94ee2e480..000000000 > --- > a/patches/lua-5.1.4/0011-Parser-may-collect-a-prototype-while-building-it.patch > +++ /dev/null > @@ -1,31 +0,0 @@ > -From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnic...@airtag.com> > -Date: Tue, 6 Dec 2011 14:28:19 +0100 > -Subject: [PATCH] Parser may collect a prototype while building it. > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -Comes from http://www.lua.org/bugs.html#5.1.4-11 > - > -reported by Ingo van Lil on 13 Oct 2011. > - > -Signed-off-by: Benoît Burnichon <benoit.burnic...@airtag.com> > ---- > - src/lparser.c | 2 +- > - 1 files changed, 1 insertions(+), 1 deletions(-) > - > -diff --git a/src/lparser.c b/src/lparser.c > -index 1e2a9a8..a2721d2 100644 > ---- a/src/lparser.c > -+++ b/src/lparser.c > -@@ -374,9 +374,9 @@ static void close_func (LexState *ls) { > - lua_assert(luaG_checkcode(f)); > - lua_assert(fs->bl == NULL); > - ls->fs = fs->prev; > -- L->top -= 2; /* remove table and prototype from the stack */ > - /* last token read was anchored in defunct function; must reanchor it */ > - if (fs) anchor_token(ls); > -+ L->top -= 2; /* remove table and prototype from the stack */ > - } > - > - > diff --git > a/patches/lua-5.1.4/0100-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > > b/patches/lua-5.1.4/0100-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > deleted file mode 100644 > index 09118c104..000000000 > --- > a/patches/lua-5.1.4/0100-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > +++ /dev/null > @@ -1,151 +0,0 @@ > -From: Erwin Rol <er...@erwinrol.com> > -Date: Fri, 9 Dec 2011 11:32:11 +0100 > -Subject: [PATCH] Add lua support to ptxdist 1.99: remove old Makefile > - > -This patch add lua support to ptxdist 1.99. It has a menu entry under > -scripting languages. And a patch that makes it possible to use autoconf > -to build. > - > -This part of the patch removes the old Makefile. > - > -Signed-off-by: Erwin Rol <er...@erwinrol.com> > -Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > ---- > - Makefile | 128 > --------------------------------------------------------------- > - 1 file changed, 128 deletions(-) > - delete mode 100644 Makefile > - > -diff --git a/Makefile b/Makefile > -deleted file mode 100644 > -index 6e78f66..0000000 > ---- a/Makefile > -+++ /dev/null > -@@ -1,128 +0,0 @@ > --# makefile for installing Lua > --# see INSTALL for installation instructions > --# see src/Makefile and src/luaconf.h for further customization > -- > --# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT > ======================= > -- > --# Your platform. See PLATS for possible values. > --PLAT= none > -- > --# Where to install. The installation starts in the src and doc directories, > --# so take care if INSTALL_TOP is not an absolute path. > --INSTALL_TOP= /usr/local > --INSTALL_BIN= $(INSTALL_TOP)/bin > --INSTALL_INC= $(INSTALL_TOP)/include > --INSTALL_LIB= $(INSTALL_TOP)/lib > --INSTALL_MAN= $(INSTALL_TOP)/man/man1 > --# > --# You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with > --# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc). > --INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V > --INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V > -- > --# How to install. If your install program does not support "-p", then you > --# may have to run ranlib on the installed liblua.a (do "make ranlib"). > --INSTALL= install -p > --INSTALL_EXEC= $(INSTALL) -m 0755 > --INSTALL_DATA= $(INSTALL) -m 0644 > --# > --# If you don't have install you can use cp instead. > --# INSTALL= cp -p > --# INSTALL_EXEC= $(INSTALL) > --# INSTALL_DATA= $(INSTALL) > -- > --# Utilities. > --MKDIR= mkdir -p > --RANLIB= ranlib > -- > --# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE > ========= > -- > --# Convenience platforms targets. > --PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris > -- > --# What to install. > --TO_BIN= lua luac > --TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp > --TO_LIB= liblua.a > --TO_MAN= lua.1 luac.1 > -- > --# Lua version and release. > --V= 5.1 > --R= 5.1.4 > -- > --all: $(PLAT) > -- > --$(PLATS) clean: > -- cd src && $(MAKE) $@ > -- > --test: dummy > -- src/lua test/hello.lua > -- > --install: dummy > -- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) > $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) > -- cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) > -- cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) > -- cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) > -- cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) > -- > --ranlib: > -- cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) > -- > --local: > -- $(MAKE) install INSTALL_TOP=.. > -- > --none: > -- @echo "Please do" > -- @echo " make PLATFORM" > -- @echo "where PLATFORM is one of these:" > -- @echo " $(PLATS)" > -- @echo "See INSTALL for complete instructions." > -- > --# make may get confused with test/ and INSTALL in a case-insensitive OS > --dummy: > -- > --# echo config parameters > --echo: > -- @echo "" > -- @echo "These are the parameters currently set in src/Makefile to build > Lua $R:" > -- @echo "" > -- @cd src && $(MAKE) -s echo > -- @echo "" > -- @echo "These are the parameters currently set in Makefile to install > Lua $R:" > -- @echo "" > -- @echo "PLAT = $(PLAT)" > -- @echo "INSTALL_TOP = $(INSTALL_TOP)" > -- @echo "INSTALL_BIN = $(INSTALL_BIN)" > -- @echo "INSTALL_INC = $(INSTALL_INC)" > -- @echo "INSTALL_LIB = $(INSTALL_LIB)" > -- @echo "INSTALL_MAN = $(INSTALL_MAN)" > -- @echo "INSTALL_LMOD = $(INSTALL_LMOD)" > -- @echo "INSTALL_CMOD = $(INSTALL_CMOD)" > -- @echo "INSTALL_EXEC = $(INSTALL_EXEC)" > -- @echo "INSTALL_DATA = $(INSTALL_DATA)" > -- @echo "" > -- @echo "See also src/luaconf.h ." > -- @echo "" > -- > --# echo private config parameters > --pecho: > -- @echo "V = $(V)" > -- @echo "R = $(R)" > -- @echo "TO_BIN = $(TO_BIN)" > -- @echo "TO_INC = $(TO_INC)" > -- @echo "TO_LIB = $(TO_LIB)" > -- @echo "TO_MAN = $(TO_MAN)" > -- > --# echo config parameters as Lua code > --# uncomment the last sed expression if you want nil instead of empty strings > --lecho: > -- @echo "-- installation parameters for Lua $R" > -- @echo "VERSION = '$V'" > -- @echo "RELEASE = '$R'" > -- @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/' > -- @echo "-- EOF" > -- > --# list targets that do not create files (but not all makes understand > .PHONY) > --.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho > -- > --# (end of Makefile) > diff --git > a/patches/lua-5.1.4/0101-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > > b/patches/lua-5.1.4/0101-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > deleted file mode 100644 > index f27a62e88..000000000 > --- > a/patches/lua-5.1.4/0101-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > +++ /dev/null > @@ -1,918 +0,0 @@ > -From: Erwin Rol <er...@erwinrol.com> > -Date: Fri, 9 Dec 2011 11:32:12 +0100 > -Subject: [PATCH] Add lua support to ptxdist 1.99: add autoconf files > - > -This patch add lua support to ptxdist 1.99. It has a menu entry under > -scripting languages. And a patch that makes it possible to use autoconf > -to build. > - > -This part of the patch adds the autoconf files. > - > -Signed-off-by: Erwin Rol <er...@erwinrol.com> > -Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > ---- > - configure.ac | 70 +++++ > - etc/lua.pc.in | 32 ++ > - src/luaconf.h.template.in | 777 > ++++++++++++++++++++++++++++++++++++++++++++++ > - 3 files changed, 879 insertions(+) > - create mode 100644 configure.ac > - create mode 100644 etc/lua.pc.in > - create mode 100644 src/luaconf.h.template.in > - > -diff --git a/configure.ac b/configure.ac > -new file mode 100644 > -index 0000000..d879a86 > ---- /dev/null > -+++ b/configure.ac > -@@ -0,0 +1,70 @@ > -+AC_PREREQ([2.67]) > -+AC_INIT([Autotoolized Lua],[5.1.4],[],[lua-at]) > -+ > -+AC_CONFIG_MACRO_DIR([m4]) > -+ > -+AC_CONFIG_HEADERS([config.h]) > -+AC_CONFIG_SRCDIR([src/lapi.c]) > -+ > -+AM_INIT_AUTOMAKE([1.9 foreign]) > -+ > -+AC_PROG_CC > -+LT_INIT > -+ > -+AC_ARG_WITH( > -+ [readline], > -+ [AS_HELP_STRING([--with-readline],[Use readline for interpreter input > [default=yes]])], > -+ [use_readline=$withval], > -+ [use_readline=yes] > -+) > -+ > -+LUA_LIBS="-lm" > -+ > -+# Check for readline > -+READLINE_DEFS="#undef LUA_USE_READLINE" > -+if test "x$use_readline" == "xyes"; then > -+ AC_CHECK_LIB([readline], [readline], [], [use_readline=no]) > -+ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], > [use_readline=no]) > -+ if test "x$use_readline" == "xno"; then > -+ AC_MSG_WARN([readline headers could not be found, disabling readline > support]) > -+ else > -+ READLINE_DEFS="#define LUA_USE_READLINE" > -+ LUA_LIBS="$LUA_LIBS -lreadline" > -+ fi > -+fi > -+AC_SUBST(READLINE_DEFS) > -+ > -+case "$host" in > -+ *-mingw*) use_os=win32 ;; > -+ *-darwin*) use_os=macosx ;; > -+ *) use_os=posix ;; > -+esac > -+ > -+POSIX_DEFS="#undef LUA_USE_POSIX" > -+LUA_DL_DEFS="#undef LUA_USE_DLOPEN" > -+LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL" > -+ > -+if test "x$use_os" == "xwin32"; then > -+ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL" > -+elif test "x$use_os" == "xmacosx"; then > -+ POSIX_DEFS="#define LUA_USE_POSIX" > -+ LUA_DL_DEFS="#define LUA_DL_DYLD" > -+elif test "x$use_os" == "xposix"; then > -+ POSIX_DEFS="#define LUA_USE_POSIX" > -+ LUA_DL_DEFS="#define LUA_DL_DLOPEN" > -+ LUA_LIBS="$LUA_LIBS -ldl" > -+fi > -+AC_SUBST(POSIX_DEFS) > -+AC_SUBST(LUA_DL_DEFS) > -+AC_SUBST(LUA_BUILD_AS_DLL_DEFS) > -+ > -+AC_SUBST(LUA_LIBS) > -+ > -+AC_CONFIG_FILES([Makefile > -+ src/Makefile > -+ src/luaconf.h.template > -+ etc/Makefile > -+ etc/lua.pc > -+ doc/Makefile > -+ test/Makefile]) > -+AC_OUTPUT > -diff --git a/etc/lua.pc.in b/etc/lua.pc.in > -new file mode 100644 > -index 0000000..7f33cff > ---- /dev/null > -+++ b/etc/lua.pc.in > -@@ -0,0 +1,32 @@ > -+# lua.pc -- pkg-config data for Lua > -+ > -+# vars from install Makefile > -+ > -+# grep '^V=' ../Makefile > -+V= 5.1 > -+# grep '^R=' ../Makefile > -+R= @VERSION@ > -+ > -+# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' > -+# plus autotoolification > -+prefix= @prefix@ > -+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/src/luaconf.h.template.in b/src/luaconf.h.template.in > -new file mode 100644 > -index 0000000..41b234d > ---- /dev/null > -+++ b/src/luaconf.h.template.in > -@@ -0,0 +1,777 @@ > -+/* > -+** $Id: luaconf.h,v 1.82a 2006/04/10 18:27:23 roberto Exp $ > -+** Configuration file for Lua > -+** See Copyright Notice in lua.h > -+*/ > -+ > -+ > -+#ifndef lconfig_h > -+#define lconfig_h > -+ > -+#include <limits.h> > -+#include <stddef.h> > -+ > -+/* > -+** ================= > -+** Autotoolification > -+** ================= > -+*/ > -+ > -+/** autotoolize patch **/ > -+@POSIX_DEFS@ > -+@LUA_DL_DEFS@ > -+@LUA_BUILD_AS_DLL_DEFS@ > -+@READLINE_DEFS@ > -+/** autotoolize patch **/ > -+ > -+/* > -+** ================================================================== > -+** Search for "@@" to find all configurable definitions. > -+** =================================================================== > -+*/ > -+ > -+ > -+/* > -+@@ LUA_ANSI controls the use of non-ansi features. > -+** CHANGE it (define it) if you want Lua to avoid the use of any > -+** non-ansi feature or library. > -+*/ > -+#if defined(__STRICT_ANSI__) > -+#define LUA_ANSI > -+#endif > -+ > -+ > -+#if !defined(LUA_ANSI) && defined(_WIN32) > -+#define LUA_WIN > -+#endif > -+ > -+#if defined(LUA_USE_LINUX) > -+#define LUA_USE_POSIX > -+#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ > -+#define LUA_USE_READLINE /* needs some extra libraries */ > -+#endif > -+ > -+#if defined(LUA_USE_MACOSX) > -+#define LUA_USE_POSIX > -+#define LUA_DL_DYLD /* does not need extra library */ > -+#endif > -+ > -+ > -+ > -+/* > -+@@ LUA_USE_POSIX includes all functionallity listed as X/Open System > -+@* Interfaces Extension (XSI). > -+** CHANGE it (define it) if your system is XSI compatible. > -+*/ > -+#if defined(LUA_USE_POSIX) > -+#define LUA_USE_MKSTEMP > -+#define LUA_USE_ISATTY > -+#define LUA_USE_POPEN > -+#define LUA_USE_ULONGJMP > -+#endif > -+ > -+ > -+/* > -+@@ LUA_PATH and LUA_CPATH are the names of the environment variables that > -+@* Lua check to set its paths. > -+@@ LUA_INIT is the name of the environment variable that Lua > -+@* checks for initialization code. > -+** CHANGE them if you want different names. > -+*/ > -+#define LUA_PATH "LUA_PATH" > -+#define LUA_CPATH "LUA_CPATH" > -+#define LUA_INIT "LUA_INIT" > -+ > -+ > -+/* > -+@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for > -+@* Lua libraries. > -+@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for > -+@* C libraries. > -+** CHANGE them if your machine has a non-conventional directory > -+** hierarchy or if you want to install your libraries in > -+** non-conventional directories. > -+*/ > -+#if defined(_WIN32) > -+/* > -+** In Windows, any exclamation mark ('!') in the path is replaced by the > -+** path of the directory of the executable file of the current process. > -+*/ > -+#define LUA_LDIR "!\\lua\\" > -+#define LUA_CDIR "!\\" > -+#define LUA_PATH_DEFAULT \ > -+ ".\\?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ > -+ LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua" > -+#define LUA_CPATH_DEFAULT \ > -+ ".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll" > -+ > -+#else > -+ > -+/** autotoolize patch **/ > -+#define LUA_LDIR "%lua_datadir%/lua/5.1/" > -+#define LUA_CDIR "%lua_libdir%/lua/5.1/" > -+/** autotoolize patch **/ > -+ > -+#define LUA_PATH_DEFAULT \ > -+ "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ > -+ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" > -+#define LUA_CPATH_DEFAULT \ > -+ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" > -+#endif > -+ > -+ > -+/* > -+@@ LUA_DIRSEP is the directory separator (for submodules). > -+** CHANGE it if your machine does not use "/" as the directory separator > -+** and is not Windows. (On Windows Lua automatically uses "\".) > -+*/ > -+#if defined(_WIN32) > -+#define LUA_DIRSEP "\\" > -+#else > -+#define LUA_DIRSEP "/" > -+#endif > -+ > -+ > -+/* > -+@@ LUA_PATHSEP is the character that separates templates in a path. > -+@@ LUA_PATH_MARK is the string that marks the substitution points in a > -+@* template. > -+@@ LUA_EXECDIR in a Windows path is replaced by the executable's > -+@* directory. > -+@@ LUA_IGMARK is a mark to ignore all before it when bulding the > -+@* luaopen_ function name. > -+** CHANGE them if for some reason your system cannot use those > -+** characters. (E.g., if one of those characters is a common character > -+** in file/directory names.) Probably you do not need to change them. > -+*/ > -+#define LUA_PATHSEP ";" > -+#define LUA_PATH_MARK "?" > -+#define LUA_EXECDIR "!" > -+#define LUA_IGMARK "-" > -+ > -+ > -+/* > -+@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger. > -+** CHANGE that if ptrdiff_t is not adequate on your machine. (On most > -+** machines, ptrdiff_t gives a good choice between int or long.) > -+*/ > -+#define LUA_INTEGER ptrdiff_t > -+ > -+ > -+/* > -+@@ LUA_API is a mark for all core API functions. > -+@@ LUALIB_API is a mark for all standard library functions. > -+** CHANGE them if you need to define those functions in some special way. > -+** For instance, if you want to create one Windows DLL with the core and > -+** the libraries, you may want to use the following definition (define > -+** LUA_BUILD_AS_DLL to get it). > -+*/ > -+#if defined(LUA_BUILD_AS_DLL) > -+ > -+#if defined(LUA_CORE) || defined(LUA_LIB) > -+#define LUA_API __declspec(dllexport) > -+#else > -+#define LUA_API __declspec(dllimport) > -+#endif > -+ > -+#else > -+ > -+#define LUA_API extern > -+ > -+#endif > -+ > -+/* more often than not the libs go together with the core */ > -+#define LUALIB_API LUA_API > -+ > -+ > -+/* > -+@@ LUAI_FUNC is a mark for all extern functions that are not to be > -+@* exported to outside modules. > -+@@ LUAI_DATA is a mark for all extern (const) variables that are not to > -+@* be exported to outside modules. > -+** CHANGE them if you need to mark them in some special way. Elf/gcc > -+** (versions 3.2 and later) mark them as "hidden" to optimize access > -+** when Lua is compiled as a shared library. > -+*/ > -+#if defined(luaall_c) > -+#define LUAI_FUNC static > -+#define LUAI_DATA /* empty */ > -+ > -+#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ > -+ defined(__ELF__) > -+#define LUAI_FUNC __attribute__((visibility("hidden"))) extern > -+#define LUAI_DATA LUAI_FUNC > -+ > -+#else > -+#define LUAI_FUNC extern > -+#define LUAI_DATA extern > -+#endif > -+ > -+ > -+ > -+/* > -+@@ LUA_QL describes how error messages quote program elements. > -+** CHANGE it if you want a different appearance. > -+*/ > -+#define LUA_QL(x) "'" x "'" > -+#define LUA_QS LUA_QL("%s") > -+ > -+ > -+/* > -+@@ LUA_IDSIZE gives the maximum size for the description of the source > -+@* of a function in debug information. > -+** CHANGE it if you want a different size. > -+*/ > -+#define LUA_IDSIZE 60 > -+ > -+ > -+/* > -+** {================================================================== > -+** Stand-alone configuration > -+** =================================================================== > -+*/ > -+ > -+#if defined(lua_c) || defined(luaall_c) > -+ > -+/* > -+@@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that > -+@* is, whether we're running lua interactively). > -+** CHANGE it if you have a better definition for non-POSIX/non-Windows > -+** systems. > -+*/ > -+#if defined(LUA_USE_ISATTY) > -+#include <unistd.h> > -+#define lua_stdin_is_tty() isatty(0) > -+#elif defined(LUA_WIN) > -+#include <io.h> > -+#include <stdio.h> > -+#define lua_stdin_is_tty() _isatty(_fileno(stdin)) > -+#else > -+#define lua_stdin_is_tty() 1 /* assume stdin is a tty */ > -+#endif > -+ > -+ > -+/* > -+@@ LUA_PROMPT is the default prompt used by stand-alone Lua. > -+@@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua. > -+** CHANGE them if you want different prompts. (You can also change the > -+** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.) > -+*/ > -+#define LUA_PROMPT "> " > -+#define LUA_PROMPT2 ">> " > -+ > -+ > -+/* > -+@@ LUA_PROGNAME is the default name for the stand-alone Lua program. > -+** CHANGE it if your stand-alone interpreter has a different name and > -+** your system is not able to detect that name automatically. > -+*/ > -+#define LUA_PROGNAME "lua" > -+ > -+ > -+/* > -+@@ LUA_MAXINPUT is the maximum length for an input line in the > -+@* stand-alone interpreter. > -+** CHANGE it if you need longer lines. > -+*/ > -+#define LUA_MAXINPUT 512 > -+ > -+ > -+/* > -+@@ lua_readline defines how to show a prompt and then read a line from > -+@* the standard input. > -+@@ lua_saveline defines how to "save" a read line in a "history". > -+@@ lua_freeline defines how to free a line read by lua_readline. > -+** CHANGE them if you want to improve this functionality (e.g., by using > -+** GNU readline and history facilities). > -+*/ > -+#if defined(LUA_USE_READLINE) > -+#include <stdio.h> > -+#include <readline/readline.h> > -+#include <readline/history.h> > -+#define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL) > -+#define lua_saveline(L,idx) \ > -+ 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)) > -+#else > -+#define lua_readline(L,b,p) \ > -+ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ > -+ fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ > -+#define lua_saveline(L,idx) { (void)L; (void)idx; } > -+#define lua_freeline(L,b) { (void)L; (void)b; } > -+#endif > -+ > -+#endif > -+ > -+/* }================================================================== */ > -+ > -+ > -+/* > -+@@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles > -+@* as a percentage. > -+** CHANGE it if you want the GC to run faster or slower (higher values > -+** mean larger pauses which mean slower collection.) You can also change > -+** this value dynamically. > -+*/ > -+#define LUAI_GCPAUSE 200 /* 200% (wait memory to double before next > GC) */ > -+ > -+ > -+/* > -+@@ LUAI_GCMUL defines the default speed of garbage collection relative to > -+@* memory allocation as a percentage. > -+** CHANGE it if you want to change the granularity of the garbage > -+** collection. (Higher values mean coarser collections. 0 represents > -+** infinity, where each step performs a full collection.) You can also > -+** change this value dynamically. > -+*/ > -+#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ > -+ > -+ > -+ > -+/* > -+@@ LUA_COMPAT_GETN controls compatibility with old getn behavior. > -+** CHANGE it (define it) if you want exact compatibility with the > -+** behavior of setn/getn in Lua 5.0. > -+*/ > -+#undef LUA_COMPAT_GETN > -+ > -+/* > -+@@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib. > -+** CHANGE it to undefined as soon as you do not need a global 'loadlib' > -+** function (the function is still available as 'package.loadlib'). > -+*/ > -+#undef LUA_COMPAT_LOADLIB > -+ > -+/* > -+@@ LUA_COMPAT_VARARG controls compatibility with old vararg feature. > -+** CHANGE it to undefined as soon as your programs use only '...' to > -+** access vararg parameters (instead of the old 'arg' table). > -+*/ > -+#define LUA_COMPAT_VARARG > -+ > -+/* > -+@@ LUA_COMPAT_MOD controls compatibility with old math.mod function. > -+** CHANGE it to undefined as soon as your programs use 'math.fmod' or > -+** the new '%' operator instead of 'math.mod'. > -+*/ > -+#define LUA_COMPAT_MOD > -+ > -+/* > -+@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting > -+@* facility. > -+** CHANGE it to 2 if you want the old behaviour, or undefine it to turn > -+** off the advisory error when nesting [[...]]. > -+*/ > -+#define LUA_COMPAT_LSTR 1 > -+ > -+/* > -+@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. > -+** CHANGE it to undefined as soon as you rename 'string.gfind' to > -+** 'string.gmatch'. > -+*/ > -+#define LUA_COMPAT_GFIND > -+ > -+/* > -+@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' > -+@* behavior. > -+** CHANGE it to undefined as soon as you replace to 'luaL_register' > -+** your uses of 'luaL_openlib' > -+*/ > -+#define LUA_COMPAT_OPENLIB > -+ > -+ > -+ > -+/* > -+@@ luai_apicheck is the assert macro used by the Lua-C API. > -+** CHANGE luai_apicheck if you want Lua to perform some checks in the > -+** parameters it gets from API calls. This may slow down the interpreter > -+** a bit, but may be quite useful when debugging C code that interfaces > -+** with Lua. A useful redefinition is to use assert.h. > -+*/ > -+#if defined(LUA_USE_APICHECK) > -+#include <assert.h> > -+#define luai_apicheck(L,o) { (void)L; assert(o); } > -+#else > -+#define luai_apicheck(L,o) { (void)L; } > -+#endif > -+ > -+ > -+/* > -+@@ LUAI_BITSINT defines the number of bits in an int. > -+** CHANGE here if Lua cannot automatically detect the number of bits of > -+** your machine. Probably you do not need to change this. > -+*/ > -+/* avoid overflows in comparison */ > -+#if INT_MAX-20 < 32760 > -+#define LUAI_BITSINT 16 > -+#elif INT_MAX > 2147483640L > -+/* int has at least 32 bits */ > -+#define LUAI_BITSINT 32 > -+#else > -+#error "you must define LUA_BITSINT with number of bits in an integer" > -+#endif > -+ > -+ > -+/* > -+@@ LUAI_UINT32 is an unsigned integer with at least 32 bits. > -+@@ LUAI_INT32 is an signed integer with at least 32 bits. > -+@@ LUAI_UMEM is an unsigned integer big enough to count the total > -+@* memory used by Lua. > -+@@ LUAI_MEM is a signed integer big enough to count the total memory > -+@* used by Lua. > -+** CHANGE here if for some weird reason the default definitions are not > -+** good enough for your machine. (The definitions in the 'else' > -+** part always works, but may waste space on machines with 64-bit > -+** longs.) Probably you do not need to change this. > -+*/ > -+#if LUAI_BITSINT >= 32 > -+#define LUAI_UINT32 unsigned int > -+#define LUAI_INT32 int > -+#define LUAI_MAXINT32 INT_MAX > -+#define LUAI_UMEM size_t > -+#define LUAI_MEM ptrdiff_t > -+#else > -+/* 16-bit ints */ > -+#define LUAI_UINT32 unsigned long > -+#define LUAI_INT32 long > -+#define LUAI_MAXINT32 LONG_MAX > -+#define LUAI_UMEM unsigned long > -+#define LUAI_MEM long > -+#endif > -+ > -+ > -+/* > -+@@ LUAI_MAXCALLS limits the number of nested calls. > -+** CHANGE it if you need really deep recursive calls. This limit is > -+** arbitrary; its only purpose is to stop infinite recursion before > -+** exhausting memory. > -+*/ > -+#define LUAI_MAXCALLS 20000 > -+ > -+ > -+/* > -+@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function > -+@* can use. > -+** CHANGE it if you need lots of (Lua) stack space for your C > -+** functions. This limit is arbitrary; its only purpose is to stop C > -+** functions to consume unlimited stack space. > -+*/ > -+#define LUAI_MAXCSTACK 2048 > -+ > -+ > -+ > -+/* > -+** {================================================================== > -+** CHANGE (to smaller values) the following definitions if your system > -+** has a small C stack. (Or you may want to change them to larger > -+** values if your system has a large C stack and these limits are > -+** too rigid for you.) Some of these constants control the size of > -+** stack-allocated arrays used by the compiler or the interpreter, while > -+** others limit the maximum number of recursive calls that the compiler > -+** or the interpreter can perform. Values too large may cause a C stack > -+** overflow for some forms of deep constructs. > -+** =================================================================== > -+*/ > -+ > -+ > -+/* > -+@@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and > -+@* syntactical nested non-terminals in a program. > -+*/ > -+#define LUAI_MAXCCALLS 200 > -+ > -+ > -+/* > -+@@ LUAI_MAXVARS is the maximum number of local variables per function > -+@* (must be smaller than 250). > -+*/ > -+#define LUAI_MAXVARS 200 > -+ > -+ > -+/* > -+@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function > -+@* (must be smaller than 250). > -+*/ > -+#define LUAI_MAXUPVALUES 60 > -+ > -+ > -+/* > -+@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. > -+*/ > -+#define LUAL_BUFFERSIZE BUFSIZ > -+ > -+/* }================================================================== */ > -+ > -+ > -+ > -+ > -+/* > -+** {================================================================== > -+@@ LUA_NUMBER is the type of numbers in Lua. > -+** CHANGE the following definitions only if you want to build Lua > -+** with a number type different from double. You may also need to > -+** change lua_number2int & lua_number2integer. > -+** =================================================================== > -+*/ > -+ > -+#define LUA_NUMBER_DOUBLE > -+#define LUA_NUMBER double > -+ > -+/* > -+@@ LUAI_UACNUMBER is the result of an 'usual argument conversion' > -+@* over a number. > -+*/ > -+#define LUAI_UACNUMBER double > -+ > -+ > -+/* > -+@@ LUA_NUMBER_SCAN is the format for reading numbers. > -+@@ LUA_NUMBER_FMT is the format for writing numbers. > -+@@ lua_number2str converts a number to a string. > -+@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion. > -+@@ lua_str2number converts a string to a number. > -+*/ > -+#define LUA_NUMBER_SCAN "%lf" > -+#define LUA_NUMBER_FMT "%.14g" > -+#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) > -+#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */ > -+#define lua_str2number(s,p) strtod((s), (p)) > -+ > -+ > -+/* > -+@@ The luai_num* macros define the primitive operations over numbers. > -+*/ > -+#if defined(LUA_CORE) > -+#include <math.h> > -+#define luai_numadd(a,b) ((a)+(b)) > -+#define luai_numsub(a,b) ((a)-(b)) > -+#define luai_nummul(a,b) ((a)*(b)) > -+#define luai_numdiv(a,b) ((a)/(b)) > -+#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) > -+#define luai_numpow(a,b) (pow(a,b)) > -+#define luai_numunm(a) (-(a)) > -+#define luai_numeq(a,b) ((a)==(b)) > -+#define luai_numlt(a,b) ((a)<(b)) > -+#define luai_numle(a,b) ((a)<=(b)) > -+#define luai_numisnan(a) (!luai_numeq((a), (a))) > -+#endif > -+ > -+ > -+/* > -+@@ lua_number2int is a macro to convert lua_Number to int. > -+@@ lua_number2integer is a macro to convert lua_Number to lua_Integer. > -+** CHANGE them if you know a faster way to convert a lua_Number to > -+** int (with any rounding method and without throwing errors) in your > -+** system. In Pentium machines, a naive typecast from double to int > -+** in C is extremely slow, so any alternative is worth trying. > -+*/ > -+ > -+/* On a Pentium, resort to a trick */ > -+#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) > && \ > -+ (defined(__i386) || defined (_M_IX86) || defined(__i386__)) > -+ > -+/* On a Microsoft compiler, use assembler */ > -+#if defined(_MSC_VER) > -+ > -+#define lua_number2int(i,d) __asm fld d __asm fistp i > -+#define lua_number2integer(i,n) lua_number2int(i, n) > -+ > -+/* the next trick should work on any Pentium, but sometimes clashes > -+ with a DirectX idiosyncrasy */ > -+#else > -+ > -+union luai_Cast { double l_d; long l_l; }; > -+#define lua_number2int(i,d) \ > -+ { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = > u.l_l; } > -+#define lua_number2integer(i,n) lua_number2int(i, n) > -+ > -+#endif > -+ > -+ > -+/* this option always works, but may be slow */ > -+#else > -+#define lua_number2int(i,d) ((i)=(int)(d)) > -+#define lua_number2integer(i,d) ((i)=(lua_Integer)(d)) > -+ > -+#endif > -+ > -+/* }================================================================== */ > -+ > -+ > -+/* > -+@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment. > -+** CHANGE it if your system requires alignments larger than double. (For > -+** instance, if your system supports long doubles and they must be > -+** aligned in 16-byte boundaries, then you should add long double in the > -+** union.) Probably you do not need to change this. > -+*/ > -+#define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; } > -+ > -+ > -+/* > -+@@ LUAI_THROW/LUAI_TRY define how Lua does exception handling. > -+** CHANGE them if you prefer to use longjmp/setjmp even with C++ > -+** or if want/don't to use _longjmp/_setjmp instead of regular > -+** longjmp/setjmp. By default, Lua handles errors with exceptions when > -+** compiling as C++ code, with _longjmp/_setjmp when asked to use them, > -+** and with longjmp/setjmp otherwise. > -+*/ > -+#if defined(__cplusplus) > -+/* C++ exceptions */ > -+#define LUAI_THROW(L,c) throw(c) > -+#define LUAI_TRY(L,c,a) try { a } catch(...) \ > -+ { if ((c)->status == 0) (c)->status = -1; } > -+#define luai_jmpbuf int /* dummy variable */ > -+ > -+#elif defined(LUA_USE_ULONGJMP) > -+/* in Unix, try _longjmp/_setjmp (more efficient) */ > -+#define LUAI_THROW(L,c) _longjmp((c)->b, 1) > -+#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } > -+#define luai_jmpbuf jmp_buf > -+ > -+#else > -+/* default handling with long jumps */ > -+#define LUAI_THROW(L,c) longjmp((c)->b, 1) > -+#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } > -+#define luai_jmpbuf jmp_buf > -+ > -+#endif > -+ > -+ > -+/* > -+@@ LUA_MAXCAPTURES is the maximum number of captures that a pattern > -+@* can do during pattern-matching. > -+** CHANGE it if you need more captures. This limit is arbitrary. > -+*/ > -+#define LUA_MAXCAPTURES 32 > -+ > -+ > -+/* > -+@@ lua_tmpnam is the function that the OS library uses to create a > -+@* temporary name. > -+@@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam. > -+** CHANGE them if you have an alternative to tmpnam (which is considered > -+** insecure) or if you want the original tmpnam anyway. By default, Lua > -+** uses tmpnam except when POSIX is available, where it uses mkstemp. > -+*/ > -+#if defined(loslib_c) || defined(luaall_c) > -+ > -+#if defined(LUA_USE_MKSTEMP) > -+#include <unistd.h> > -+#define LUA_TMPNAMBUFSIZE 32 > -+#define lua_tmpnam(b,e) { \ > -+ strcpy(b, "/tmp/lua_XXXXXX"); \ > -+ e = mkstemp(b); \ > -+ if (e != -1) close(e); \ > -+ e = (e == -1); } > -+ > -+#else > -+#define LUA_TMPNAMBUFSIZE L_tmpnam > -+#define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); } > -+#endif > -+ > -+#endif > -+ > -+ > -+/* > -+@@ lua_popen spawns a new process connected to the current one through > -+@* the file streams. > -+** CHANGE it if you have a way to implement it in your system. > -+*/ > -+#if defined(LUA_USE_POPEN) > -+ > -+#define lua_popen(L,c,m) ((void)L, popen(c,m)) > -+#define lua_pclose(L,file) ((void)L, (pclose(file) != -1)) > -+ > -+#elif defined(LUA_WIN) > -+ > -+#define lua_popen(L,c,m) ((void)L, _popen(c,m)) > -+#define lua_pclose(L,file) ((void)L, (_pclose(file) != -1)) > -+ > -+#else > -+ > -+#define lua_popen(L,c,m) ((void)((void)c, m), \ > -+ luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0) > -+#define lua_pclose(L,file) ((void)((void)L, file), 0) > -+ > -+#endif > -+ > -+/* > -+@@ LUA_DL_* define which dynamic-library system Lua should use. > -+** CHANGE here if Lua has problems choosing the appropriate > -+** dynamic-library system for your platform (either Windows' DLL, Mac's > -+** dyld, or Unix's dlopen). If your system is some kind of Unix, there > -+** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for > -+** it. To use dlopen you also need to adapt the src/Makefile (probably > -+** adding -ldl to the linker options), so Lua does not select it > -+** automatically. (When you change the makefile to add -ldl, you must > -+** also add -DLUA_USE_DLOPEN.) > -+** If you do not want any kind of dynamic library, undefine all these > -+** options. > -+** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD. > -+*/ > -+#if defined(LUA_USE_DLOPEN) > -+#define LUA_DL_DLOPEN > -+#endif > -+ > -+#if defined(LUA_WIN) > -+#define LUA_DL_DLL > -+#endif > -+ > -+ > -+/* > -+@@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State > -+@* (the data goes just *before* the lua_State pointer). > -+** CHANGE (define) this if you really need that. This value must be > -+** a multiple of the maximum alignment required for your machine. > -+*/ > -+#define LUAI_EXTRASPACE 0 > -+ > -+ > -+/* > -+@@ luai_userstate* allow user-specific actions on threads. > -+** CHANGE them if you defined LUAI_EXTRASPACE and need to do something > -+** extra when a thread is created/deleted/resumed/yielded. > -+*/ > -+#define luai_userstateopen(L) ((void)L) > -+#define luai_userstateclose(L) ((void)L) > -+#define luai_userstatethread(L,L1) ((void)L) > -+#define luai_userstatefree(L) ((void)L) > -+#define luai_userstateresume(L,n) ((void)L) > -+#define luai_userstateyield(L,n) ((void)L) > -+ > -+ > -+/* > -+@@ LUA_INTFRMLEN is the length modifier for integer conversions > -+@* in 'string.format'. > -+@@ LUA_INTFRM_T is the integer type correspoding to the previous length > -+@* modifier. > -+** CHANGE them if your system supports long long or does not support long. > -+*/ > -+ > -+#if defined(LUA_USELONGLONG) > -+ > -+#define LUA_INTFRMLEN "ll" > -+#define LUA_INTFRM_T long long > -+ > -+#else > -+ > -+#define LUA_INTFRMLEN "l" > -+#define LUA_INTFRM_T long > -+ > -+#endif > -+ > -+ > -+ > -+/* =================================================================== */ > -+ > -+/* > -+** Local configuration. You can use this space to add your redefinitions > -+** without modifying the main part of the file. > -+*/ > -+ > -+ > -+ > -+#endif > -+ > diff --git a/patches/lua-5.1.4/series b/patches/lua-5.1.4/series > deleted file mode 100644 > index 746e81918..000000000 > --- a/patches/lua-5.1.4/series > +++ /dev/null > @@ -1,19 +0,0 @@ > -# generated by git-ptx-patches > -# upstream issues with no content > -#0001-Maliciously-crafted-precompiled-code-can-crash-Lua.patch > -#0002-It-is-possible-to-create-functions-that-return-too-m.patch > -#tag:upstream --start-number 3 > -0003-Wrong-code-generation-for-some-particular-boolean-ex.patch > -0004-luaV_settable-may-invalidate-a-reference-to-a-table-.patch > -0005-debug.getfenv-does-not-check-whether-it-has-an-argum.patch > -0006-GC-may-get-stuck-during-parsing-and-avoids-proper-re.patch > -0007-string.format-may-get-buffer-as-an-argument-when-the.patch > -0008-io.read-n-n-may-return-garbage-if-second-read-fails.patch > -0009-Wrong-code-generation-for-some-particular-boolean-ex.patch > -0010-__newindex-metamethod-may-not-work-if-metatable-is-i.patch > -0011-Parser-may-collect-a-prototype-while-building-it.patch > -#tag:autotools --start-number 100 > -0100-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > -0101-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > -0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > -# 8b90904b0a592303343a57bd635e2ef8 - git-ptx-patches magic > diff --git > a/patches/lua-5.3.4/0101-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > > b/patches/lua-5.3.4/0101-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > new file mode 100644 > index 000000000..397b0d402 > --- /dev/null > +++ > b/patches/lua-5.3.4/0101-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > @@ -0,0 +1,139 @@ > +From: Robert Schwebel <r.schwe...@pengutronix.de> > +Date: Tue, 4 Jul 2017 20:39:08 +0200 > +Subject: [PATCH] Add lua support to ptxdist 1.99: remove old Makefile > + > +This patch add lua support to ptxdist 1.99. It has a menu entry under > +scripting languages. And a patch that makes it possible to use autoconf > +to build. > + > +This part of the patch removes the old Makefile. > + > +Signed-off-by: Erwin Rol <er...@erwinrol.com> > +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > +[ported from 5.1.4 to 5.3.4] > +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > +--- > + Makefile | 114 > --------------------------------------------------------------- > + 1 file changed, 114 deletions(-) > + delete mode 100644 Makefile > + > +diff --git a/Makefile b/Makefile > +deleted file mode 100644 > +index 119110d2f010..000000000000 > +--- a/Makefile > ++++ /dev/null > +@@ -1,114 +0,0 @@ > +-# Makefile for installing Lua > +-# See doc/readme.html for installation and customization instructions. > +- > +-# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT > ======================= > +- > +-# Your platform. See PLATS for possible values. > +-PLAT= none > +- > +-# Where to install. The installation starts in the src and doc directories, > +-# so take care if INSTALL_TOP is not an absolute path. See the local target. > +-# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with > +-# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. > +-INSTALL_TOP= /usr/local > +-INSTALL_BIN= $(INSTALL_TOP)/bin > +-INSTALL_INC= $(INSTALL_TOP)/include > +-INSTALL_LIB= $(INSTALL_TOP)/lib > +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 > +-INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V > +-INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V > +- > +-# How to install. If your install program does not support "-p", then > +-# you may have to run ranlib on the installed liblua.a. > +-INSTALL= install -p > +-INSTALL_EXEC= $(INSTALL) -m 0755 > +-INSTALL_DATA= $(INSTALL) -m 0644 > +-# > +-# If you don't have "install" you can use "cp" instead. > +-# INSTALL= cp -p > +-# INSTALL_EXEC= $(INSTALL) > +-# INSTALL_DATA= $(INSTALL) > +- > +-# Other utilities. > +-MKDIR= mkdir -p > +-RM= rm -f > +- > +-# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE > ======= > +- > +-# Convenience platforms targets. > +-PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris > +- > +-# What to install. > +-TO_BIN= lua luac > +-TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp > +-TO_LIB= liblua.a > +-TO_MAN= lua.1 luac.1 > +- > +-# Lua version and release. > +-V= 5.3 > +-R= $V.4 > +- > +-# Targets start here. > +-all: $(PLAT) > +- > +-$(PLATS) clean: > +- cd src && $(MAKE) $@ > +- > +-test: dummy > +- src/lua -v > +- > +-install: dummy > +- cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) > $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) > +- cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) > +- cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) > +- cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) > +- cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) > +- > +-uninstall: > +- cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) > +- cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC) > +- cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB) > +- cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN) > +- > +-local: > +- $(MAKE) install INSTALL_TOP=../install > +- > +-none: > +- @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" > +- @echo " $(PLATS)" > +- @echo "See doc/readme.html for complete instructions." > +- > +-# make may get confused with test/ and install/ > +-dummy: > +- > +-# echo config parameters > +-echo: > +- @cd src && $(MAKE) -s echo > +- @echo "PLAT= $(PLAT)" > +- @echo "V= $V" > +- @echo "R= $R" > +- @echo "TO_BIN= $(TO_BIN)" > +- @echo "TO_INC= $(TO_INC)" > +- @echo "TO_LIB= $(TO_LIB)" > +- @echo "TO_MAN= $(TO_MAN)" > +- @echo "INSTALL_TOP= $(INSTALL_TOP)" > +- @echo "INSTALL_BIN= $(INSTALL_BIN)" > +- @echo "INSTALL_INC= $(INSTALL_INC)" > +- @echo "INSTALL_LIB= $(INSTALL_LIB)" > +- @echo "INSTALL_MAN= $(INSTALL_MAN)" > +- @echo "INSTALL_LMOD= $(INSTALL_LMOD)" > +- @echo "INSTALL_CMOD= $(INSTALL_CMOD)" > +- @echo "INSTALL_EXEC= $(INSTALL_EXEC)" > +- @echo "INSTALL_DATA= $(INSTALL_DATA)" > +- > +-# echo pkg-config data > +-pc: > +- @echo "version=$R" > +- @echo "prefix=$(INSTALL_TOP)" > +- @echo "libdir=$(INSTALL_LIB)" > +- @echo "includedir=$(INSTALL_INC)" > +- > +-# list targets that do not create files (but not all makes understand > .PHONY) > +-.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho > +- > +-# (end of Makefile) > diff --git > a/patches/lua-5.3.4/0102-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > > b/patches/lua-5.3.4/0102-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > new file mode 100644 > index 000000000..3f2fe1c2b > --- /dev/null > +++ > b/patches/lua-5.3.4/0102-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > @@ -0,0 +1,938 @@ > +From: Erwin Rol <er...@erwinrol.com> > +Date: Fri, 9 Dec 2011 11:32:12 +0100 > +Subject: [PATCH] Add lua support to ptxdist 1.99: add autoconf files > + > +This patch add lua support to ptxdist 1.99. It has a menu entry under > +scripting languages. And a patch that makes it possible to use autoconf > +to build. > + > +This part of the patch adds the autoconf files. > + > +Signed-off-by: Erwin Rol <er...@erwinrol.com> > +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > +--- > + configure.ac | 70 ++++ > + etc/lua.pc.in | 32 ++ > + src/luaconf.h.template.in | 797 > ++++++++++++++++++++++++++++++++++++++++++++++ > + 3 files changed, 899 insertions(+) > + create mode 100644 configure.ac > + create mode 100644 etc/lua.pc.in > + create mode 100644 src/luaconf.h.template.in > + > +diff --git a/configure.ac b/configure.ac > +new file mode 100644 > +index 000000000000..5105c0bb0d2a > +--- /dev/null > ++++ b/configure.ac > +@@ -0,0 +1,70 @@ > ++AC_PREREQ([2.67]) > ++AC_INIT([Autotoolized Lua],[5.3.4],[],[lua-at]) > ++ > ++AC_CONFIG_MACRO_DIR([m4]) > ++ > ++AC_CONFIG_HEADERS([config.h]) > ++AC_CONFIG_SRCDIR([src/lapi.c]) > ++ > ++AM_INIT_AUTOMAKE([1.9 foreign]) > ++ > ++AC_PROG_CC > ++LT_INIT > ++ > ++AC_ARG_WITH( > ++ [readline], > ++ [AS_HELP_STRING([--with-readline],[Use readline for interpreter input > [default=yes]])], > ++ [use_readline=$withval], > ++ [use_readline=yes] > ++) > ++ > ++LUA_LIBS="-lm" > ++ > ++# Check for readline > ++READLINE_DEFS="#undef LUA_USE_READLINE" > ++if test "x$use_readline" == "xyes"; then > ++ AC_CHECK_LIB([readline], [readline], [], [use_readline=no]) > ++ AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], > [use_readline=no]) > ++ if test "x$use_readline" == "xno"; then > ++ AC_MSG_WARN([readline headers could not be found, disabling readline > support]) > ++ else > ++ READLINE_DEFS="#define LUA_USE_READLINE" > ++ LUA_LIBS="$LUA_LIBS -lreadline" > ++ fi > ++fi > ++AC_SUBST(READLINE_DEFS) > ++ > ++case "$host" in > ++ *-mingw*) use_os=win32 ;; > ++ *-darwin*) use_os=macosx ;; > ++ *) use_os=posix ;; > ++esac > ++ > ++POSIX_DEFS="#undef LUA_USE_POSIX" > ++LUA_DL_DEFS="#undef LUA_USE_DLOPEN" > ++LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL" > ++ > ++if test "x$use_os" == "xwin32"; then > ++ LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL" > ++elif test "x$use_os" == "xmacosx"; then > ++ POSIX_DEFS="#define LUA_USE_POSIX" > ++ LUA_DL_DEFS="#define LUA_DL_DYLD" > ++elif test "x$use_os" == "xposix"; then > ++ POSIX_DEFS="#define LUA_USE_POSIX" > ++ LUA_DL_DEFS="#define LUA_DL_DLOPEN" > ++ LUA_LIBS="$LUA_LIBS -ldl" > ++fi > ++AC_SUBST(POSIX_DEFS) > ++AC_SUBST(LUA_DL_DEFS) > ++AC_SUBST(LUA_BUILD_AS_DLL_DEFS) > ++ > ++AC_SUBST(LUA_LIBS) > ++ > ++AC_CONFIG_FILES([Makefile > ++ src/Makefile > ++ src/luaconf.h.template > ++ etc/Makefile > ++ etc/lua.pc > ++ doc/Makefile > ++ test/Makefile]) > ++AC_OUTPUT > +diff --git a/etc/lua.pc.in b/etc/lua.pc.in > +new file mode 100644 > +index 000000000000..7f33cff8faf6 > +--- /dev/null > ++++ b/etc/lua.pc.in > +@@ -0,0 +1,32 @@ > ++# lua.pc -- pkg-config data for Lua > ++ > ++# vars from install Makefile > ++ > ++# grep '^V=' ../Makefile > ++V= 5.1 > ++# grep '^R=' ../Makefile > ++R= @VERSION@ > ++ > ++# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' > ++# plus autotoolification > ++prefix= @prefix@ > ++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/src/luaconf.h.template.in b/src/luaconf.h.template.in > +new file mode 100644 > +index 000000000000..3f5ad630585a > +--- /dev/null > ++++ b/src/luaconf.h.template.in > +@@ -0,0 +1,797 @@ > ++/* > ++** $Id: luaconf.h,v 1.259 2016/12/22 13:08:50 roberto Exp $ > ++** Configuration file for Lua > ++** See Copyright Notice in lua.h > ++*/ > ++ > ++ > ++#ifndef luaconf_h > ++#define luaconf_h > ++ > ++#include <limits.h> > ++#include <stddef.h> > ++ > ++/* > ++ ** ================= > ++ ** Autotoolification > ++ ** ================= > ++ */ > ++ > ++/** autotoolize patch **/ > ++@POSIX_DEFS@ > ++@LUA_DL_DEFS@ > ++@LUA_BUILD_AS_DLL_DEFS@ > ++@READLINE_DEFS@ > ++/** autotoolize patch **/ > ++ > ++/* > ++** =================================================================== > ++** Search for "@@" to find all configurable definitions. > ++** =================================================================== > ++*/ > ++ > ++ > ++/* > ++** {==================================================================== > ++** System Configuration: macros to adapt (if needed) Lua to some > ++** particular platform, for instance compiling it with 32-bit numbers or > ++** restricting it to C89. > ++** ===================================================================== > ++*/ > ++ > ++/* > ++@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You > ++** can also define LUA_32BITS in the make file, but changing here you > ++** ensure that all software connected to Lua will be compiled with the > ++** same configuration. > ++*/ > ++/* #define LUA_32BITS */ > ++ > ++ > ++/* > ++@@ LUA_USE_C89 controls the use of non-ISO-C89 features. > ++** Define it if you want Lua to avoid the use of a few C99 features > ++** or Windows-specific features on Windows. > ++*/ > ++/* #define LUA_USE_C89 */ > ++ > ++ > ++/* > ++** By default, Lua on Windows use (some) specific Windows features > ++*/ > ++#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) > ++#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ > ++#endif > ++ > ++ > ++#if defined(LUA_USE_WINDOWS) > ++#define LUA_DL_DLL /* enable support for DLL */ > ++#define LUA_USE_C89 /* broadly, Windows is C89 */ > ++#endif > ++ > ++ > ++#if defined(LUA_USE_LINUX) > ++#define LUA_USE_POSIX > ++#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ > ++#define LUA_USE_READLINE /* needs some extra libraries */ > ++#endif > ++ > ++ > ++#if defined(LUA_USE_MACOSX) > ++#define LUA_USE_POSIX > ++#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ > ++#define LUA_USE_READLINE /* needs an extra library: -lreadline */ > ++#endif > ++ > ++ > ++/* > ++@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for > ++** C89 ('long' and 'double'); Windows always has '__int64', so it does > ++** not need to use this case. > ++*/ > ++#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) > ++#define LUA_C89_NUMBERS > ++#endif > ++ > ++ > ++ > ++/* > ++@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. > ++*/ > ++/* avoid undefined shifts */ > ++#if ((INT_MAX >> 15) >> 15) >= 1 > ++#define LUAI_BITSINT 32 > ++#else > ++/* 'int' always must have at least 16 bits */ > ++#define LUAI_BITSINT 16 > ++#endif > ++ > ++ > ++/* > ++@@ LUA_INT_TYPE defines the type for Lua integers. > ++@@ LUA_FLOAT_TYPE defines the type for Lua floats. > ++** Lua should work fine with any mix of these options (if supported > ++** by your C compiler). The usual configurations are 64-bit integers > ++** and 'double' (the default), 32-bit integers and 'float' (for > ++** restricted platforms), and 'long'/'double' (for C compilers not > ++** compliant with C99, which may not have support for 'long long'). > ++*/ > ++ > ++/* predefined options for LUA_INT_TYPE */ > ++#define LUA_INT_INT 1 > ++#define LUA_INT_LONG 2 > ++#define LUA_INT_LONGLONG 3 > ++ > ++/* predefined options for LUA_FLOAT_TYPE */ > ++#define LUA_FLOAT_FLOAT 1 > ++#define LUA_FLOAT_DOUBLE 2 > ++#define LUA_FLOAT_LONGDOUBLE 3 > ++ > ++#if defined(LUA_32BITS) /* { */ > ++/* > ++** 32-bit integers and 'float' > ++*/ > ++#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ > ++#define LUA_INT_TYPE LUA_INT_INT > ++#else /* otherwise use 'long' */ > ++#define LUA_INT_TYPE LUA_INT_LONG > ++#endif > ++#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT > ++ > ++#elif defined(LUA_C89_NUMBERS) /* }{ */ > ++/* > ++** largest types available for C89 ('long' and 'double') > ++*/ > ++#define LUA_INT_TYPE LUA_INT_LONG > ++#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE > ++ > ++#endif /* } */ > ++ > ++ > ++/* > ++** default configuration for 64-bit Lua ('long long' and 'double') > ++*/ > ++#if !defined(LUA_INT_TYPE) > ++#define LUA_INT_TYPE LUA_INT_LONGLONG > ++#endif > ++ > ++#if !defined(LUA_FLOAT_TYPE) > ++#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE > ++#endif > ++ > ++/* }================================================================== */ > ++ > ++ > ++ > ++ > ++/* > ++** {================================================================== > ++** Configuration for Paths. > ++** =================================================================== > ++*/ > ++ > ++/* > ++** LUA_PATH_SEP is the character that separates templates in a path. > ++** LUA_PATH_MARK is the string that marks the substitution points in a > ++** template. > ++** LUA_EXEC_DIR in a Windows path is replaced by the executable's > ++** directory. > ++*/ > ++#define LUA_PATH_SEP ";" > ++#define LUA_PATH_MARK "?" > ++#define LUA_EXEC_DIR "!" > ++ > ++ > ++/* > ++@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for > ++** Lua libraries. > ++@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for > ++** C libraries. > ++** CHANGE them if your machine has a non-conventional directory > ++** hierarchy or if you want to install your libraries in > ++** non-conventional directories. > ++*/ > ++#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR > ++#if defined(_WIN32) /* { */ > ++/* > ++** In Windows, any exclamation mark ('!') in the path is replaced by the > ++** path of the directory of the executable file of the current process. > ++*/ > ++#define LUA_LDIR "!\\lua\\" > ++#define LUA_CDIR "!\\" > ++#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" > ++#define LUA_PATH_DEFAULT \ > ++ LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ > ++ LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ > ++ LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ > ++ ".\\?.lua;" ".\\?\\init.lua" > ++#define LUA_CPATH_DEFAULT \ > ++ LUA_CDIR"?.dll;" \ > ++ LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ > ++ LUA_CDIR"loadall.dll;" ".\\?.dll" > ++ > ++#else /* }{ */ > ++ > ++/** autotoolize patch **/ > ++#define LUA_LDIR "%lua_datadir%/lua/5.1/" > ++#define LUA_CDIR "%lua_libdir%/lua/5.1/" > ++/** autotoolize patch **/ > ++ > ++#define LUA_PATH_DEFAULT \ > ++ LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ > ++ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ > ++ "./?.lua;" "./?/init.lua" > ++#define LUA_CPATH_DEFAULT \ > ++ LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" > ++#endif /* } */ > ++ > ++ > ++/* > ++@@ LUA_DIRSEP is the directory separator (for submodules). > ++** CHANGE it if your machine does not use "/" as the directory separator > ++** and is not Windows. (On Windows Lua automatically uses "\".) > ++*/ > ++#if defined(_WIN32) > ++#define LUA_DIRSEP "\\" > ++#else > ++#define LUA_DIRSEP "/" > ++#endif > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++** {================================================================== > ++** Marks for exported symbols in the C code > ++** =================================================================== > ++*/ > ++ > ++/* > ++@@ LUA_API is a mark for all core API functions. > ++@@ LUALIB_API is a mark for all auxiliary library functions. > ++@@ LUAMOD_API is a mark for all standard library opening functions. > ++** CHANGE them if you need to define those functions in some special way. > ++** For instance, if you want to create one Windows DLL with the core and > ++** the libraries, you may want to use the following definition (define > ++** LUA_BUILD_AS_DLL to get it). > ++*/ > ++#if defined(LUA_BUILD_AS_DLL) /* { */ > ++ > ++#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ > ++#define LUA_API __declspec(dllexport) > ++#else /* }{ */ > ++#define LUA_API __declspec(dllimport) > ++#endif /* } */ > ++ > ++#else /* }{ */ > ++ > ++#define LUA_API extern > ++ > ++#endif /* } */ > ++ > ++ > ++/* more often than not the libs go together with the core */ > ++#define LUALIB_API LUA_API > ++#define LUAMOD_API LUALIB_API > ++ > ++ > ++/* > ++@@ LUAI_FUNC is a mark for all extern functions that are not to be > ++** exported to outside modules. > ++@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables > ++** that are not to be exported to outside modules (LUAI_DDEF for > ++** definitions and LUAI_DDEC for declarations). > ++** CHANGE them if you need to mark them in some special way. Elf/gcc > ++** (versions 3.2 and later) mark them as "hidden" to optimize access > ++** when Lua is compiled as a shared library. Not all elf targets support > ++** this attribute. Unfortunately, gcc does not offer a way to check > ++** whether the target offers that support, and those without support > ++** give a warning about it. To avoid these warnings, change to the > ++** default definition. > ++*/ > ++#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ > ++ defined(__ELF__) /* { */ > ++#define LUAI_FUNC __attribute__((visibility("hidden"))) extern > ++#else /* }{ */ > ++#define LUAI_FUNC extern > ++#endif /* } */ > ++ > ++#define LUAI_DDEC LUAI_FUNC > ++#define LUAI_DDEF /* empty */ > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++** {================================================================== > ++** Compatibility with previous versions > ++** =================================================================== > ++*/ > ++ > ++/* > ++@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. > ++@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. > ++** You can define it to get all options, or change specific options > ++** to fit your specific needs. > ++*/ > ++#if defined(LUA_COMPAT_5_2) /* { */ > ++ > ++/* > ++@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated > ++** functions in the mathematical library. > ++*/ > ++#define LUA_COMPAT_MATHLIB > ++ > ++/* > ++@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. > ++*/ > ++#define LUA_COMPAT_BITLIB > ++ > ++/* > ++@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. > ++*/ > ++#define LUA_COMPAT_IPAIRS > ++ > ++/* > ++@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for > ++** manipulating other integer types (lua_pushunsigned, lua_tounsigned, > ++** luaL_checkint, luaL_checklong, etc.) > ++*/ > ++#define LUA_COMPAT_APIINTCASTS > ++ > ++#endif /* } */ > ++ > ++ > ++#if defined(LUA_COMPAT_5_1) /* { */ > ++ > ++/* Incompatibilities from 5.2 -> 5.3 */ > ++#define LUA_COMPAT_MATHLIB > ++#define LUA_COMPAT_APIINTCASTS > ++ > ++/* > ++@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. > ++** You can replace it with 'table.unpack'. > ++*/ > ++#define LUA_COMPAT_UNPACK > ++ > ++/* > ++@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. > ++** You can replace it with 'package.searchers'. > ++*/ > ++#define LUA_COMPAT_LOADERS > ++ > ++/* > ++@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. > ++** You can call your C function directly (with light C functions). > ++*/ > ++#define lua_cpcall(L,f,u) \ > ++ (lua_pushcfunction(L, (f)), \ > ++ lua_pushlightuserdata(L,(u)), \ > ++ lua_pcall(L,1,0,0)) > ++ > ++ > ++/* > ++@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. > ++** You can rewrite 'log10(x)' as 'log(x, 10)'. > ++*/ > ++#define LUA_COMPAT_LOG10 > ++ > ++/* > ++@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base > ++** library. You can rewrite 'loadstring(s)' as 'load(s)'. > ++*/ > ++#define LUA_COMPAT_LOADSTRING > ++ > ++/* > ++@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. > ++*/ > ++#define LUA_COMPAT_MAXN > ++ > ++/* > ++@@ The following macros supply trivial compatibility for some > ++** changes in the API. The macros themselves document how to > ++** change your code to avoid using them. > ++*/ > ++#define lua_strlen(L,i) lua_rawlen(L, (i)) > ++ > ++#define lua_objlen(L,i) lua_rawlen(L, (i)) > ++ > ++#define lua_equal(L,idx1,idx2) > lua_compare(L,(idx1),(idx2),LUA_OPEQ) > ++#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) > ++ > ++/* > ++@@ LUA_COMPAT_MODULE controls compatibility with previous > ++** module functions 'module' (Lua) and 'luaL_register' (C). > ++*/ > ++#define LUA_COMPAT_MODULE > ++ > ++#endif /* } */ > ++ > ++ > ++/* > ++@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a > ++@@ a float mark ('.0'). > ++** This macro is not on by default even in compatibility mode, > ++** because this is not really an incompatibility. > ++*/ > ++/* #define LUA_COMPAT_FLOATSTRING */ > ++ > ++/* }================================================================== */ > ++ > ++ > ++ > ++/* > ++** {================================================================== > ++** Configuration for Numbers. > ++** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* > ++** satisfy your needs. > ++** =================================================================== > ++*/ > ++ > ++/* > ++@@ LUA_NUMBER is the floating-point type used by Lua. > ++@@ LUAI_UACNUMBER is the result of a 'default argument promotion' > ++@@ over a floating number. > ++@@ l_mathlim(x) corrects limit name 'x' to the proper float type > ++** by prefixing it with one of FLT/DBL/LDBL. > ++@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. > ++@@ LUA_NUMBER_FMT is the format for writing floats. > ++@@ lua_number2str converts a float to a string. > ++@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. > ++@@ l_floor takes the floor of a float. > ++@@ lua_str2number converts a decimal numeric string to a number. > ++*/ > ++ > ++ > ++/* The following definitions are good for most cases here */ > ++ > ++#define l_floor(x) (l_mathop(floor)(x)) > ++ > ++#define lua_number2str(s,sz,n) \ > ++ l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) > ++ > ++/* > ++@@ lua_numbertointeger converts a float number to an integer, or > ++** returns 0 if float is not within the range of a lua_Integer. > ++** (The range comparisons are tricky because of rounding. The tests > ++** here assume a two-complement representation, where MININTEGER always > ++** has an exact representation as a float; MAXINTEGER may not have one, > ++** and therefore its conversion to float may have an ill-defined value.) > ++*/ > ++#define lua_numbertointeger(n,p) \ > ++ ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ > ++ (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ > ++ (*(p) = (LUA_INTEGER)(n), 1)) > ++ > ++ > ++/* now the variable definitions */ > ++ > ++#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ > ++ > ++#define LUA_NUMBER float > ++ > ++#define l_mathlim(n) (FLT_##n) > ++ > ++#define LUAI_UACNUMBER double > ++ > ++#define LUA_NUMBER_FRMLEN "" > ++#define LUA_NUMBER_FMT "%.7g" > ++ > ++#define l_mathop(op) op##f > ++ > ++#define lua_str2number(s,p) strtof((s), (p)) > ++ > ++ > ++#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ > ++ > ++#define LUA_NUMBER long double > ++ > ++#define l_mathlim(n) (LDBL_##n) > ++ > ++#define LUAI_UACNUMBER long double > ++ > ++#define LUA_NUMBER_FRMLEN "L" > ++#define LUA_NUMBER_FMT "%.19Lg" > ++ > ++#define l_mathop(op) op##l > ++ > ++#define lua_str2number(s,p) strtold((s), (p)) > ++ > ++#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ > ++ > ++#define LUA_NUMBER double > ++ > ++#define l_mathlim(n) (DBL_##n) > ++ > ++#define LUAI_UACNUMBER double > ++ > ++#define LUA_NUMBER_FRMLEN "" > ++#define LUA_NUMBER_FMT "%.14g" > ++ > ++#define l_mathop(op) op > ++ > ++#define lua_str2number(s,p) strtod((s), (p)) > ++ > ++#else /* }{ */ > ++ > ++#error "numeric float type not defined" > ++ > ++#endif /* } */ > ++ > ++ > ++ > ++/* > ++@@ LUA_INTEGER is the integer type used by Lua. > ++** > ++@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. > ++** > ++@@ LUAI_UACINT is the result of a 'default argument promotion' > ++@@ over a lUA_INTEGER. > ++@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. > ++@@ LUA_INTEGER_FMT is the format for writing integers. > ++@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. > ++@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. > ++@@ lua_integer2str converts an integer to a string. > ++*/ > ++ > ++ > ++/* The following definitions are good for most cases here */ > ++ > ++#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" > ++ > ++#define LUAI_UACINT LUA_INTEGER > ++ > ++#define lua_integer2str(s,sz,n) \ > ++ l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) > ++ > ++/* > ++** use LUAI_UACINT here to avoid problems with promotions (which > ++** can turn a comparison between unsigneds into a signed comparison) > ++*/ > ++#define LUA_UNSIGNED unsigned LUAI_UACINT > ++ > ++ > ++/* now the variable definitions */ > ++ > ++#if LUA_INT_TYPE == LUA_INT_INT /* { int */ > ++ > ++#define LUA_INTEGER int > ++#define LUA_INTEGER_FRMLEN "" > ++ > ++#define LUA_MAXINTEGER INT_MAX > ++#define LUA_MININTEGER INT_MIN > ++ > ++#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ > ++ > ++#define LUA_INTEGER long > ++#define LUA_INTEGER_FRMLEN "l" > ++ > ++#define LUA_MAXINTEGER LONG_MAX > ++#define LUA_MININTEGER LONG_MIN > ++ > ++#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ > ++ > ++/* use presence of macro LLONG_MAX as proxy for C99 compliance */ > ++#if defined(LLONG_MAX) /* { */ > ++/* use ISO C99 stuff */ > ++ > ++#define LUA_INTEGER long long > ++#define LUA_INTEGER_FRMLEN "ll" > ++ > ++#define LUA_MAXINTEGER LLONG_MAX > ++#define LUA_MININTEGER LLONG_MIN > ++ > ++#elif defined(LUA_USE_WINDOWS) /* }{ */ > ++/* in Windows, can use specific Windows types */ > ++ > ++#define LUA_INTEGER __int64 > ++#define LUA_INTEGER_FRMLEN "I64" > ++ > ++#define LUA_MAXINTEGER _I64_MAX > ++#define LUA_MININTEGER _I64_MIN > ++ > ++#else /* }{ */ > ++ > ++#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ > ++ or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" > ++ > ++#endif /* } */ > ++ > ++#else /* }{ */ > ++ > ++#error "numeric integer type not defined" > ++ > ++#endif /* } */ > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++** {================================================================== > ++** Dependencies with C99 and other C details > ++** =================================================================== > ++*/ > ++ > ++/* > ++@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. > ++** (All uses in Lua have only one format item.) > ++*/ > ++#if !defined(LUA_USE_C89) > ++#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) > ++#else > ++#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) > ++#endif > ++ > ++ > ++/* > ++@@ lua_strx2number converts an hexadecimal numeric string to a number. > ++** In C99, 'strtod' does that conversion. Otherwise, you can > ++** leave 'lua_strx2number' undefined and Lua will provide its own > ++** implementation. > ++*/ > ++#if !defined(LUA_USE_C89) > ++#define lua_strx2number(s,p) lua_str2number(s,p) > ++#endif > ++ > ++ > ++/* > ++@@ lua_number2strx converts a float to an hexadecimal numeric string. > ++** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. > ++** Otherwise, you can leave 'lua_number2strx' undefined and Lua will > ++** provide its own implementation. > ++*/ > ++#if !defined(LUA_USE_C89) > ++#define lua_number2strx(L,b,sz,f,n) \ > ++ ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n))) > ++#endif > ++ > ++ > ++/* > ++** 'strtof' and 'opf' variants for math functions are not valid in > ++** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the > ++** availability of these variants. ('math.h' is already included in > ++** all files that use these macros.) > ++*/ > ++#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) > ++#undef l_mathop /* variants not available */ > ++#undef lua_str2number > ++#define l_mathop(op) (lua_Number)op /* no variant */ > ++#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) > ++#endif > ++ > ++ > ++/* > ++@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation > ++** functions. It must be a numerical type; Lua will use 'intptr_t' if > ++** available, otherwise it will use 'ptrdiff_t' (the nearest thing to > ++** 'intptr_t' in C89) > ++*/ > ++#define LUA_KCONTEXT ptrdiff_t > ++ > ++#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ > ++ __STDC_VERSION__ >= 199901L > ++#include <stdint.h> > ++#if defined(INTPTR_MAX) /* even in C99 this type is optional */ > ++#undef LUA_KCONTEXT > ++#define LUA_KCONTEXT intptr_t > ++#endif > ++#endif > ++ > ++ > ++/* > ++@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). > ++** Change that if you do not want to use C locales. (Code using this > ++** macro must include header 'locale.h'.) > ++*/ > ++#if !defined(lua_getlocaledecpoint) > ++#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) > ++#endif > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++** {================================================================== > ++** Language Variations > ++** ===================================================================== > ++*/ > ++ > ++/* > ++@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some > ++** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from > ++** numbers to strings. Define LUA_NOCVTS2N to turn off automatic > ++** coercion from strings to numbers. > ++*/ > ++/* #define LUA_NOCVTN2S */ > ++/* #define LUA_NOCVTS2N */ > ++ > ++ > ++/* > ++@@ LUA_USE_APICHECK turns on several consistency checks on the C API. > ++** Define it as a help when debugging C code. > ++*/ > ++#if defined(LUA_USE_APICHECK) > ++#include <assert.h> > ++#define luai_apicheck(l,e) assert(e) > ++#endif > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++** {================================================================== > ++** Macros that affect the API and must be stable (that is, must be the > ++** same when you compile Lua and when you compile code that links to > ++** Lua). You probably do not want/need to change them. > ++** ===================================================================== > ++*/ > ++ > ++/* > ++@@ LUAI_MAXSTACK limits the size of the Lua stack. > ++** CHANGE it if you need a different limit. This limit is arbitrary; > ++** its only purpose is to stop Lua from consuming unlimited stack > ++** space (and to reserve some numbers for pseudo-indices). > ++*/ > ++#if LUAI_BITSINT >= 32 > ++#define LUAI_MAXSTACK 1000000 > ++#else > ++#define LUAI_MAXSTACK 2048 > ++#endif > ++ > ++ > ++/* > ++@@ LUA_EXTRASPACE defines the size of a raw memory area associated with > ++** a Lua state with very fast access. > ++** CHANGE it if you need a different size. > ++*/ > ++#define LUA_EXTRASPACE (sizeof(void *)) > ++ > ++ > ++/* > ++@@ LUA_IDSIZE gives the maximum size for the description of the source > ++@@ of a function in debug information. > ++** CHANGE it if you want a different size. > ++*/ > ++#define LUA_IDSIZE 60 > ++ > ++ > ++/* > ++@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. > ++** CHANGE it if it uses too much C-stack space. (For long double, > ++** 'string.format("%.99f", -1e4932)' needs 5034 bytes, so a > ++** smaller buffer would force a memory allocation for each call to > ++** 'string.format'.) > ++*/ > ++#if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE > ++#define LUAL_BUFFERSIZE 8192 > ++#else > ++#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * > sizeof(lua_Integer))) > ++#endif > ++ > ++/* }================================================================== */ > ++ > ++ > ++/* > ++@@ LUA_QL describes how error messages quote program elements. > ++** Lua does not use these macros anymore; they are here for > ++** compatibility only. > ++*/ > ++#define LUA_QL(x) "'" x "'" > ++#define LUA_QS LUA_QL("%s") > ++ > ++ > ++ > ++ > ++/* =================================================================== */ > ++ > ++/* > ++** Local configuration. You can use this space to add your redefinitions > ++** without modifying the main part of the file. > ++*/ > ++ > ++ > ++ > ++ > ++ > ++#endif > ++ > diff --git > a/patches/lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > > b/patches/lua-5.3.4/0103-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > similarity index 89% > rename from > patches/lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > rename to > patches/lua-5.3.4/0103-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > index a2b6c4aae..1ba27825e 100644 > --- > a/patches/lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > +++ > b/patches/lua-5.3.4/0103-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > @@ -13,10 +13,10 @@ Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > --- > Makefile.am | 5 +++++ > doc/Makefile.am | 5 +++++ > - etc/Makefile.am | 8 ++++++++ > + etc/Makefile.am | 6 ++++++ > src/Makefile.am | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > test/Makefile.am | 5 +++++ > - 5 files changed, 70 insertions(+) > + 5 files changed, 68 insertions(+) > create mode 100644 Makefile.am > create mode 100644 doc/Makefile.am > create mode 100644 etc/Makefile.am > @@ -25,7 +25,7 @@ Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de> > > diff --git a/Makefile.am b/Makefile.am > new file mode 100644 > -index 0000000..de78a24 > +index 000000000000..de78a245e49e > --- /dev/null > +++ b/Makefile.am > @@ -0,0 +1,5 @@ > @@ -36,7 +36,7 @@ index 0000000..de78a24 > +EXTRA_DIST = autogen.sh COPYRIGHT HISTORY INSTALL README > diff --git a/doc/Makefile.am b/doc/Makefile.am > new file mode 100644 > -index 0000000..574b6f8 > +index 000000000000..574b6f8eb93a > --- /dev/null > +++ b/doc/Makefile.am > @@ -0,0 +1,5 @@ > @@ -47,12 +47,10 @@ index 0000000..574b6f8 > + logo.gif luac.1 lua.css readme.html > diff --git a/etc/Makefile.am b/etc/Makefile.am > new file mode 100644 > -index 0000000..23edd92 > +index 000000000000..b869e771987e > --- /dev/null > +++ b/etc/Makefile.am > -@@ -0,0 +1,8 @@ > -+include_HEADERS = lua.hpp > -+ > +@@ -0,0 +1,6 @@ > +pkgconfigdir = $(libdir)/pkgconfig > +pkgconfig_DATA = lua.pc > + > @@ -61,13 +59,13 @@ index 0000000..23edd92 > + luavs.bat min.c README > diff --git a/src/Makefile.am b/src/Makefile.am > new file mode 100644 > -index 0000000..cf6bdea > +index 000000000000..fdec233cb521 > --- /dev/null > +++ b/src/Makefile.am > @@ -0,0 +1,47 @@ > +AM_CFLAGS = -Wall > + > -+include_HEADERS = lua.h lualib.h lauxlib.h > ++include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp > +nodist_include_HEADERS = luaconf.h > + > +lib_LTLIBRARIES = liblua.la > @@ -77,7 +75,7 @@ index 0000000..cf6bdea > + lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c \ > + lundump.c lvm.c lzio.c \ > + lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c ltablib.c \ > -+ lstrlib.c loadlib.c linit.c \ > ++ lstrlib.c loadlib.c linit.c lctype.c lcorolib.c lutf8lib.c \ > + lapi.h ldebug.h lgc.h lmem.h lparser.h ltable.h lzio.h ldo.h llex.h \ > + lobject.h lstate.h ltm.h lundump.h lcode.h lfunc.h llimits.h lopcodes.h > \ > + lstring.h lvm.h > @@ -90,7 +88,7 @@ index 0000000..cf6bdea > +lua_LDADD = liblua.la @LUA_LIBS@ > +lua_DEPENDENCIES = liblua.la > + > -+luac_SOURCES = luac.c print.c > ++luac_SOURCES = luac.c > +luac_LDADD = liblua.la @LUA_LIBS@ > +luac_DEPENDENCIES = liblua.la > + > @@ -114,7 +112,7 @@ index 0000000..cf6bdea > + mv luaconf.h.tmp luaconf.h > diff --git a/test/Makefile.am b/test/Makefile.am > new file mode 100644 > -index 0000000..bab7eac > +index 000000000000..bab7eac2fc74 > --- /dev/null > +++ b/test/Makefile.am > @@ -0,0 +1,5 @@ > diff --git a/patches/lua-5.1.4/autogen.sh b/patches/lua-5.3.4/autogen.sh > similarity index 100% > rename from patches/lua-5.1.4/autogen.sh > rename to patches/lua-5.3.4/autogen.sh > diff --git a/patches/lua-5.3.4/series b/patches/lua-5.3.4/series > new file mode 100644 > index 000000000..e58241b8b > --- /dev/null > +++ b/patches/lua-5.3.4/series > @@ -0,0 +1,6 @@ > +# generated by git-ptx-patches > +#tag:base --start-number 101 > +0101-Add-lua-support-to-ptxdist-1.99-remove-old-Makefile.patch > +0102-Add-lua-support-to-ptxdist-1.99-add-autoconf-files.patch > +0103-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch > +# 792c8a02ae64583fb11a11ce3609bed2 - git-ptx-patches magic > diff --git a/rules/lua.make b/rules/lua.make > index 30bce5da7..d734339d9 100644 > --- a/rules/lua.make > +++ b/rules/lua.make > @@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_LUA) += lua > # > # Paths and names > # > -LUA_VERSION := 5.1.4 > -LUA_MD5 := d0870f2de55d59c1c8419f36e8fac150 > +LUA_VERSION := 5.3.4 > +LUA_MD5 := 53a9c68bcc0eda58bdc2095ad5cdfc63 > LUA := lua-$(LUA_VERSION) > LUA_SUFFIX := tar.gz > LUA_URL := http://www.lua.org/ftp/$(LUA).$(LUA_SUFFIX) > -- > 2.13.2 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de