Toolchain Support
In order to bundle Lua code into native executables or libraries, lrc
generates C code under the hood. So the only required dependencies of lrc
are Lua development files and a C compiler!
The following C toolchains are supported:
GCC
gcc
or any C compiler compatible with the GNU compiler command-line interface should work together with lrc
.
Note that lrc
makes use of several tools from binutils
, which are included in most gcc
-setups.
MSVC
On Windows, the Microsoft Visual C-compiler (cl
) is supported by lrc
.
It is included in the Tools for Visual Studio (or Visual Studio) and can be used together with lrc
from a Visual Studio Developer Command Prompt.
lrc
also works with MinGW and MSys2. In this case you can compile using the GCC toolchain available through your MinGW or MSys2 package manager (e.g. pacman
).
Clang
The Clang toolchain should work the same as GCC. Note that binutils
are required to bundle and compile Lua code using lrc
.
Zig CC
In order to compile with Zig’s GCC drop-in replacement, run lrc with the usual compiler environment variables set to CC="zig cc"
and CXX="zig c++"
.
More specialized support for Zig CC is planned for future versions of lrc
.
Lua Headers
Next to a C compiler of your choice, these are the only thing required in order to use lrc
for the compilation of native executables and libraries.
On Linux and MinGW/MSys2 these are usually available through your package manager (e.g. apt-get install liblua5.x-dev
or pacman -S lua5.x
). Optionally, install pkg-config
in the case lrc
should fail to find your Lua installation.
On Windows and other operating systems it is recommended to get a Lua package from https://luabinaries.sourceforge.net/. These include all necessary development files.