# 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](#lua-headers) and a C compiler! The following C toolchains are supported: ## GCC `gcc` or any C compiler compatible with the [GNU compiler command-line interface](https://gcc.gnu.org/) 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](https://visualstudio.microsoft.com/downloads/) (or Visual Studio) and can be used together with `lrc` from a [Visual Studio Developer Command Prompt](https://learn.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022). `lrc` also works with MinGW and MSys2. In this case you can compile using the [GCC](#gcc) toolchain available through your MinGW or MSys2 package manager (e.g. `pacman`). ## Clang The Clang toolchain should work the same as [GCC](#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](https://zig.news/kristoff/compile-a-c-c-project-with-zig-368j), 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.