From 6523585c66c04cea54df50013df8886b589847d8 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 23 Jan 2012 23:36:30 +1000 Subject: Add luaproc and LuaJIT libraries. Two versions of LuaJIT, the stable release, and the dev version. Try the dev version first, until ih fails badly. --- libraries/LuaJIT-1.1.7/etc/README | 20 +++++++++++++++++ libraries/LuaJIT-1.1.7/etc/lua.hpp | 9 ++++++++ libraries/LuaJIT-1.1.7/etc/luajit.ico | Bin 0 -> 1078 bytes libraries/LuaJIT-1.1.7/etc/luajit.pc | 28 +++++++++++++++++++++++ libraries/LuaJIT-1.1.7/etc/luavs.bat | 22 ++++++++++++++++++ libraries/LuaJIT-1.1.7/etc/strict.lua | 41 ++++++++++++++++++++++++++++++++++ 6 files changed, 120 insertions(+) create mode 100644 libraries/LuaJIT-1.1.7/etc/README create mode 100644 libraries/LuaJIT-1.1.7/etc/lua.hpp create mode 100644 libraries/LuaJIT-1.1.7/etc/luajit.ico create mode 100644 libraries/LuaJIT-1.1.7/etc/luajit.pc create mode 100755 libraries/LuaJIT-1.1.7/etc/luavs.bat create mode 100644 libraries/LuaJIT-1.1.7/etc/strict.lua (limited to 'libraries/LuaJIT-1.1.7/etc') diff --git a/libraries/LuaJIT-1.1.7/etc/README b/libraries/LuaJIT-1.1.7/etc/README new file mode 100644 index 0000000..98117d0 --- /dev/null +++ b/libraries/LuaJIT-1.1.7/etc/README @@ -0,0 +1,20 @@ +This directory contains some useful files and code. +Unlike the code in ../src, everything here is in the public domain. + +lua.hpp + Lua header files for C++ using 'extern "C"'. + +luajit.ico + A LuaJIT icon for Windows (and web sites: save as favicon.ico). + Lua icon drawn by hand by Markus Gritsch. Modified for LuaJIT. + +luajit.pc + pkg-config data for LuaJIT + +luavs.bat + Script to build LuaJIT under "Visual Studio .NET Command Prompt". + Run it from the toplevel as etc\luavs.bat. + +strict.lua + Traps uses of undeclared global variables. + diff --git a/libraries/LuaJIT-1.1.7/etc/lua.hpp b/libraries/LuaJIT-1.1.7/etc/lua.hpp new file mode 100644 index 0000000..ec417f5 --- /dev/null +++ b/libraries/LuaJIT-1.1.7/etc/lua.hpp @@ -0,0 +1,9 @@ +// lua.hpp +// Lua header files for C++ +// <> not supplied automatically because Lua also compiles as C++ + +extern "C" { +#include "lua.h" +#include "lualib.h" +#include "lauxlib.h" +} diff --git a/libraries/LuaJIT-1.1.7/etc/luajit.ico b/libraries/LuaJIT-1.1.7/etc/luajit.ico new file mode 100644 index 0000000..bdd7a90 Binary files /dev/null and b/libraries/LuaJIT-1.1.7/etc/luajit.ico differ diff --git a/libraries/LuaJIT-1.1.7/etc/luajit.pc b/libraries/LuaJIT-1.1.7/etc/luajit.pc new file mode 100644 index 0000000..1444076 --- /dev/null +++ b/libraries/LuaJIT-1.1.7/etc/luajit.pc @@ -0,0 +1,28 @@ +# luajit.pc -- pkg-config data for LuaJIT + +# vars from install Makefile + +# grep '^J*V=' ../Makefile +V= 5.1 +JV= 1.1.7 + +# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' +prefix= /usr/local +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} + +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: LuaJIT +Description: An Extensible Extension Language (JIT compiled for speed) +Version: ${JV} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} + diff --git a/libraries/LuaJIT-1.1.7/etc/luavs.bat b/libraries/LuaJIT-1.1.7/etc/luavs.bat new file mode 100755 index 0000000..4f311e2 --- /dev/null +++ b/libraries/LuaJIT-1.1.7/etc/luavs.bat @@ -0,0 +1,22 @@ +@rem Script to build LuaJIT under "Visual Studio .NET Command Prompt". +@rem Do not run from this directory; run it from the toplevel: etc\luavs.bat . +@rem It creates lua51.dll, lua51.lib and luajit.exe in src. +@rem (contributed by David Manura and Mike Pall) + +@setlocal +@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE /I . /I ..\dynasm +@set MYLINK=link /nologo +@set MYMT=mt /nologo + +cd src +%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c +del lua.obj luac.obj +%MYLINK% /DLL /out:lua51.dll l*.obj +if exist lua51.dll.manifest^ + %MYMT% -manifest lua51.dll.manifest -outputresource:lua51.dll;2 +%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c +%MYLINK% /out:luajit.exe lua.obj lua51.lib +if exist luajit.exe.manifest^ + %MYMT% -manifest luajit.exe.manifest -outputresource:luajit.exe +del *.obj *.manifest +cd .. diff --git a/libraries/LuaJIT-1.1.7/etc/strict.lua b/libraries/LuaJIT-1.1.7/etc/strict.lua new file mode 100644 index 0000000..604619d --- /dev/null +++ b/libraries/LuaJIT-1.1.7/etc/strict.lua @@ -0,0 +1,41 @@ +-- +-- strict.lua +-- checks uses of undeclared global variables +-- All global variables must be 'declared' through a regular assignment +-- (even assigning nil will do) in a main chunk before being used +-- anywhere or assigned to inside a function. +-- + +local getinfo, error, rawset, rawget = debug.getinfo, error, rawset, rawget + +local mt = getmetatable(_G) +if mt == nil then + mt = {} + setmetatable(_G, mt) +end + +mt.__declared = {} + +local function what () + local d = getinfo(3, "S") + return d and d.what or "C" +end + +mt.__newindex = function (t, n, v) + if not mt.__declared[n] then + local w = what() + if w ~= "main" and w ~= "C" then + error("assign to undeclared variable '"..n.."'", 2) + end + mt.__declared[n] = true + end + rawset(t, n, v) +end + +mt.__index = function (t, n) + if not mt.__declared[n] and what() ~= "C" then + error("variable '"..n.."' is not declared", 2) + end + return rawget(t, n) +end + -- cgit v1.1