aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--COPYING16
-rw-r--r--COPYING.7z56
-rw-r--r--COPYING.lua34
-rw-r--r--win32/bin/7z.dllbin0 -> 858624 bytes
-rw-r--r--win32/bin/7z.exebin0 -> 161792 bytes
-rw-r--r--win32/bin/chmod.exebin0 -> 22528 bytes
-rwxr-xr-xwin32/bin/cp.exebin0 -> 73728 bytes
-rwxr-xr-xwin32/bin/find.exebin0 -> 65536 bytes
-rwxr-xr-xwin32/bin/ls.exebin0 -> 57856 bytes
-rw-r--r--win32/bin/md5sum.exebin0 -> 28160 bytes
-rwxr-xr-xwin32/bin/mkdir.exebin0 -> 32768 bytes
-rwxr-xr-xwin32/bin/mv.exebin0 -> 69632 bytes
-rwxr-xr-xwin32/bin/pwd.exebin0 -> 2560 bytes
-rw-r--r--win32/bin/rclauncher.obin0 -> 2374 bytes
-rw-r--r--win32/bin/rclauncher.objbin0 -> 4339 bytes
-rwxr-xr-xwin32/bin/rm.exebin0 -> 65536 bytes
-rwxr-xr-xwin32/bin/rmdir.exebin0 -> 28672 bytes
-rwxr-xr-xwin32/bin/test.exebin0 -> 17920 bytes
-rwxr-xr-xwin32/bin/uname.exebin0 -> 16896 bytes
-rwxr-xr-xwin32/bin/wget.exebin0 -> 252416 bytes
-rw-r--r--win32/lua5.1/bin/Microsoft.VC80.CRT.manifest8
-rw-r--r--win32/lua5.1/bin/bin2c5.1.exebin0 -> 94208 bytes
-rw-r--r--win32/lua5.1/bin/lua5.1.dllbin0 -> 167936 bytes
-rw-r--r--win32/lua5.1/bin/lua5.1.exebin0 -> 45056 bytes
-rw-r--r--win32/lua5.1/bin/lua5.1.libbin0 -> 26112 bytes
-rw-r--r--win32/lua5.1/bin/lua51.dllbin0 -> 11264 bytes
-rw-r--r--win32/lua5.1/bin/lua51.libbin0 -> 25974 bytes
-rw-r--r--win32/lua5.1/bin/luac5.1.exebin0 -> 208896 bytes
-rw-r--r--win32/lua5.1/bin/msvcm80.dllbin0 -> 479232 bytes
-rw-r--r--win32/lua5.1/bin/msvcp80.dllbin0 -> 548864 bytes
-rw-r--r--win32/lua5.1/bin/msvcr80.dllbin0 -> 626688 bytes
-rw-r--r--win32/lua5.1/bin/wlua5.1.exebin0 -> 35840 bytes
-rw-r--r--win32/lua5.1/include/lauxlib.h174
-rw-r--r--win32/lua5.1/include/lua.h388
-rw-r--r--win32/lua5.1/include/lua.hpp9
-rw-r--r--win32/lua5.1/include/luaconf.h763
-rw-r--r--win32/lua5.1/include/lualib.h53
37 files changed, 1500 insertions, 1 deletions
diff --git a/COPYING b/COPYING
index a101a47e..43118838 100644
--- a/COPYING
+++ b/COPYING
@@ -9,9 +9,23 @@ at no cost without having to ask us. The only requirement is that if you do
9use LuaRocks, then you should give us credit by including the appropriate 9use LuaRocks, then you should give us credit by including the appropriate
10copyright notice somewhere in your product or its documentation. 10copyright notice somewhere in your product or its documentation.
11 11
127z.exe and 7z.dll are covered by another license, please see COPYING.7z for
13details.
14
15find.exe, mv.exe, rm.exe, wget.exe, ls.exe, pwd.exe, rmdir.exe, chmod.exe,
16md5sum.exe, test.exe, cp.exe, mkdir.exe, and uname.exe are part of UnxUtils,
17check http://unxutils.sourceforge.net/ for license information.
18
19Files under win32/lua5.1, except for Microsoft.VC80.CRT.manifest and msv*.*,
20are covered by another license, please see COPYING.lua for details.
21
22Microsoft.VC80.CRT.manifest, msvcm80.dll, msvcp80.dll, msvcr80.dll are part
23of the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) and
24are Copyright Microsoft, Inc. 2007.
25
12------------------------------------------------------------------------------ 26------------------------------------------------------------------------------
13 27
14Copyright © 2007-2009 Kepler Project. 28Copyright 2007-2010 Kepler Project.
15 29
16Permission is hereby granted, free of charge, to any person obtaining a copy 30Permission is hereby granted, free of charge, to any person obtaining a copy
17of this software and associated documentation files (the "Software"), to deal 31of this software and associated documentation files (the "Software"), to deal
diff --git a/COPYING.7z b/COPYING.7z
new file mode 100644
index 00000000..e25910a6
--- /dev/null
+++ b/COPYING.7z
@@ -0,0 +1,56 @@
1 7-Zip
2 ~~~~~
3 License for use and distribution
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
6 7-Zip Copyright (C) 1999-2010 Igor Pavlov.
7
8 Licenses for files are:
9
10 1) 7z.dll: GNU LGPL + unRAR restriction
11 2) All other files: GNU LGPL
12
13 The GNU LGPL + unRAR restriction means that you must follow both
14 GNU LGPL rules and unRAR restriction rules.
15
16
17 Note:
18 You can use 7-Zip on any computer, including a computer in a commercial
19 organization. You don't need to register or pay for 7-Zip.
20
21
22 GNU LGPL information
23 --------------------
24
25 This library is free software; you can redistribute it and/or
26 modify it under the terms of the GNU Lesser General Public
27 License as published by the Free Software Foundation; either
28 version 2.1 of the License, or (at your option) any later version.
29
30 This library is distributed in the hope that it will be useful,
31 but WITHOUT ANY WARRANTY; without even the implied warranty of
32 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33 Lesser General Public License for more details.
34
35 You can receive a copy of the GNU Lesser General Public License from
36 http://www.gnu.org/
37
38
39 unRAR restriction
40 -----------------
41
42 The decompression engine for RAR archives was developed using source
43 code of unRAR program.
44 All copyrights to original unRAR code are owned by Alexander Roshal.
45
46 The license for original unRAR code has the following restriction:
47
48 The unRAR sources cannot be used to re-create the RAR compression algorithm,
49 which is proprietary. Distribution of modified unRAR sources in separate form
50 or as a part of other software is permitted, provided that it is clearly
51 stated in the documentation and source comments that the code may
52 not be used to develop a RAR (WinRAR) compatible archiver.
53
54
55 --
56 Igor Pavlov
diff --git a/COPYING.lua b/COPYING.lua
new file mode 100644
index 00000000..3a53e741
--- /dev/null
+++ b/COPYING.lua
@@ -0,0 +1,34 @@
1Lua License
2-----------
3
4Lua is licensed under the terms of the MIT license reproduced below.
5This means that Lua is free software and can be used for both academic
6and commercial purposes at absolutely no cost.
7
8For details and rationale, see http://www.lua.org/license.html .
9
10===============================================================================
11
12Copyright (C) 1994-2008 Lua.org, PUC-Rio.
13
14Permission is hereby granted, free of charge, to any person obtaining a copy
15of this software and associated documentation files (the "Software"), to deal
16in the Software without restriction, including without limitation the rights
17to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18copies of the Software, and to permit persons to whom the Software is
19furnished to do so, subject to the following conditions:
20
21The above copyright notice and this permission notice shall be included in
22all copies or substantial portions of the Software.
23
24THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
30THE SOFTWARE.
31
32===============================================================================
33
34(end of COPYRIGHT)
diff --git a/win32/bin/7z.dll b/win32/bin/7z.dll
new file mode 100644
index 00000000..c0ff7fbe
--- /dev/null
+++ b/win32/bin/7z.dll
Binary files differ
diff --git a/win32/bin/7z.exe b/win32/bin/7z.exe
new file mode 100644
index 00000000..5e3d6f9c
--- /dev/null
+++ b/win32/bin/7z.exe
Binary files differ
diff --git a/win32/bin/chmod.exe b/win32/bin/chmod.exe
new file mode 100644
index 00000000..57a4bead
--- /dev/null
+++ b/win32/bin/chmod.exe
Binary files differ
diff --git a/win32/bin/cp.exe b/win32/bin/cp.exe
new file mode 100755
index 00000000..60f1cc2b
--- /dev/null
+++ b/win32/bin/cp.exe
Binary files differ
diff --git a/win32/bin/find.exe b/win32/bin/find.exe
new file mode 100755
index 00000000..662c4a8c
--- /dev/null
+++ b/win32/bin/find.exe
Binary files differ
diff --git a/win32/bin/ls.exe b/win32/bin/ls.exe
new file mode 100755
index 00000000..388af5eb
--- /dev/null
+++ b/win32/bin/ls.exe
Binary files differ
diff --git a/win32/bin/md5sum.exe b/win32/bin/md5sum.exe
new file mode 100644
index 00000000..03131206
--- /dev/null
+++ b/win32/bin/md5sum.exe
Binary files differ
diff --git a/win32/bin/mkdir.exe b/win32/bin/mkdir.exe
new file mode 100755
index 00000000..83e57d97
--- /dev/null
+++ b/win32/bin/mkdir.exe
Binary files differ
diff --git a/win32/bin/mv.exe b/win32/bin/mv.exe
new file mode 100755
index 00000000..bcdc9d0e
--- /dev/null
+++ b/win32/bin/mv.exe
Binary files differ
diff --git a/win32/bin/pwd.exe b/win32/bin/pwd.exe
new file mode 100755
index 00000000..6c110161
--- /dev/null
+++ b/win32/bin/pwd.exe
Binary files differ
diff --git a/win32/bin/rclauncher.o b/win32/bin/rclauncher.o
new file mode 100644
index 00000000..0fe5d95f
--- /dev/null
+++ b/win32/bin/rclauncher.o
Binary files differ
diff --git a/win32/bin/rclauncher.obj b/win32/bin/rclauncher.obj
new file mode 100644
index 00000000..86a32795
--- /dev/null
+++ b/win32/bin/rclauncher.obj
Binary files differ
diff --git a/win32/bin/rm.exe b/win32/bin/rm.exe
new file mode 100755
index 00000000..c489316c
--- /dev/null
+++ b/win32/bin/rm.exe
Binary files differ
diff --git a/win32/bin/rmdir.exe b/win32/bin/rmdir.exe
new file mode 100755
index 00000000..9b6266c5
--- /dev/null
+++ b/win32/bin/rmdir.exe
Binary files differ
diff --git a/win32/bin/test.exe b/win32/bin/test.exe
new file mode 100755
index 00000000..f87c0a2e
--- /dev/null
+++ b/win32/bin/test.exe
Binary files differ
diff --git a/win32/bin/uname.exe b/win32/bin/uname.exe
new file mode 100755
index 00000000..23cc50e5
--- /dev/null
+++ b/win32/bin/uname.exe
Binary files differ
diff --git a/win32/bin/wget.exe b/win32/bin/wget.exe
new file mode 100755
index 00000000..c7e47a73
--- /dev/null
+++ b/win32/bin/wget.exe
Binary files differ
diff --git a/win32/lua5.1/bin/Microsoft.VC80.CRT.manifest b/win32/lua5.1/bin/Microsoft.VC80.CRT.manifest
new file mode 100644
index 00000000..b89cafd7
--- /dev/null
+++ b/win32/lua5.1/bin/Microsoft.VC80.CRT.manifest
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
3 <noInheritable></noInheritable>
4 <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
5 <file name="msvcr80.dll" hash="10f4cb2831f1e9288a73387a8734a8b604e5beaa" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>n9On8FItNsK/DmT8UQxu6jYDtWQ=</dsig:DigestValue></asmv2:hash></file>
6 <file name="msvcp80.dll" hash="b2082dfd3009365c5b287448dcb3b4e2158a6d26" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>0KJ/VTwP4OUHx98HlIW2AdW1kuY=</dsig:DigestValue></asmv2:hash></file>
7 <file name="msvcm80.dll" hash="542490d0fcf8615c46d0ca487033ccaeb3941f0b" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>YJuB+9Os2oxW4mY+2oC/r8lICZE=</dsig:DigestValue></asmv2:hash></file>
8</assembly> \ No newline at end of file
diff --git a/win32/lua5.1/bin/bin2c5.1.exe b/win32/lua5.1/bin/bin2c5.1.exe
new file mode 100644
index 00000000..ca81d4b6
--- /dev/null
+++ b/win32/lua5.1/bin/bin2c5.1.exe
Binary files differ
diff --git a/win32/lua5.1/bin/lua5.1.dll b/win32/lua5.1/bin/lua5.1.dll
new file mode 100644
index 00000000..b87f3b66
--- /dev/null
+++ b/win32/lua5.1/bin/lua5.1.dll
Binary files differ
diff --git a/win32/lua5.1/bin/lua5.1.exe b/win32/lua5.1/bin/lua5.1.exe
new file mode 100644
index 00000000..dc1c2c35
--- /dev/null
+++ b/win32/lua5.1/bin/lua5.1.exe
Binary files differ
diff --git a/win32/lua5.1/bin/lua5.1.lib b/win32/lua5.1/bin/lua5.1.lib
new file mode 100644
index 00000000..df988276
--- /dev/null
+++ b/win32/lua5.1/bin/lua5.1.lib
Binary files differ
diff --git a/win32/lua5.1/bin/lua51.dll b/win32/lua5.1/bin/lua51.dll
new file mode 100644
index 00000000..27ab2654
--- /dev/null
+++ b/win32/lua5.1/bin/lua51.dll
Binary files differ
diff --git a/win32/lua5.1/bin/lua51.lib b/win32/lua5.1/bin/lua51.lib
new file mode 100644
index 00000000..74bcf3fb
--- /dev/null
+++ b/win32/lua5.1/bin/lua51.lib
Binary files differ
diff --git a/win32/lua5.1/bin/luac5.1.exe b/win32/lua5.1/bin/luac5.1.exe
new file mode 100644
index 00000000..6f87524e
--- /dev/null
+++ b/win32/lua5.1/bin/luac5.1.exe
Binary files differ
diff --git a/win32/lua5.1/bin/msvcm80.dll b/win32/lua5.1/bin/msvcm80.dll
new file mode 100644
index 00000000..c751385b
--- /dev/null
+++ b/win32/lua5.1/bin/msvcm80.dll
Binary files differ
diff --git a/win32/lua5.1/bin/msvcp80.dll b/win32/lua5.1/bin/msvcp80.dll
new file mode 100644
index 00000000..f0b52ebf
--- /dev/null
+++ b/win32/lua5.1/bin/msvcp80.dll
Binary files differ
diff --git a/win32/lua5.1/bin/msvcr80.dll b/win32/lua5.1/bin/msvcr80.dll
new file mode 100644
index 00000000..53c005ef
--- /dev/null
+++ b/win32/lua5.1/bin/msvcr80.dll
Binary files differ
diff --git a/win32/lua5.1/bin/wlua5.1.exe b/win32/lua5.1/bin/wlua5.1.exe
new file mode 100644
index 00000000..7be8c3a7
--- /dev/null
+++ b/win32/lua5.1/bin/wlua5.1.exe
Binary files differ
diff --git a/win32/lua5.1/include/lauxlib.h b/win32/lua5.1/include/lauxlib.h
new file mode 100644
index 00000000..34258235
--- /dev/null
+++ b/win32/lua5.1/include/lauxlib.h
@@ -0,0 +1,174 @@
1/*
2** $Id: lauxlib.h,v 1.88.1.1 2007/12/27 13:02:25 roberto Exp $
3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h
5*/
6
7
8#ifndef lauxlib_h
9#define lauxlib_h
10
11
12#include <stddef.h>
13#include <stdio.h>
14
15#include "lua.h"
16
17
18#if defined(LUA_COMPAT_GETN)
19LUALIB_API int (luaL_getn) (lua_State *L, int t);
20LUALIB_API void (luaL_setn) (lua_State *L, int t, int n);
21#else
22#define luaL_getn(L,i) ((int)lua_objlen(L, i))
23#define luaL_setn(L,i,j) ((void)0) /* no op! */
24#endif
25
26#if defined(LUA_COMPAT_OPENLIB)
27#define luaI_openlib luaL_openlib
28#endif
29
30
31/* extra error code for `luaL_load' */
32#define LUA_ERRFILE (LUA_ERRERR+1)
33
34
35typedef struct luaL_Reg {
36 const char *name;
37 lua_CFunction func;
38} luaL_Reg;
39
40
41
42LUALIB_API void (luaI_openlib) (lua_State *L, const char *libname,
43 const luaL_Reg *l, int nup);
44LUALIB_API void (luaL_register) (lua_State *L, const char *libname,
45 const luaL_Reg *l);
46LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
47LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
48LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname);
49LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
50LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg,
51 size_t *l);
52LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg,
53 const char *def, size_t *l);
54LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg);
55LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def);
56
57LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
58LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
59 lua_Integer def);
60
61LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
62LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
63LUALIB_API void (luaL_checkany) (lua_State *L, int narg);
64
65LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname);
66LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname);
67
68LUALIB_API void (luaL_where) (lua_State *L, int lvl);
69LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...);
70
71LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def,
72 const char *const lst[]);
73
74LUALIB_API int (luaL_ref) (lua_State *L, int t);
75LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref);
76
77LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename);
78LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
79 const char *name);
80LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);
81
82LUALIB_API lua_State *(luaL_newstate) (void);
83
84
85LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p,
86 const char *r);
87
88LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
89 const char *fname, int szhint);
90
91
92
93
94/*
95** ===============================================================
96** some useful macros
97** ===============================================================
98*/
99
100#define luaL_argcheck(L, cond,numarg,extramsg) \
101 ((void)((cond) || luaL_argerror(L, (numarg), (extramsg))))
102#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL))
103#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL))
104#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n)))
105#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d)))
106#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n)))
107#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d)))
108
109#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
110
111#define luaL_dofile(L, fn) \
112 (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))
113
114#define luaL_dostring(L, s) \
115 (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
116
117#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
118
119#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
120
121/*
122** {======================================================
123** Generic Buffer manipulation
124** =======================================================
125*/
126
127
128
129typedef struct luaL_Buffer {
130 char *p; /* current position in buffer */
131 int lvl; /* number of strings in the stack (level) */
132 lua_State *L;
133 char buffer[LUAL_BUFFERSIZE];
134} luaL_Buffer;
135
136#define luaL_addchar(B,c) \
137 ((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \
138 (*(B)->p++ = (char)(c)))
139
140/* compatibility only */
141#define luaL_putchar(B,c) luaL_addchar(B,c)
142
143#define luaL_addsize(B,n) ((B)->p += (n))
144
145LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
146LUALIB_API char *(luaL_prepbuffer) (luaL_Buffer *B);
147LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
148LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s);
149LUALIB_API void (luaL_addvalue) (luaL_Buffer *B);
150LUALIB_API void (luaL_pushresult) (luaL_Buffer *B);
151
152
153/* }====================================================== */
154
155
156/* compatibility with ref system */
157
158/* pre-defined references */
159#define LUA_NOREF (-2)
160#define LUA_REFNIL (-1)
161
162#define lua_ref(L,lock) ((lock) ? luaL_ref(L, LUA_REGISTRYINDEX) : \
163 (lua_pushstring(L, "unlocked references are obsolete"), lua_error(L), 0))
164
165#define lua_unref(L,ref) luaL_unref(L, LUA_REGISTRYINDEX, (ref))
166
167#define lua_getref(L,ref) lua_rawgeti(L, LUA_REGISTRYINDEX, (ref))
168
169
170#define luaL_reg luaL_Reg
171
172#endif
173
174
diff --git a/win32/lua5.1/include/lua.h b/win32/lua5.1/include/lua.h
new file mode 100644
index 00000000..e4bdfd3b
--- /dev/null
+++ b/win32/lua5.1/include/lua.h
@@ -0,0 +1,388 @@
1/*
2** $Id: lua.h,v 1.218.1.5 2008/08/06 13:30:12 roberto Exp $
3** Lua - An Extensible Extension Language
4** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
5** See Copyright Notice at the end of this file
6*/
7
8
9#ifndef lua_h
10#define lua_h
11
12#include <stdarg.h>
13#include <stddef.h>
14
15
16#include "luaconf.h"
17
18
19#define LUA_VERSION "Lua 5.1"
20#define LUA_RELEASE "Lua 5.1.4"
21#define LUA_VERSION_NUM 501
22#define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio"
23#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
24
25
26/* mark for precompiled code (`<esc>Lua') */
27#define LUA_SIGNATURE "\033Lua"
28
29/* option for multiple returns in `lua_pcall' and `lua_call' */
30#define LUA_MULTRET (-1)
31
32
33/*
34** pseudo-indices
35*/
36#define LUA_REGISTRYINDEX (-10000)
37#define LUA_ENVIRONINDEX (-10001)
38#define LUA_GLOBALSINDEX (-10002)
39#define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i))
40
41
42/* thread status; 0 is OK */
43#define LUA_YIELD 1
44#define LUA_ERRRUN 2
45#define LUA_ERRSYNTAX 3
46#define LUA_ERRMEM 4
47#define LUA_ERRERR 5
48
49
50typedef struct lua_State lua_State;
51
52typedef int (*lua_CFunction) (lua_State *L);
53
54
55/*
56** functions that read/write blocks when loading/dumping Lua chunks
57*/
58typedef const char * (*lua_Reader) (lua_State *L, void *ud, size_t *sz);
59
60typedef int (*lua_Writer) (lua_State *L, const void* p, size_t sz, void* ud);
61
62
63/*
64** prototype for memory-allocation functions
65*/
66typedef void * (*lua_Alloc) (void *ud, void *ptr, size_t osize, size_t nsize);
67
68
69/*
70** basic types
71*/
72#define LUA_TNONE (-1)
73
74#define LUA_TNIL 0
75#define LUA_TBOOLEAN 1
76#define LUA_TLIGHTUSERDATA 2
77#define LUA_TNUMBER 3
78#define LUA_TSTRING 4
79#define LUA_TTABLE 5
80#define LUA_TFUNCTION 6
81#define LUA_TUSERDATA 7
82#define LUA_TTHREAD 8
83
84
85
86/* minimum Lua stack available to a C function */
87#define LUA_MINSTACK 20
88
89
90/*
91** generic extra include file
92*/
93#if defined(LUA_USER_H)
94#include LUA_USER_H
95#endif
96
97
98/* type of numbers in Lua */
99typedef LUA_NUMBER lua_Number;
100
101
102/* type for integer functions */
103typedef LUA_INTEGER lua_Integer;
104
105
106
107/*
108** state manipulation
109*/
110LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
111LUA_API void (lua_close) (lua_State *L);
112LUA_API lua_State *(lua_newthread) (lua_State *L);
113
114LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
115
116
117/*
118** basic stack manipulation
119*/
120LUA_API int (lua_gettop) (lua_State *L);
121LUA_API void (lua_settop) (lua_State *L, int idx);
122LUA_API void (lua_pushvalue) (lua_State *L, int idx);
123LUA_API void (lua_remove) (lua_State *L, int idx);
124LUA_API void (lua_insert) (lua_State *L, int idx);
125LUA_API void (lua_replace) (lua_State *L, int idx);
126LUA_API int (lua_checkstack) (lua_State *L, int sz);
127
128LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n);
129
130
131/*
132** access functions (stack -> C)
133*/
134
135LUA_API int (lua_isnumber) (lua_State *L, int idx);
136LUA_API int (lua_isstring) (lua_State *L, int idx);
137LUA_API int (lua_iscfunction) (lua_State *L, int idx);
138LUA_API int (lua_isuserdata) (lua_State *L, int idx);
139LUA_API int (lua_type) (lua_State *L, int idx);
140LUA_API const char *(lua_typename) (lua_State *L, int tp);
141
142LUA_API int (lua_equal) (lua_State *L, int idx1, int idx2);
143LUA_API int (lua_rawequal) (lua_State *L, int idx1, int idx2);
144LUA_API int (lua_lessthan) (lua_State *L, int idx1, int idx2);
145
146LUA_API lua_Number (lua_tonumber) (lua_State *L, int idx);
147LUA_API lua_Integer (lua_tointeger) (lua_State *L, int idx);
148LUA_API int (lua_toboolean) (lua_State *L, int idx);
149LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len);
150LUA_API size_t (lua_objlen) (lua_State *L, int idx);
151LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx);
152LUA_API void *(lua_touserdata) (lua_State *L, int idx);
153LUA_API lua_State *(lua_tothread) (lua_State *L, int idx);
154LUA_API const void *(lua_topointer) (lua_State *L, int idx);
155
156
157/*
158** push functions (C -> stack)
159*/
160LUA_API void (lua_pushnil) (lua_State *L);
161LUA_API void (lua_pushnumber) (lua_State *L, lua_Number n);
162LUA_API void (lua_pushinteger) (lua_State *L, lua_Integer n);
163LUA_API void (lua_pushlstring) (lua_State *L, const char *s, size_t l);
164LUA_API void (lua_pushstring) (lua_State *L, const char *s);
165LUA_API const char *(lua_pushvfstring) (lua_State *L, const char *fmt,
166 va_list argp);
167LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
168LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
169LUA_API void (lua_pushboolean) (lua_State *L, int b);
170LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p);
171LUA_API int (lua_pushthread) (lua_State *L);
172
173
174/*
175** get functions (Lua -> stack)
176*/
177LUA_API void (lua_gettable) (lua_State *L, int idx);
178LUA_API void (lua_getfield) (lua_State *L, int idx, const char *k);
179LUA_API void (lua_rawget) (lua_State *L, int idx);
180LUA_API void (lua_rawgeti) (lua_State *L, int idx, int n);
181LUA_API void (lua_createtable) (lua_State *L, int narr, int nrec);
182LUA_API void *(lua_newuserdata) (lua_State *L, size_t sz);
183LUA_API int (lua_getmetatable) (lua_State *L, int objindex);
184LUA_API void (lua_getfenv) (lua_State *L, int idx);
185
186
187/*
188** set functions (stack -> Lua)
189*/
190LUA_API void (lua_settable) (lua_State *L, int idx);
191LUA_API void (lua_setfield) (lua_State *L, int idx, const char *k);
192LUA_API void (lua_rawset) (lua_State *L, int idx);
193LUA_API void (lua_rawseti) (lua_State *L, int idx, int n);
194LUA_API int (lua_setmetatable) (lua_State *L, int objindex);
195LUA_API int (lua_setfenv) (lua_State *L, int idx);
196
197
198/*
199** `load' and `call' functions (load and run Lua code)
200*/
201LUA_API void (lua_call) (lua_State *L, int nargs, int nresults);
202LUA_API int (lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
203LUA_API int (lua_cpcall) (lua_State *L, lua_CFunction func, void *ud);
204LUA_API int (lua_load) (lua_State *L, lua_Reader reader, void *dt,
205 const char *chunkname);
206
207LUA_API int (lua_dump) (lua_State *L, lua_Writer writer, void *data);
208
209
210/*
211** coroutine functions
212*/
213LUA_API int (lua_yield) (lua_State *L, int nresults);
214LUA_API int (lua_resume) (lua_State *L, int narg);
215LUA_API int (lua_status) (lua_State *L);
216
217/*
218** garbage-collection function and options
219*/
220
221#define LUA_GCSTOP 0
222#define LUA_GCRESTART 1
223#define LUA_GCCOLLECT 2
224#define LUA_GCCOUNT 3
225#define LUA_GCCOUNTB 4
226#define LUA_GCSTEP 5
227#define LUA_GCSETPAUSE 6
228#define LUA_GCSETSTEPMUL 7
229
230LUA_API int (lua_gc) (lua_State *L, int what, int data);
231
232
233/*
234** miscellaneous functions
235*/
236
237LUA_API int (lua_error) (lua_State *L);
238
239LUA_API int (lua_next) (lua_State *L, int idx);
240
241LUA_API void (lua_concat) (lua_State *L, int n);
242
243LUA_API lua_Alloc (lua_getallocf) (lua_State *L, void **ud);
244LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud);
245
246
247
248/*
249** ===============================================================
250** some useful macros
251** ===============================================================
252*/
253
254#define lua_pop(L,n) lua_settop(L, -(n)-1)
255
256#define lua_newtable(L) lua_createtable(L, 0, 0)
257
258#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
259
260#define lua_pushcfunction(L,f) lua_pushcclosure(L, (f), 0)
261
262#define lua_strlen(L,i) lua_objlen(L, (i))
263
264#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION)
265#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE)
266#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
267#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL)
268#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN)
269#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD)
270#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE)
271#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0)
272
273#define lua_pushliteral(L, s) \
274 lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
275
276#define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s))
277#define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s))
278
279#define lua_tostring(L,i) lua_tolstring(L, (i), NULL)
280
281
282
283/*
284** compatibility macros and functions
285*/
286
287#define lua_open() luaL_newstate()
288
289#define lua_getregistry(L) lua_pushvalue(L, LUA_REGISTRYINDEX)
290
291#define lua_getgccount(L) lua_gc(L, LUA_GCCOUNT, 0)
292
293#define lua_Chunkreader lua_Reader
294#define lua_Chunkwriter lua_Writer
295
296
297/* hack */
298LUA_API void lua_setlevel (lua_State *from, lua_State *to);
299
300
301/*
302** {======================================================================
303** Debug API
304** =======================================================================
305*/
306
307
308/*
309** Event codes
310*/
311#define LUA_HOOKCALL 0
312#define LUA_HOOKRET 1
313#define LUA_HOOKLINE 2
314#define LUA_HOOKCOUNT 3
315#define LUA_HOOKTAILRET 4
316
317
318/*
319** Event masks
320*/
321#define LUA_MASKCALL (1 << LUA_HOOKCALL)
322#define LUA_MASKRET (1 << LUA_HOOKRET)
323#define LUA_MASKLINE (1 << LUA_HOOKLINE)
324#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT)
325
326typedef struct lua_Debug lua_Debug; /* activation record */
327
328
329/* Functions to be called by the debuger in specific events */
330typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
331
332
333LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar);
334LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar);
335LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n);
336LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n);
337LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n);
338LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n);
339
340LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count);
341LUA_API lua_Hook lua_gethook (lua_State *L);
342LUA_API int lua_gethookmask (lua_State *L);
343LUA_API int lua_gethookcount (lua_State *L);
344
345
346struct lua_Debug {
347 int event;
348 const char *name; /* (n) */
349 const char *namewhat; /* (n) `global', `local', `field', `method' */
350 const char *what; /* (S) `Lua', `C', `main', `tail' */
351 const char *source; /* (S) */
352 int currentline; /* (l) */
353 int nups; /* (u) number of upvalues */
354 int linedefined; /* (S) */
355 int lastlinedefined; /* (S) */
356 char short_src[LUA_IDSIZE]; /* (S) */
357 /* private part */
358 int i_ci; /* active function */
359};
360
361/* }====================================================================== */
362
363
364/******************************************************************************
365* Copyright (C) 1994-2008 Lua.org, PUC-Rio. All rights reserved.
366*
367* Permission is hereby granted, free of charge, to any person obtaining
368* a copy of this software and associated documentation files (the
369* "Software"), to deal in the Software without restriction, including
370* without limitation the rights to use, copy, modify, merge, publish,
371* distribute, sublicense, and/or sell copies of the Software, and to
372* permit persons to whom the Software is furnished to do so, subject to
373* the following conditions:
374*
375* The above copyright notice and this permission notice shall be
376* included in all copies or substantial portions of the Software.
377*
378* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
379* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
380* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
381* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
382* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
383* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
384* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
385******************************************************************************/
386
387
388#endif
diff --git a/win32/lua5.1/include/lua.hpp b/win32/lua5.1/include/lua.hpp
new file mode 100644
index 00000000..ec417f59
--- /dev/null
+++ b/win32/lua5.1/include/lua.hpp
@@ -0,0 +1,9 @@
1// lua.hpp
2// Lua header files for C++
3// <<extern "C">> not supplied automatically because Lua also compiles as C++
4
5extern "C" {
6#include "lua.h"
7#include "lualib.h"
8#include "lauxlib.h"
9}
diff --git a/win32/lua5.1/include/luaconf.h b/win32/lua5.1/include/luaconf.h
new file mode 100644
index 00000000..5e7b98be
--- /dev/null
+++ b/win32/lua5.1/include/luaconf.h
@@ -0,0 +1,763 @@
1/*
2** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
3** Configuration file for Lua
4** See Copyright Notice in lua.h
5*/
6
7
8#ifndef lconfig_h
9#define lconfig_h
10
11#include <limits.h>
12#include <stddef.h>
13
14
15/*
16** ==================================================================
17** Search for "@@" to find all configurable definitions.
18** ===================================================================
19*/
20
21
22/*
23@@ LUA_ANSI controls the use of non-ansi features.
24** CHANGE it (define it) if you want Lua to avoid the use of any
25** non-ansi feature or library.
26*/
27#if defined(__STRICT_ANSI__)
28#define LUA_ANSI
29#endif
30
31
32#if !defined(LUA_ANSI) && defined(_WIN32)
33#define LUA_WIN
34#endif
35
36#if defined(LUA_USE_LINUX)
37#define LUA_USE_POSIX
38#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
39#define LUA_USE_READLINE /* needs some extra libraries */
40#endif
41
42#if defined(LUA_USE_MACOSX)
43#define LUA_USE_POSIX
44#define LUA_DL_DYLD /* does not need extra library */
45#endif
46
47
48
49/*
50@@ LUA_USE_POSIX includes all functionallity listed as X/Open System
51@* Interfaces Extension (XSI).
52** CHANGE it (define it) if your system is XSI compatible.
53*/
54#if defined(LUA_USE_POSIX)
55#define LUA_USE_MKSTEMP
56#define LUA_USE_ISATTY
57#define LUA_USE_POPEN
58#define LUA_USE_ULONGJMP
59#endif
60
61
62/*
63@@ LUA_PATH and LUA_CPATH are the names of the environment variables that
64@* Lua check to set its paths.
65@@ LUA_INIT is the name of the environment variable that Lua
66@* checks for initialization code.
67** CHANGE them if you want different names.
68*/
69#define LUA_PATH "LUA_PATH"
70#define LUA_CPATH "LUA_CPATH"
71#define LUA_INIT "LUA_INIT"
72
73
74/*
75@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
76@* Lua libraries.
77@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
78@* C libraries.
79** CHANGE them if your machine has a non-conventional directory
80** hierarchy or if you want to install your libraries in
81** non-conventional directories.
82*/
83#if defined(_WIN32)
84/*
85** In Windows, any exclamation mark ('!') in the path is replaced by the
86** path of the directory of the executable file of the current process.
87*/
88#define LUA_LDIR "!\\lua\\"
89#define LUA_CDIR "!\\"
90#define LUA_PATH_DEFAULT \
91 ".\\?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \
92 LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua"
93#define LUA_CPATH_DEFAULT \
94 ".\\?.dll;" ".\\?51.dll;" LUA_CDIR"?.dll;" LUA_CDIR"?51.dll;" LUA_CDIR"clibs\\?.dll;" LUA_CDIR"clibs\\?51.dll;" LUA_CDIR"loadall.dll;" LUA_CDIR"clibs\\loadall.dll"
95
96#else
97#define LUA_ROOT "/usr/local/"
98#define LUA_LDIR LUA_ROOT "share/lua/5.1/"
99#define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
100#define LUA_PATH_DEFAULT \
101 "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
102 LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua"
103#define LUA_CPATH_DEFAULT \
104 "./?.so;" "./lib?51.so;" LUA_CDIR"?.so;" LUA_CDIR"lib?51.so;" LUA_CDIR"loadall.so"
105#endif
106
107
108/*
109@@ LUA_DIRSEP is the directory separator (for submodules).
110** CHANGE it if your machine does not use "/" as the directory separator
111** and is not Windows. (On Windows Lua automatically uses "\".)
112*/
113#if defined(_WIN32)
114#define LUA_DIRSEP "\\"
115#else
116#define LUA_DIRSEP "/"
117#endif
118
119
120/*
121@@ LUA_PATHSEP is the character that separates templates in a path.
122@@ LUA_PATH_MARK is the string that marks the substitution points in a
123@* template.
124@@ LUA_EXECDIR in a Windows path is replaced by the executable's
125@* directory.
126@@ LUA_IGMARK is a mark to ignore all before it when bulding the
127@* luaopen_ function name.
128** CHANGE them if for some reason your system cannot use those
129** characters. (E.g., if one of those characters is a common character
130** in file/directory names.) Probably you do not need to change them.
131*/
132#define LUA_PATHSEP ";"
133#define LUA_PATH_MARK "?"
134#define LUA_EXECDIR "!"
135#define LUA_IGMARK "-"
136
137
138/*
139@@ LUA_INTEGER is the integral type used by lua_pushinteger/lua_tointeger.
140** CHANGE that if ptrdiff_t is not adequate on your machine. (On most
141** machines, ptrdiff_t gives a good choice between int or long.)
142*/
143#define LUA_INTEGER ptrdiff_t
144
145
146/*
147@@ LUA_API is a mark for all core API functions.
148@@ LUALIB_API is a mark for all standard library functions.
149** CHANGE them if you need to define those functions in some special way.
150** For instance, if you want to create one Windows DLL with the core and
151** the libraries, you may want to use the following definition (define
152** LUA_BUILD_AS_DLL to get it).
153*/
154#if defined(LUA_BUILD_AS_DLL)
155
156#if defined(LUA_CORE) || defined(LUA_LIB)
157#define LUA_API __declspec(dllexport)
158#else
159#define LUA_API __declspec(dllimport)
160#endif
161
162#else
163
164#define LUA_API extern
165
166#endif
167
168/* more often than not the libs go together with the core */
169#define LUALIB_API LUA_API
170
171
172/*
173@@ LUAI_FUNC is a mark for all extern functions that are not to be
174@* exported to outside modules.
175@@ LUAI_DATA is a mark for all extern (const) variables that are not to
176@* be exported to outside modules.
177** CHANGE them if you need to mark them in some special way. Elf/gcc
178** (versions 3.2 and later) mark them as "hidden" to optimize access
179** when Lua is compiled as a shared library.
180*/
181#if defined(luaall_c)
182#define LUAI_FUNC static
183#define LUAI_DATA /* empty */
184
185#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
186 defined(__ELF__)
187#define LUAI_FUNC __attribute__((visibility("hidden"))) extern
188#define LUAI_DATA LUAI_FUNC
189
190#else
191#define LUAI_FUNC extern
192#define LUAI_DATA extern
193#endif
194
195
196
197/*
198@@ LUA_QL describes how error messages quote program elements.
199** CHANGE it if you want a different appearance.
200*/
201#define LUA_QL(x) "'" x "'"
202#define LUA_QS LUA_QL("%s")
203
204
205/*
206@@ LUA_IDSIZE gives the maximum size for the description of the source
207@* of a function in debug information.
208** CHANGE it if you want a different size.
209*/
210#define LUA_IDSIZE 60
211
212
213/*
214** {==================================================================
215** Stand-alone configuration
216** ===================================================================
217*/
218
219#if defined(lua_c) || defined(luaall_c)
220
221/*
222@@ lua_stdin_is_tty detects whether the standard input is a 'tty' (that
223@* is, whether we're running lua interactively).
224** CHANGE it if you have a better definition for non-POSIX/non-Windows
225** systems.
226*/
227#if defined(LUA_USE_ISATTY)
228#include <unistd.h>
229#define lua_stdin_is_tty() isatty(0)
230#elif defined(LUA_WIN)
231#include <io.h>
232#include <stdio.h>
233#define lua_stdin_is_tty() _isatty(_fileno(stdin))
234#else
235#define lua_stdin_is_tty() 1 /* assume stdin is a tty */
236#endif
237
238
239/*
240@@ LUA_PROMPT is the default prompt used by stand-alone Lua.
241@@ LUA_PROMPT2 is the default continuation prompt used by stand-alone Lua.
242** CHANGE them if you want different prompts. (You can also change the
243** prompts dynamically, assigning to globals _PROMPT/_PROMPT2.)
244*/
245#define LUA_PROMPT "> "
246#define LUA_PROMPT2 ">> "
247
248
249/*
250@@ LUA_PROGNAME is the default name for the stand-alone Lua program.
251** CHANGE it if your stand-alone interpreter has a different name and
252** your system is not able to detect that name automatically.
253*/
254#define LUA_PROGNAME "lua"
255
256
257/*
258@@ LUA_MAXINPUT is the maximum length for an input line in the
259@* stand-alone interpreter.
260** CHANGE it if you need longer lines.
261*/
262#define LUA_MAXINPUT 512
263
264
265/*
266@@ lua_readline defines how to show a prompt and then read a line from
267@* the standard input.
268@@ lua_saveline defines how to "save" a read line in a "history".
269@@ lua_freeline defines how to free a line read by lua_readline.
270** CHANGE them if you want to improve this functionality (e.g., by using
271** GNU readline and history facilities).
272*/
273#if defined(LUA_USE_READLINE)
274#include <stdio.h>
275#include <readline/readline.h>
276#include <readline/history.h>
277#define lua_readline(L,b,p) ((void)L, ((b)=readline(p)) != NULL)
278#define lua_saveline(L,idx) \
279 if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
280 add_history(lua_tostring(L, idx)); /* add it to history */
281#define lua_freeline(L,b) ((void)L, free(b))
282#else
283#define lua_readline(L,b,p) \
284 ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \
285 fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */
286#define lua_saveline(L,idx) { (void)L; (void)idx; }
287#define lua_freeline(L,b) { (void)L; (void)b; }
288#endif
289
290#endif
291
292/* }================================================================== */
293
294
295/*
296@@ LUAI_GCPAUSE defines the default pause between garbage-collector cycles
297@* as a percentage.
298** CHANGE it if you want the GC to run faster or slower (higher values
299** mean larger pauses which mean slower collection.) You can also change
300** this value dynamically.
301*/
302#define LUAI_GCPAUSE 200 /* 200% (wait memory to double before next GC) */
303
304
305/*
306@@ LUAI_GCMUL defines the default speed of garbage collection relative to
307@* memory allocation as a percentage.
308** CHANGE it if you want to change the granularity of the garbage
309** collection. (Higher values mean coarser collections. 0 represents
310** infinity, where each step performs a full collection.) You can also
311** change this value dynamically.
312*/
313#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */
314
315
316
317/*
318@@ LUA_COMPAT_GETN controls compatibility with old getn behavior.
319** CHANGE it (define it) if you want exact compatibility with the
320** behavior of setn/getn in Lua 5.0.
321*/
322#undef LUA_COMPAT_GETN
323
324/*
325@@ LUA_COMPAT_LOADLIB controls compatibility about global loadlib.
326** CHANGE it to undefined as soon as you do not need a global 'loadlib'
327** function (the function is still available as 'package.loadlib').
328*/
329#undef LUA_COMPAT_LOADLIB
330
331/*
332@@ LUA_COMPAT_VARARG controls compatibility with old vararg feature.
333** CHANGE it to undefined as soon as your programs use only '...' to
334** access vararg parameters (instead of the old 'arg' table).
335*/
336#define LUA_COMPAT_VARARG
337
338/*
339@@ LUA_COMPAT_MOD controls compatibility with old math.mod function.
340** CHANGE it to undefined as soon as your programs use 'math.fmod' or
341** the new '%' operator instead of 'math.mod'.
342*/
343#define LUA_COMPAT_MOD
344
345/*
346@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting
347@* facility.
348** CHANGE it to 2 if you want the old behaviour, or undefine it to turn
349** off the advisory error when nesting [[...]].
350*/
351#define LUA_COMPAT_LSTR 1
352
353/*
354@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name.
355** CHANGE it to undefined as soon as you rename 'string.gfind' to
356** 'string.gmatch'.
357*/
358#define LUA_COMPAT_GFIND
359
360/*
361@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib'
362@* behavior.
363** CHANGE it to undefined as soon as you replace to 'luaL_register'
364** your uses of 'luaL_openlib'
365*/
366#define LUA_COMPAT_OPENLIB
367
368
369
370/*
371@@ luai_apicheck is the assert macro used by the Lua-C API.
372** CHANGE luai_apicheck if you want Lua to perform some checks in the
373** parameters it gets from API calls. This may slow down the interpreter
374** a bit, but may be quite useful when debugging C code that interfaces
375** with Lua. A useful redefinition is to use assert.h.
376*/
377#if defined(LUA_USE_APICHECK)
378#include <assert.h>
379#define luai_apicheck(L,o) { (void)L; assert(o); }
380#else
381#define luai_apicheck(L,o) { (void)L; }
382#endif
383
384
385/*
386@@ LUAI_BITSINT defines the number of bits in an int.
387** CHANGE here if Lua cannot automatically detect the number of bits of
388** your machine. Probably you do not need to change this.
389*/
390/* avoid overflows in comparison */
391#if INT_MAX-20 < 32760
392#define LUAI_BITSINT 16
393#elif INT_MAX > 2147483640L
394/* int has at least 32 bits */
395#define LUAI_BITSINT 32
396#else
397#error "you must define LUA_BITSINT with number of bits in an integer"
398#endif
399
400
401/*
402@@ LUAI_UINT32 is an unsigned integer with at least 32 bits.
403@@ LUAI_INT32 is an signed integer with at least 32 bits.
404@@ LUAI_UMEM is an unsigned integer big enough to count the total
405@* memory used by Lua.
406@@ LUAI_MEM is a signed integer big enough to count the total memory
407@* used by Lua.
408** CHANGE here if for some weird reason the default definitions are not
409** good enough for your machine. (The definitions in the 'else'
410** part always works, but may waste space on machines with 64-bit
411** longs.) Probably you do not need to change this.
412*/
413#if LUAI_BITSINT >= 32
414#define LUAI_UINT32 unsigned int
415#define LUAI_INT32 int
416#define LUAI_MAXINT32 INT_MAX
417#define LUAI_UMEM size_t
418#define LUAI_MEM ptrdiff_t
419#else
420/* 16-bit ints */
421#define LUAI_UINT32 unsigned long
422#define LUAI_INT32 long
423#define LUAI_MAXINT32 LONG_MAX
424#define LUAI_UMEM unsigned long
425#define LUAI_MEM long
426#endif
427
428
429/*
430@@ LUAI_MAXCALLS limits the number of nested calls.
431** CHANGE it if you need really deep recursive calls. This limit is
432** arbitrary; its only purpose is to stop infinite recursion before
433** exhausting memory.
434*/
435#define LUAI_MAXCALLS 20000
436
437
438/*
439@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function
440@* can use.
441** CHANGE it if you need lots of (Lua) stack space for your C
442** functions. This limit is arbitrary; its only purpose is to stop C
443** functions to consume unlimited stack space. (must be smaller than
444** -LUA_REGISTRYINDEX)
445*/
446#define LUAI_MAXCSTACK 8000
447
448
449
450/*
451** {==================================================================
452** CHANGE (to smaller values) the following definitions if your system
453** has a small C stack. (Or you may want to change them to larger
454** values if your system has a large C stack and these limits are
455** too rigid for you.) Some of these constants control the size of
456** stack-allocated arrays used by the compiler or the interpreter, while
457** others limit the maximum number of recursive calls that the compiler
458** or the interpreter can perform. Values too large may cause a C stack
459** overflow for some forms of deep constructs.
460** ===================================================================
461*/
462
463
464/*
465@@ LUAI_MAXCCALLS is the maximum depth for nested C calls (short) and
466@* syntactical nested non-terminals in a program.
467*/
468#define LUAI_MAXCCALLS 200
469
470
471/*
472@@ LUAI_MAXVARS is the maximum number of local variables per function
473@* (must be smaller than 250).
474*/
475#define LUAI_MAXVARS 200
476
477
478/*
479@@ LUAI_MAXUPVALUES is the maximum number of upvalues per function
480@* (must be smaller than 250).
481*/
482#define LUAI_MAXUPVALUES 60
483
484
485/*
486@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
487*/
488#define LUAL_BUFFERSIZE BUFSIZ
489
490/* }================================================================== */
491
492
493
494
495/*
496** {==================================================================
497@@ LUA_NUMBER is the type of numbers in Lua.
498** CHANGE the following definitions only if you want to build Lua
499** with a number type different from double. You may also need to
500** change lua_number2int & lua_number2integer.
501** ===================================================================
502*/
503
504#define LUA_NUMBER_DOUBLE
505#define LUA_NUMBER double
506
507/*
508@@ LUAI_UACNUMBER is the result of an 'usual argument conversion'
509@* over a number.
510*/
511#define LUAI_UACNUMBER double
512
513
514/*
515@@ LUA_NUMBER_SCAN is the format for reading numbers.
516@@ LUA_NUMBER_FMT is the format for writing numbers.
517@@ lua_number2str converts a number to a string.
518@@ LUAI_MAXNUMBER2STR is maximum size of previous conversion.
519@@ lua_str2number converts a string to a number.
520*/
521#define LUA_NUMBER_SCAN "%lf"
522#define LUA_NUMBER_FMT "%.14g"
523#define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n))
524#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */
525#define lua_str2number(s,p) strtod((s), (p))
526
527
528/*
529@@ The luai_num* macros define the primitive operations over numbers.
530*/
531#if defined(LUA_CORE)
532#include <math.h>
533#define luai_numadd(a,b) ((a)+(b))
534#define luai_numsub(a,b) ((a)-(b))
535#define luai_nummul(a,b) ((a)*(b))
536#define luai_numdiv(a,b) ((a)/(b))
537#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b))
538#define luai_numpow(a,b) (pow(a,b))
539#define luai_numunm(a) (-(a))
540#define luai_numeq(a,b) ((a)==(b))
541#define luai_numlt(a,b) ((a)<(b))
542#define luai_numle(a,b) ((a)<=(b))
543#define luai_numisnan(a) (!luai_numeq((a), (a)))
544#endif
545
546
547/*
548@@ lua_number2int is a macro to convert lua_Number to int.
549@@ lua_number2integer is a macro to convert lua_Number to lua_Integer.
550** CHANGE them if you know a faster way to convert a lua_Number to
551** int (with any rounding method and without throwing errors) in your
552** system. In Pentium machines, a naive typecast from double to int
553** in C is extremely slow, so any alternative is worth trying.
554*/
555
556/* On a Pentium, resort to a trick */
557#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \
558 (defined(__i386) || defined (_M_IX86) || defined(__i386__))
559
560/* On a Microsoft compiler, use assembler */
561#if defined(_MSC_VER)
562
563#define lua_number2int(i,d) __asm fld d __asm fistp i
564#define lua_number2integer(i,n) lua_number2int(i, n)
565
566/* the next trick should work on any Pentium, but sometimes clashes
567 with a DirectX idiosyncrasy */
568#else
569
570union luai_Cast { double l_d; long l_l; };
571#define lua_number2int(i,d) \
572 { volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; }
573#define lua_number2integer(i,n) lua_number2int(i, n)
574
575#endif
576
577
578/* this option always works, but may be slow */
579#else
580#define lua_number2int(i,d) ((i)=(int)(d))
581#define lua_number2integer(i,d) ((i)=(lua_Integer)(d))
582
583#endif
584
585/* }================================================================== */
586
587
588/*
589@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment.
590** CHANGE it if your system requires alignments larger than double. (For
591** instance, if your system supports long doubles and they must be
592** aligned in 16-byte boundaries, then you should add long double in the
593** union.) Probably you do not need to change this.
594*/
595#define LUAI_USER_ALIGNMENT_T union { double u; void *s; long l; }
596
597
598/*
599@@ LUAI_THROW/LUAI_TRY define how Lua does exception handling.
600** CHANGE them if you prefer to use longjmp/setjmp even with C++
601** or if want/don't to use _longjmp/_setjmp instead of regular
602** longjmp/setjmp. By default, Lua handles errors with exceptions when
603** compiling as C++ code, with _longjmp/_setjmp when asked to use them,
604** and with longjmp/setjmp otherwise.
605*/
606#if defined(__cplusplus)
607/* C++ exceptions */
608#define LUAI_THROW(L,c) throw(c)
609#define LUAI_TRY(L,c,a) try { a } catch(...) \
610 { if ((c)->status == 0) (c)->status = -1; }
611#define luai_jmpbuf int /* dummy variable */
612
613#elif defined(LUA_USE_ULONGJMP)
614/* in Unix, try _longjmp/_setjmp (more efficient) */
615#define LUAI_THROW(L,c) _longjmp((c)->b, 1)
616#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a }
617#define luai_jmpbuf jmp_buf
618
619#else
620/* default handling with long jumps */
621#define LUAI_THROW(L,c) longjmp((c)->b, 1)
622#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a }
623#define luai_jmpbuf jmp_buf
624
625#endif
626
627
628/*
629@@ LUA_MAXCAPTURES is the maximum number of captures that a pattern
630@* can do during pattern-matching.
631** CHANGE it if you need more captures. This limit is arbitrary.
632*/
633#define LUA_MAXCAPTURES 32
634
635
636/*
637@@ lua_tmpnam is the function that the OS library uses to create a
638@* temporary name.
639@@ LUA_TMPNAMBUFSIZE is the maximum size of a name created by lua_tmpnam.
640** CHANGE them if you have an alternative to tmpnam (which is considered
641** insecure) or if you want the original tmpnam anyway. By default, Lua
642** uses tmpnam except when POSIX is available, where it uses mkstemp.
643*/
644#if defined(loslib_c) || defined(luaall_c)
645
646#if defined(LUA_USE_MKSTEMP)
647#include <unistd.h>
648#define LUA_TMPNAMBUFSIZE 32
649#define lua_tmpnam(b,e) { \
650 strcpy(b, "/tmp/lua_XXXXXX"); \
651 e = mkstemp(b); \
652 if (e != -1) close(e); \
653 e = (e == -1); }
654
655#else
656#define LUA_TMPNAMBUFSIZE L_tmpnam
657#define lua_tmpnam(b,e) { e = (tmpnam(b) == NULL); }
658#endif
659
660#endif
661
662
663/*
664@@ lua_popen spawns a new process connected to the current one through
665@* the file streams.
666** CHANGE it if you have a way to implement it in your system.
667*/
668#if defined(LUA_USE_POPEN)
669
670#define lua_popen(L,c,m) ((void)L, fflush(NULL), popen(c,m))
671#define lua_pclose(L,file) ((void)L, (pclose(file) != -1))
672
673#elif defined(LUA_WIN)
674
675#define lua_popen(L,c,m) ((void)L, _popen(c,m))
676#define lua_pclose(L,file) ((void)L, (_pclose(file) != -1))
677
678#else
679
680#define lua_popen(L,c,m) ((void)((void)c, m), \
681 luaL_error(L, LUA_QL("popen") " not supported"), (FILE*)0)
682#define lua_pclose(L,file) ((void)((void)L, file), 0)
683
684#endif
685
686/*
687@@ LUA_DL_* define which dynamic-library system Lua should use.
688** CHANGE here if Lua has problems choosing the appropriate
689** dynamic-library system for your platform (either Windows' DLL, Mac's
690** dyld, or Unix's dlopen). If your system is some kind of Unix, there
691** is a good chance that it has dlopen, so LUA_DL_DLOPEN will work for
692** it. To use dlopen you also need to adapt the src/Makefile (probably
693** adding -ldl to the linker options), so Lua does not select it
694** automatically. (When you change the makefile to add -ldl, you must
695** also add -DLUA_USE_DLOPEN.)
696** If you do not want any kind of dynamic library, undefine all these
697** options.
698** By default, _WIN32 gets LUA_DL_DLL and MAC OS X gets LUA_DL_DYLD.
699*/
700#if defined(LUA_USE_DLOPEN)
701#define LUA_DL_DLOPEN
702#endif
703
704#if defined(LUA_WIN)
705#define LUA_DL_DLL
706#endif
707
708
709/*
710@@ LUAI_EXTRASPACE allows you to add user-specific data in a lua_State
711@* (the data goes just *before* the lua_State pointer).
712** CHANGE (define) this if you really need that. This value must be
713** a multiple of the maximum alignment required for your machine.
714*/
715#define LUAI_EXTRASPACE 0
716
717
718/*
719@@ luai_userstate* allow user-specific actions on threads.
720** CHANGE them if you defined LUAI_EXTRASPACE and need to do something
721** extra when a thread is created/deleted/resumed/yielded.
722*/
723#define luai_userstateopen(L) ((void)L)
724#define luai_userstateclose(L) ((void)L)
725#define luai_userstatethread(L,L1) ((void)L)
726#define luai_userstatefree(L) ((void)L)
727#define luai_userstateresume(L,n) ((void)L)
728#define luai_userstateyield(L,n) ((void)L)
729
730
731/*
732@@ LUA_INTFRMLEN is the length modifier for integer conversions
733@* in 'string.format'.
734@@ LUA_INTFRM_T is the integer type correspoding to the previous length
735@* modifier.
736** CHANGE them if your system supports long long or does not support long.
737*/
738
739#if defined(LUA_USELONGLONG)
740
741#define LUA_INTFRMLEN "ll"
742#define LUA_INTFRM_T long long
743
744#else
745
746#define LUA_INTFRMLEN "l"
747#define LUA_INTFRM_T long
748
749#endif
750
751
752
753/* =================================================================== */
754
755/*
756** Local configuration. You can use this space to add your redefinitions
757** without modifying the main part of the file.
758*/
759
760
761
762#endif
763
diff --git a/win32/lua5.1/include/lualib.h b/win32/lua5.1/include/lualib.h
new file mode 100644
index 00000000..469417f6
--- /dev/null
+++ b/win32/lua5.1/include/lualib.h
@@ -0,0 +1,53 @@
1/*
2** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $
3** Lua standard libraries
4** See Copyright Notice in lua.h
5*/
6
7
8#ifndef lualib_h
9#define lualib_h
10
11#include "lua.h"
12
13
14/* Key to file-handle type */
15#define LUA_FILEHANDLE "FILE*"
16
17
18#define LUA_COLIBNAME "coroutine"
19LUALIB_API int (luaopen_base) (lua_State *L);
20
21#define LUA_TABLIBNAME "table"
22LUALIB_API int (luaopen_table) (lua_State *L);
23
24#define LUA_IOLIBNAME "io"
25LUALIB_API int (luaopen_io) (lua_State *L);
26
27#define LUA_OSLIBNAME "os"
28LUALIB_API int (luaopen_os) (lua_State *L);
29
30#define LUA_STRLIBNAME "string"
31LUALIB_API int (luaopen_string) (lua_State *L);
32
33#define LUA_MATHLIBNAME "math"
34LUALIB_API int (luaopen_math) (lua_State *L);
35
36#define LUA_DBLIBNAME "debug"
37LUALIB_API int (luaopen_debug) (lua_State *L);
38
39#define LUA_LOADLIBNAME "package"
40LUALIB_API int (luaopen_package) (lua_State *L);
41
42
43/* open all previous libraries */
44LUALIB_API void (luaL_openlibs) (lua_State *L);
45
46
47
48#ifndef lua_assert
49#define lua_assert(x) ((void)0)
50#endif
51
52
53#endif