mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00

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.
54 lines
2.0 KiB
C++
54 lines
2.0 KiB
C++
// The MIT License (MIT)
|
|
|
|
// Copyright (c) 2013-2020 Rapptz, ThePhD and contributors
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
// this software and associated documentation files (the "Software"), to deal in
|
|
// the Software without restriction, including without limitation the rights to
|
|
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
// the Software, and to permit persons to whom the Software is furnished to do so,
|
|
// subject to the following conditions:
|
|
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
// This file was generated with a script.
|
|
// Generated 2022-06-25 08:14:19.336233 UTC
|
|
// This header was generated with sol v3.3.0 (revision eba86625)
|
|
// https://github.com/ThePhD/sol2
|
|
|
|
#ifndef SOL_SINGLE_CONFIG_HPP
|
|
#define SOL_SINGLE_CONFIG_HPP
|
|
|
|
// beginning of sol/config.hpp
|
|
|
|
/* Base, empty configuration file!
|
|
|
|
To override, place a file in your include paths of the form:
|
|
|
|
. (your include path here)
|
|
| sol (directory, or equivalent)
|
|
| config.hpp (your config.hpp file)
|
|
|
|
So that when sol2 includes the file
|
|
|
|
#include <sol/config.hpp>
|
|
|
|
it gives you the configuration values you desire. Configuration values can be
|
|
seen in the safety.rst of the doc/src, or at
|
|
https://sol2.readthedocs.io/en/latest/safety.html ! You can also pass them through
|
|
the build system, or the command line options of your compiler.
|
|
|
|
*/
|
|
|
|
// end of sol/config.hpp
|
|
|
|
#endif // SOL_SINGLE_CONFIG_HPP
|