CONTRIBUTING.md

April 7, 2026 ยท View on GitHub

Hacking

For developing luzer you need to install required packages, build the project and run the regression tests.

Setup packages

On Debian: apt install -y lua5.1 liblua5.1-0-dev llvm-17-dev libclang-common-17-dev libclang-rt-17-dev clang-17 cmake.

Note: with Clang >= 18 you should install a package libclang-rt-XX-dev and with Clang <= 15 you should install a package libclang-common-XX-dev, where XX is a Clang version.

On macOS: brew install llvm cmake luajit.

Building

On Debian:

$ cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_TESTING=ON -S . -B build

On macOS:

You may need to set environment variables for directories containing LLVM header files and libraries:

$ export LDFLAGS="-L$(brew --prefix llvm)/lib"
$ export CPPFLAGS="-I$(brew --prefix llvm)/include"
$ cmake -S . -B build -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DLUA_INCLUDE_DIR=/opt/homebrew/include/luajit-2.1 -DLUA_LIBRARIES=/opt/homebrew/lib/libluajit-5.1.dylib -DENABLE_TESTING=ON -DENABLE_LUAJIT=ON -DLUAJIT_FRIENDLY_MODE=ON

Run regression testing

$ cmake --build build --parallel
$ cmake --build build --target test

You are ready to make patches!