evo
is an experimental Lua runtime built on LuaJIT and libuv, with batteries included.
Functional, but not feature complete. See issues and milestones for future plans.
Here's a selection of things you can do when running Lua scripts with Evo:
Not all of the included APIs are as user-friendly as I'd like, but that'll change.
The supported platforms are current versions of Windows, Linux, and macOS.
Automated testing covers all platforms equally:
Development happens on Windows 10 and Ubuntu; macOS (especially M1) support is given on a "best effort" basis.
Evo is fully compatible with:
It is generally incompatible with:
I have no plans to support Lua engines other than LuaJIT at this time.
In this repository, you'll find the following important directories:
BuildTools/
: Basic tooling to generate Ninja build configurations for the runtimedeps/
: Third-party libraries and MSYS/Unix-compatible build scriptsRuntime/
: Native glue and bootstrapping code for the Lua environmentTests/
: All kinds of automated tests and executable specs live hereAfter building, you'll additionally find a temporary directory containing all build artifacts here:
ninjabuild-windows
(Windows)ninjabuild-unix
(Linux or macOS)There's also config files for GitHub actions and other tooling in the project root - a necessary evil.
The documentation website (work in progress) can be found here:
If something's outdated, wrong, or missing, please open an issue!