mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] lua: version bump 5.1.4 -> 5.3.4
Date: Mon, 25 Sep 2017 15:10:59 +0200	[thread overview]
Message-ID: <20170925131059.yyrfzznizbptgdis@pengutronix.de> (raw)
In-Reply-To: <1505466290-16548-1-git-send-email-Denis.Osterland@diehl.com>

On Fri, Sep 15, 2017 at 09:07:52AM +0000, Denis OSTERLAND wrote:
> Instead of write own build rules with autoconf tools,
> only adapt projects make files to work in ptxdist environment.

I like this Patch in general, but building luaexpat still fails:

------------------------
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:581: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

Do you have any insight, what happens here? Maybe updating luaexpat as well
might help. Or just mark it as broken until someone cares enought about it
to fix this.

Michael


> Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ---
>  ...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 ---------------------
>  ...upport-to-ptxdist-1.99-add-automake-files.patch | 125 ---
>  patches/lua-5.1.4/autogen.sh                       |   1 -
>  patches/lua-5.1.4/series                           |  19 -
>  ...001-Cross-compile-in-ptxdist-envirionment.patch | 105 +++
>  .../lua-5.3.4/0002-Install-pkgconfig-file.patch    |  61 ++
>  patches/lua-5.3.4/series                           |   5 +
>  rules/lua.in                                       |   9 +-
>  rules/lua.make                                     |  20 +-
>  21 files changed, 182 insertions(+), 1655 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/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch
>  delete mode 120000 patches/lua-5.1.4/autogen.sh
>  delete mode 100644 patches/lua-5.1.4/series
>  create mode 100644 patches/lua-5.3.4/0001-Cross-compile-in-ptxdist-envirionment.patch
>  create mode 100644 patches/lua-5.3.4/0002-Install-pkgconfig-file.patch
>  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 848fe30..0000000
> --- 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 280fee3..0000000
> --- 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 c599cc6..0000000
> --- 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 fe11892..0000000
> --- 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 40c0e3f..0000000
> --- 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 f748372..0000000
> --- 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 cc0c310..0000000
> --- 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 5a5d0f2..0000000
> --- 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 20c0b11..0000000
> --- 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 6c9f7e1..0000000
> --- 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 94ee2e4..0000000
> --- 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 09118c1..0000000
> --- 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 f27a62e..0000000
> --- 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/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch b/patches/lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch
> deleted file mode 100644
> index a2b6c4a..0000000
> --- a/patches/lua-5.1.4/0102-Add-lua-support-to-ptxdist-1.99-add-automake-files.patch
> +++ /dev/null
> @@ -1,125 +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 automake 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 automake files.
> -
> -Signed-off-by: Erwin Rol <erwin@erwinrol.com>
> -Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
> ----
> - Makefile.am      |  5 +++++
> - doc/Makefile.am  |  5 +++++
> - etc/Makefile.am  |  8 ++++++++
> - src/Makefile.am  | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> - test/Makefile.am |  5 +++++
> - 5 files changed, 70 insertions(+)
> - create mode 100644 Makefile.am
> - create mode 100644 doc/Makefile.am
> - create mode 100644 etc/Makefile.am
> - create mode 100644 src/Makefile.am
> - create mode 100644 test/Makefile.am
> -
> -diff --git a/Makefile.am b/Makefile.am
> -new file mode 100644
> -index 0000000..de78a24
> ---- /dev/null
> -+++ b/Makefile.am
> -@@ -0,0 +1,5 @@
> -+ACLOCAL_AMFLAGS = -I m4
> -+
> -+SUBDIRS = src doc etc test
> -+
> -+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
> ---- /dev/null
> -+++ b/doc/Makefile.am
> -@@ -0,0 +1,5 @@
> -+man1_MANS = lua.1 luac.1
> -+
> -+EXTRA_DIST = \
> -+	contents.html  lua.1   luac.html  lua.html     manual.html \
> -+	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
> ---- /dev/null
> -+++ b/etc/Makefile.am
> -@@ -0,0 +1,8 @@
> -+include_HEADERS = lua.hpp
> -+
> -+pkgconfigdir = $(libdir)/pkgconfig
> -+pkgconfig_DATA = lua.pc
> -+
> -+EXTRA_DIST = \
> -+	all.c      lua.ico    lua.pc.in  noparser.c  strict.lua \
> -+	luavs.bat  min.c      README
> -diff --git a/src/Makefile.am b/src/Makefile.am
> -new file mode 100644
> -index 0000000..cf6bdea
> ---- /dev/null
> -+++ b/src/Makefile.am
> -@@ -0,0 +1,47 @@
> -+AM_CFLAGS = -Wall
> -+
> -+include_HEADERS = lua.h lualib.h lauxlib.h
> -+nodist_include_HEADERS = luaconf.h
> -+
> -+lib_LTLIBRARIES = liblua.la
> -+liblua_la_LDFLAGS = -release @VERSION@ -Wl,--as-needed
> -+liblua_la_SOURCES = \
> -+	lapi.c lcode.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c \
> -+	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 \
> -+	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
> -+
> -+liblua_la_LIBADD = @LUA_LIBS@
> -+
> -+bin_PROGRAMS = lua luac
> -+
> -+lua_SOURCES = lua.c
> -+lua_LDADD = liblua.la @LUA_LIBS@
> -+lua_DEPENDENCIES = liblua.la
> -+
> -+luac_SOURCES = luac.c print.c
> -+luac_LDADD = liblua.la @LUA_LIBS@
> -+luac_DEPENDENCIES = liblua.la
> -+
> -+# luac must be linked statically because it uses functions that
> -+# don't get exported to the shared object
> -+luac_LDFLAGS = -static
> -+
> -+EXTRA_DIST = luaconf.h.template.in
> -+BUILT_SOURCES = luaconf.h
> -+CLEANFILES = luaconf.h
> -+
> -+readline_defs = @READLINE_DEFS@
> -+
> -+edit = 	sed \
> -+	  -e 's,%lua_datadir%,$(datadir),g' \
> -+	  -e 's,%lua_libdir%,$(libdir),g'
> -+
> -+luaconf.h : luaconf.h.template
> -+	rm -f luaconf.h luaconf.h.tmp
> -+	$(edit) luaconf.h.template > luaconf.h.tmp
> -+	mv luaconf.h.tmp luaconf.h
> -diff --git a/test/Makefile.am b/test/Makefile.am
> -new file mode 100644
> -index 0000000..bab7eac
> ---- /dev/null
> -+++ b/test/Makefile.am
> -@@ -0,0 +1,5 @@
> -+EXTRA_DIST = \
> -+	bisect.lua  env.lua         fib.lua      life.lua          printf.lua \
> -+	sieve.lua   trace-calls.lua cf.lua       factorial.lua     globals.lua \
> -+	luac.lua    README          sort.lua     trace-globals.lua echo.lua \
> -+	fibfor.lua  hello.lua       readonly.lua table.lua         xd.lua
> diff --git a/patches/lua-5.1.4/autogen.sh b/patches/lua-5.1.4/autogen.sh
> deleted file mode 120000
> index 9f8a4cb..0000000
> --- a/patches/lua-5.1.4/autogen.sh
> +++ /dev/null
> @@ -1 +0,0 @@
> -../autogen.sh
> \ No newline at end of file
> diff --git a/patches/lua-5.1.4/series b/patches/lua-5.1.4/series
> deleted file mode 100644
> index 746e819..0000000
> --- 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/0001-Cross-compile-in-ptxdist-envirionment.patch b/patches/lua-5.3.4/0001-Cross-compile-in-ptxdist-envirionment.patch
> new file mode 100644
> index 0000000..52883f3
> --- /dev/null
> +++ b/patches/lua-5.3.4/0001-Cross-compile-in-ptxdist-envirionment.patch
> @@ -0,0 +1,105 @@
> +From: Denis Osterland <Denis.Osterland@diehl.com>
> +Date: Wed, 28 Jun 2017 15:52:42 +0200
> +Subject: [PATCH] Cross-compile in ptxdist envirionment.
> +
> +Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> +---
> + Makefile     |  9 ++++++---
> + src/Makefile | 18 ++++++++++--------
> + 2 files changed, 16 insertions(+), 11 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 119110d2f010..2b2968449fb5 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -4,13 +4,13 @@
> + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
> + 
> + # Your platform. See PLATS for possible values.
> +-PLAT= none
> ++PLAT= linux
> + 
> + # 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_TOP= $(DESTDIR)/usr
> + INSTALL_BIN= $(INSTALL_TOP)/bin
> + INSTALL_INC= $(INSTALL_TOP)/include
> + INSTALL_LIB= $(INSTALL_TOP)/lib
> +@@ -52,7 +52,7 @@ R= $V.4
> + all:	$(PLAT)
> + 
> + $(PLATS) clean:
> +-	cd src && $(MAKE) $@
> ++	cd src && $(MAKE) $@ R=$R
> + 
> + test:	dummy
> + 	src/lua -v
> +@@ -62,6 +62,9 @@ install: dummy
> + 	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 src && $(INSTALL_EXEC) liblua.so.$R $(INSTALL_LIB)
> ++	ln -s liblua.so.$R $(INSTALL_LIB)/liblua.so.$V
> ++	ln -s liblua.so.$V $(INSTALL_LIB)/liblua.so
> + 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
> + 
> + uninstall:
> +diff --git a/src/Makefile b/src/Makefile
> +index d71c75c87322..ef1760d65225 100644
> +--- a/src/Makefile
> ++++ b/src/Makefile
> +@@ -4,15 +4,13 @@
> + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
> + 
> + # Your platform. See PLATS for possible values.
> +-PLAT= none
> ++PLAT= linux
> + 
> +-CC= gcc -std=gnu99
> +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
> ++CFLAGS= -std=gnu99 -fPIC -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
> + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
> + LIBS= -lm $(SYSLIBS) $(MYLIBS)
> + 
> +-AR= ar rcu
> +-RANLIB= ranlib
> ++ARFLAGS= rcu
> + RM= rm -f
> + 
> + SYSCFLAGS=
> +@@ -29,6 +27,7 @@ MYOBJS=
> + PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
> + 
> + LUA_A=	liblua.a
> ++LUA_SO= liblua.so.$R
> + CORE_O=	lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
> + 	lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
> + 	ltm.o lundump.o lvm.o lzio.o
> +@@ -43,8 +42,8 @@ LUAC_T=	luac
> + LUAC_O=	luac.o
> + 
> + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
> +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
> +-ALL_A= $(LUA_A)
> ++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
> ++ALL_A= $(LUA_A) $(LUA_SO)
> + 
> + # Targets start here.
> + default: $(PLAT)
> +@@ -56,9 +55,12 @@ o:	$(ALL_O)
> + a:	$(ALL_A)
> + 
> + $(LUA_A): $(BASE_O)
> +-	$(AR) $@ $(BASE_O)
> ++	$(AR) $(ARFLAGS) $@ $(BASE_O)
> + 	$(RANLIB) $@
> + 
> ++$(LUA_SO): $(BASE_O)
> ++	$(CC) -shared -o $@ $(BASE_O) $(filter-out %readline, $(LIBS))
> ++
> + $(LUA_T): $(LUA_O) $(LUA_A)
> + 	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
> + 
> diff --git a/patches/lua-5.3.4/0002-Install-pkgconfig-file.patch b/patches/lua-5.3.4/0002-Install-pkgconfig-file.patch
> new file mode 100644
> index 0000000..5717178
> --- /dev/null
> +++ b/patches/lua-5.3.4/0002-Install-pkgconfig-file.patch
> @@ -0,0 +1,61 @@
> +From: Denis Osterland <Denis.Osterland@diehl.com>
> +Date: Thu, 29 Jun 2017 14:54:04 +0200
> +Subject: [PATCH] Install pkgconfig file.
> +
> +Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> +---
> + Makefile  |  8 ++++++--
> + lua.pc.in | 12 ++++++++++++
> + 2 files changed, 18 insertions(+), 2 deletions(-)
> + create mode 100644 lua.pc.in
> +
> +diff --git a/Makefile b/Makefile
> +index 2b2968449fb5..0ecd0198169f 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -57,14 +57,15 @@ $(PLATS) clean:
> + test:	dummy
> + 	src/lua -v
> + 
> +-install: dummy
> +-	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
> ++install: dummy lua.pc
> ++	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)/pkgconfig $(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 src && $(INSTALL_EXEC) liblua.so.$R $(INSTALL_LIB)
> + 	ln -s liblua.so.$R $(INSTALL_LIB)/liblua.so.$V
> + 	ln -s liblua.so.$V $(INSTALL_LIB)/liblua.so
> ++	$(INSTALL_DATA) lua.pc $(INSTALL_LIB)/pkgconfig
> + 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
> + 
> + uninstall:
> +@@ -111,6 +112,9 @@ pc:
> + 	@echo "libdir=$(INSTALL_LIB)"
> + 	@echo "includedir=$(INSTALL_INC)"
> + 
> ++lua.pc: lua.pc.in
> ++	sed -e "s/@VERSION@/$R/g" $< > $@
> ++
> + # 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
> + 
> +diff --git a/lua.pc.in b/lua.pc.in
> +new file mode 100644
> +index 000000000000..637b4e6b4c14
> +--- /dev/null
> ++++ b/lua.pc.in
> +@@ -0,0 +1,12 @@
> ++prefix=${pcfiledir}/../..
> ++libdir=${prefix}/lib
> ++includedir=${prefix}/include
> ++
> ++Name: Lua
> ++Description: Lua language engine
> ++Version: @VERSION@
> ++Requires:
> ++Libs: -L${libdir} -llua
> ++Libs.private: -lm -ldl
> ++Cflags: -I${includedir}
> ++
> diff --git a/patches/lua-5.3.4/series b/patches/lua-5.3.4/series
> new file mode 100644
> index 0000000..8d0a793
> --- /dev/null
> +++ b/patches/lua-5.3.4/series
> @@ -0,0 +1,5 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-Cross-compile-in-ptxdist-envirionment.patch
> +0002-Install-pkgconfig-file.patch
> +# 8ceb231bd1d7daff066aa045e761a5d8  - git-ptx-patches magic
> diff --git a/rules/lua.in b/rules/lua.in
> index 3a031bc..15c9d71 100644
> --- a/rules/lua.in
> +++ b/rules/lua.in
> @@ -3,7 +3,7 @@
>  menuconfig LUA
>  	tristate
>  	prompt "lua                           "
> -	select READLINE	if LUA_READLINE
> +	select READLINE
>  	select LIBC_M
>  	select LIBC_DL
>  	help
> @@ -19,13 +19,6 @@ menuconfig LUA
>  
>  if LUA
>  
> -config LUA_READLINE
> -	bool
> -	prompt "Use readline"
> -	depends on BROKEN
> -	help
> -	  FIXME
> -
>  config LUA_INSTALL_LUA
>  	bool
>  	prompt "Install lua on target"
> diff --git a/rules/lua.make b/rules/lua.make
> index 5a318f5..0493ad1 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)
> @@ -30,13 +30,13 @@ LUA_LICENSE     := MIT
>  # Prepare
>  # ----------------------------------------------------------------------------
>  
> -#
> -# autoconf
> -#
> -LUA_AUTOCONF := \
> -	$(CROSS_AUTOCONF_USR) \
> -	--enable-static \
> -	--$(call ptx/wwo, PTXCONF_LUA_READLINE)-readline \
> +LUA_CONF_TOOL      := NO
> +
> +# ----------------------------------------------------------------------------
> +# Compile
> +# ----------------------------------------------------------------------------
> +
> +LUA_MAKE_ENV       := $(CROSS_ENV)
>  
>  # ----------------------------------------------------------------------------
>  # Target-Install
> @@ -58,7 +58,7 @@ ifdef PTXCONF_LUA_INSTALL_LUAC
>  	@$(call install_copy, lua, 0, 0, 0755, -, /usr/bin/luac)
>  endif
>  ifdef PTXCONF_LUA_INSTALL_LIBLUA
> -	@$(call install_lib, lua, 0, 0, 0644, liblua-$(LUA_VERSION))
> +	@$(call install_lib, lua, 0, 0, 0644, liblua)
>  endif
>  	@$(call install_finish, lua)
>  
> -- 
> 2.7.4
> 
> 
> Diehl AKO Stiftung & Co. KG, Pfannerstraße 75-83, 88239 Wangen im Allgäu
> Bereichsvorstand: Dipl.-Ing. Michael Siedentop (Sprecher), Josef Fellner (Mitglied)
> Sitz der Gesellschaft: Wangen i.A. – Registergericht: Amtsgericht Ulm HRA 620609 – Persönlich haftende Gesellschafterin: Diehl Verwaltungs-Stiftung – Sitz: Nürnberg – Registergericht: Amtsgericht Nürnberg HRA 11756 –
> Vorstand: Dr.-Ing. E.h. Thomas Diehl (†) (Vorsitzender), Herr Dipl.-Wirtsch.-Ing. Wolfgang Weggen (stellvertretender Vorsitzender), Dipl.-Kfm. Claus Günther, Dipl.-Kfm. Frank Gutzeit, Dr.-Ing. Heinrich Schunk, Dr.-Ing. Michael Siedentop , Dipl.-Kfm. Dr.-Ing. Martin Sommer, Dipl.-Ing. (FH) Rainer von Borstel, Vorsitzender des Aufsichtsrates: Dr. Klaus Maier
> ___________________________________________________________________________________________________
> Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht. Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.
> 
> _______________________________________________
> 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

  reply	other threads:[~2017-09-25 13:11 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-15  9:07 Denis OSTERLAND
2017-09-25 13:10 ` Michael Olbrich [this message]
2017-09-25 14:37   ` Denis OSTERLAND

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170925131059.yyrfzznizbptgdis@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox