Laylua depends on many Lua details that can vary from installation to installation, and from compilation to compilation.
These include, but are not limited to:
- obviously all core functions exported by default
- specific file naming: e.g.
lua54.dll on Windows, (lib)lua54.so on Linux
- default Lua number types: 64-bit integers and double-precision (64-bit) floats
setjmp/longjmp error handling
- many of the constants and macros:
LUA_EXTRASPACE, LUA_REGISTRYINDEX etc.
As a user of the library, one shouldn't have to know about any of these details. Users having to pull a Lua binary from somewhere would be fine, but when it's so difficult to find ones that are both up-to-date and are compatible, it's better if Laylua comes with its own.