mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
b5475eb38b
Compile Lua as C++. When Lua is compiled as C, it uses setjmp/longjmp for error handling, resulting in failure to unwind intermediate stack frames. Trying to ensure no objects with non-trivial destructors are in scope when raising a Lua error is error-prone. In particular, converting an exception to a Lua error becomes convoluted, and raising a Lua error from a constructor is effectively impossible. Updated Lua to 5.4.4 - this includes a brand-new garbage collector implementation with better performance. The main thing removed is the deprecated bitlib. Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes a number of issues, including not correctly handling errors when Lua is built as C++. Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic links on Windows, as well as Lua 5.4 compatibility. Updated LuaSQLite3 to version 0.9.5 - this fixes issues in multi-threaded environments, as well as Lua 5.4 compatibility. Fixed double-free after attempting to construct a debugger expression from Lua with an invalid string, and exposed expression error to Lua in a better way. Added warning level print function to Lua. Fixed saving cheats with shift operators in expressions, although this code isn't actually used as there's no cheat editor.
40 lines
1.3 KiB
Lua
40 lines
1.3 KiB
Lua
package = "lsqlite3complete"
|
|
version = "0.9.5-1"
|
|
source = {
|
|
url = "http://lua.sqlite.org/index.cgi/zip/lsqlite3_fsl09y.zip?uuid=fsl_9y",
|
|
file = "lsqlite3_fsl09y.zip"
|
|
}
|
|
description = {
|
|
summary = "A binding for Lua to the SQLite3 database library",
|
|
detailed = [[
|
|
lsqlite3complete is a thin wrapper around the public domain SQLite3 database engine.
|
|
SQLite3 is included and statically linked. (The dynamically linked alternative is lsqlite3).
|
|
The lsqlite3complete module supports the creation and manipulation of SQLite3 databases.
|
|
Most sqlite3 functions are called via an object-oriented interface to either database
|
|
or SQL statement objects.
|
|
]],
|
|
license = "MIT",
|
|
homepage = "http://lua.sqlite.org/"
|
|
}
|
|
dependencies = {
|
|
"lua >= 5.1, < 5.5"
|
|
}
|
|
build = {
|
|
type = "builtin",
|
|
modules = {
|
|
lsqlite3complete = {
|
|
sources = { "lsqlite3.c", "sqlite3.c" },
|
|
defines = {'LSQLITE_VERSION="0.9.5"', 'luaopen_lsqlite3=luaopen_lsqlite3complete'}
|
|
},
|
|
},
|
|
platforms = {
|
|
unix = {
|
|
modules = {
|
|
lsqlite3complete = {
|
|
libraries = { "pthread", "m", "dl" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
copy_directories = { 'doc', 'examples' }
|
|
}
|