* [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4
@ 2017-07-04 20:36 Robert Schwebel
2017-07-04 20:40 ` Robert Schwebel
2017-08-03 6:41 ` Michael Olbrich
0 siblings, 2 replies; 3+ messages in thread
From: Robert Schwebel @ 2017-07-04 20:36 UTC (permalink / raw)
To: ptxdist; +Cc: Robert Schwebel
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.
Signed-off-by: Robert Schwebel <r.schwebel@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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 <erwin@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 <erwin@erwinrol.com>
-Signed-off-by: Robert Schwebel <r.schwebel@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 <erwin@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 <erwin@erwinrol.com>
-Signed-off-by: Robert Schwebel <r.schwebel@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.schwebel@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 <erwin@erwinrol.com>
+Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
+[ported from 5.1.4 to 5.3.4]
+Signed-off-by: Robert Schwebel <r.schwebel@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 <erwin@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 <erwin@erwinrol.com>
+Signed-off-by: Robert Schwebel <r.schwebel@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.schwebel@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.schwebel@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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4
2017-07-04 20:36 [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4 Robert Schwebel
@ 2017-07-04 20:40 ` Robert Schwebel
2017-08-03 6:41 ` Michael Olbrich
1 sibling, 0 replies; 3+ messages in thread
From: Robert Schwebel @ 2017-07-04 20:40 UTC (permalink / raw)
To: ptxdist
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.
Uhm, this is 1/1, not 1/2.
rsc
--
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4
2017-07-04 20:36 [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4 Robert Schwebel
2017-07-04 20:40 ` Robert Schwebel
@ 2017-08-03 6:41 ` Michael Olbrich
1 sibling, 0 replies; 3+ messages in thread
From: Michael Olbrich @ 2017-08-03 6:41 UTC (permalink / raw)
To: ptxdist
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.schwebel@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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.burnichon@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 <erwin@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 <erwin@erwinrol.com>
> -Signed-off-by: Robert Schwebel <r.schwebel@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 <erwin@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 <erwin@erwinrol.com>
> -Signed-off-by: Robert Schwebel <r.schwebel@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.schwebel@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 <erwin@erwinrol.com>
> +Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
> +[ported from 5.1.4 to 5.3.4]
> +Signed-off-by: Robert Schwebel <r.schwebel@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 <erwin@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 <erwin@erwinrol.com>
> +Signed-off-by: Robert Schwebel <r.schwebel@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.schwebel@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.schwebel@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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-03 6:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-04 20:36 [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4 Robert Schwebel
2017-07-04 20:40 ` Robert Schwebel
2017-08-03 6:41 ` Michael Olbrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox