From ab3433be77dac860bc7611eceba9424c405bc8a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Burnichon?= <benoit.burnichon@airtag.com>
Date: Tue, 6 Dec 2011 12:00:16 +0100
Subject: [PATCH 1/2] lua: Correct implementation for version 5.1.4
To: ptxdist@pengutronix.de

---
 patches/lua-5.1.4/autoconfize.diff               |  912 ++++++++++++++++++++++
 patches/lua-5.1.4/automakize.diff                |  113 +++
 patches/lua-5.1.4/lua-5.1.3-autoconfize.diff     |  910 ---------------------
 patches/lua-5.1.4/lua-5.1.3-autogen.sh.diff      |   26 -
 patches/lua-5.1.4/lua-5.1.3-automakize.diff      |  111 ---
 patches/lua-5.1.4/lua-5.1.3-remove-Makefile.diff |  149 ----
 patches/lua-5.1.4/remove-Makefile.diff           |  149 ++++
 patches/lua-5.1.4/series                         |    7 +-
 rules/lua.make                                   |    2 +-
 9 files changed, 1178 insertions(+), 1201 deletions(-)
 create mode 100644 patches/lua-5.1.4/autoconfize.diff
 create mode 100644 patches/lua-5.1.4/automakize.diff
 delete mode 100644 patches/lua-5.1.4/lua-5.1.3-autoconfize.diff
 delete mode 100644 patches/lua-5.1.4/lua-5.1.3-autogen.sh.diff
 delete mode 100644 patches/lua-5.1.4/lua-5.1.3-automakize.diff
 delete mode 100644 patches/lua-5.1.4/lua-5.1.3-remove-Makefile.diff
 create mode 100644 patches/lua-5.1.4/remove-Makefile.diff

diff --git a/patches/lua-5.1.4/autoconfize.diff b/patches/lua-5.1.4/autoconfize.diff
new file mode 100644
index 0000000..4682f3e
--- /dev/null
+++ b/patches/lua-5.1.4/autoconfize.diff
@@ -0,0 +1,912 @@
+Subject: Add lua support to ptxdist 1.99: add autoconf files
+From: Erwin Rol <erwin@erwinrol.com>
+
+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              |   68 ++++
+ etc/lua.pc.in             |   32 +
+ src/luaconf.h.template.in |  777 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 877 insertions(+)
+
+Index: lua-5.1.4/configure.ac
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/configure.ac	2011-12-06 11:47:49.675076314 +0100
+@@ -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
+Index: lua-5.1.4/etc/lua.pc.in
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/etc/lua.pc.in	2011-12-06 11:44:52.103826880 +0100
+@@ -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)
+Index: lua-5.1.4/src/luaconf.h.template.in
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/src/luaconf.h.template.in	2011-12-06 11:44:52.103826880 +0100
+@@ -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/automakize.diff b/patches/lua-5.1.4/automakize.diff
new file mode 100644
index 0000000..0dae724
--- /dev/null
+++ b/patches/lua-5.1.4/automakize.diff
@@ -0,0 +1,113 @@
+Subject: Add lua support to ptxdist 1.99: add automake files
+From: Erwin Rol <erwin@erwinrol.com>
+
+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      |    3 +++
+ doc/Makefile.am  |    5 +++++
+ etc/Makefile.am  |    8 ++++++++
+ src/Makefile.am  |   45 +++++++++++++++++++++++++++++++++++++++++++++
+ test/Makefile.am |    5 +++++
+ 5 files changed, 66 insertions(+)
+
+Index: lua-5.1.4/doc/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/doc/Makefile.am	2011-12-06 11:49:03.491826945 +0100
+@@ -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
+Index: lua-5.1.4/etc/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/etc/Makefile.am	2011-12-06 11:49:03.491826945 +0100
+@@ -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
+Index: lua-5.1.4/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/Makefile.am	2011-12-06 11:50:14.559076265 +0100
+@@ -0,0 +1,5 @@
++ACLOCAL_AMFLAGS = -I m4
++
++SUBDIRS = src doc etc test
++
++EXTRA_DIST = autogen.sh COPYRIGHT HISTORY INSTALL README
+Index: lua-5.1.4/src/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/src/Makefile.am	2011-12-06 11:49:03.491826945 +0100
+@@ -0,0 +1,45 @@
++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@
++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
++
++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
+Index: lua-5.1.4/test/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lua-5.1.4/test/Makefile.am	2011-12-06 11:49:03.491826945 +0100
+@@ -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/lua-5.1.3-autoconfize.diff b/patches/lua-5.1.4/lua-5.1.3-autoconfize.diff
deleted file mode 100644
index f9ff8ff..0000000
--- a/patches/lua-5.1.4/lua-5.1.3-autoconfize.diff
+++ /dev/null
@@ -1,910 +0,0 @@
-Subject: Add lua support to ptxdist 1.99: add autoconf files
-From: Erwin Rol <erwin@erwinrol.com>
-
-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              |   68 ++++
- etc/lua.pc.in             |   32 +
- src/luaconf.h.template.in |  777 ++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 877 insertions(+)
-
-Index: lua-5.1.4/configure.ac
-===================================================================
---- /dev/null
-+++ lua-5.1.4/configure.ac
-@@ -0,0 +1,68 @@
-+AC_PREREQ(2.59)
-+AC_INIT([Autotoolized Lua], [5.1.4], [], [lua-at])
-+
-+AC_CONFIG_HEADERS([config.h])
-+AC_CONFIG_SRCDIR([src/lapi.c])
-+
-+AM_INIT_AUTOMAKE([1.9 foreign])
-+
-+AC_PROG_CC
-+AC_PROG_LIBTOOL
-+
-+AC_ARG_WITH(
-+  [readline],
-+  [AC_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
-Index: lua-5.1.4/etc/lua.pc.in
-===================================================================
---- /dev/null
-+++ lua-5.1.4/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= 5.1.3
-+
-+# 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)
-Index: lua-5.1.4/src/luaconf.h.template.in
-===================================================================
---- /dev/null
-+++ lua-5.1.4/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/lua-5.1.3-autogen.sh.diff b/patches/lua-5.1.4/lua-5.1.3-autogen.sh.diff
deleted file mode 100644
index 04cfb8a..0000000
--- a/patches/lua-5.1.4/lua-5.1.3-autogen.sh.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-Subject: Add lua support to ptxdist 1.99: add autogen.sh
-From: Erwin Rol <erwin@erwinrol.com>
-
-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 an autogen.sh script.
-
-Signed-off-by: Erwin Rol <erwin@erwinrol.com>
-Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-
----
- autogen.sh |    5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: lua-5.1.3/autogen.sh
-===================================================================
---- /dev/null
-+++ lua-5.1.3/autogen.sh
-@@ -0,0 +1,5 @@
-+#!/bin/sh
-+
-+autoreconf -fvi
-+
-+echo "Now run ./configure"
diff --git a/patches/lua-5.1.4/lua-5.1.3-automakize.diff b/patches/lua-5.1.4/lua-5.1.3-automakize.diff
deleted file mode 100644
index 7fa3814..0000000
--- a/patches/lua-5.1.4/lua-5.1.3-automakize.diff
+++ /dev/null
@@ -1,111 +0,0 @@
-Subject: Add lua support to ptxdist 1.99: add automake files
-From: Erwin Rol <erwin@erwinrol.com>
-
-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      |    3 +++
- doc/Makefile.am  |    5 +++++
- etc/Makefile.am  |    8 ++++++++
- src/Makefile.am  |   45 +++++++++++++++++++++++++++++++++++++++++++++
- test/Makefile.am |    5 +++++
- 5 files changed, 66 insertions(+)
-
-Index: lua-5.1.3/doc/Makefile.am
-===================================================================
---- /dev/null
-+++ lua-5.1.3/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
-Index: lua-5.1.3/etc/Makefile.am
-===================================================================
---- /dev/null
-+++ lua-5.1.3/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
-Index: lua-5.1.3/Makefile.am
-===================================================================
---- /dev/null
-+++ lua-5.1.3/Makefile.am
-@@ -0,0 +1,3 @@
-+SUBDIRS = src doc etc test
-+
-+EXTRA_DIST = autogen.sh COPYRIGHT HISTORY INSTALL README
-Index: lua-5.1.3/src/Makefile.am
-===================================================================
---- /dev/null
-+++ lua-5.1.3/src/Makefile.am
-@@ -0,0 +1,45 @@
-+AM_CFLAGS = -Wall
-+
-+include_HEADERS = lua.h lualib.h lauxlib.h
-+nodist_include_HEADERS = luaconf.h
-+
-+lib_LTLIBRARIES = liblua.la
-+liblua_la_LDFLAGS = -release 5.1.3
-+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
-+
-+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
-Index: lua-5.1.3/test/Makefile.am
-===================================================================
---- /dev/null
-+++ lua-5.1.3/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/lua-5.1.3-remove-Makefile.diff b/patches/lua-5.1.4/lua-5.1.3-remove-Makefile.diff
deleted file mode 100644
index 172e31e..0000000
--- a/patches/lua-5.1.4/lua-5.1.3-remove-Makefile.diff
+++ /dev/null
@@ -1,149 +0,0 @@
-Subject: Add lua support to ptxdist 1.99: remove old Makefile
-From: Erwin Rol <erwin@erwinrol.com>
-
-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(-)
-
-Index: lua-5.1.4/Makefile
-===================================================================
---- lua-5.1.4.orig/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/remove-Makefile.diff b/patches/lua-5.1.4/remove-Makefile.diff
new file mode 100644
index 0000000..172e31e
--- /dev/null
+++ b/patches/lua-5.1.4/remove-Makefile.diff
@@ -0,0 +1,149 @@
+Subject: Add lua support to ptxdist 1.99: remove old Makefile
+From: Erwin Rol <erwin@erwinrol.com>
+
+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(-)
+
+Index: lua-5.1.4/Makefile
+===================================================================
+--- lua-5.1.4.orig/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/series b/patches/lua-5.1.4/series
index eccc62a..2c51e37 100644
--- a/patches/lua-5.1.4/series
+++ b/patches/lua-5.1.4/series
@@ -1,4 +1,3 @@
-lua-5.1.3-remove-Makefile.diff
-lua-5.1.3-autoconfize.diff
-lua-5.1.3-automakize.diff
-lua-5.1.3-autogen.sh.diff
+remove-Makefile.diff
+autoconfize.diff
+automakize.diff
diff --git a/rules/lua.make b/rules/lua.make
index 19bb1c5..56c7918 100644
--- a/rules/lua.make
+++ b/rules/lua.make
@@ -60,7 +60,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-5.1.3)
+	@$(call install_lib, lua, 0, 0, 0644, liblua-$(LUA_VERSION))
 endif
 	@$(call install_finish, lua)
 
-- 
1.7.2.5

