A simple Lua-based build system. Unobtrusive, highly portable, and decently flexible.
Welcome to the Kindler home page by Setsuna Software. Documentation and downloads are available here.
Kindler is a declarative, cached, bootstrapped build system. It does not build software directly; instead, it generates build files (Makefiles, Ninja files) that native build tools execute.
Kindler is free software under the MIT License.
Kindler is a project description parser using UCL format for project files. It contains a database of known platforms and targets and uses information contained within to construct makefiles or ninja files. It interfaces with pkgconf to find dependencies, and uses modules to script or dynamically perform tasks for builds.
Kindler uses Lua, among the most portable languages, to build makefiles. It uses a purely declarative syntax. Anything that requires scripting must be done within a module and triggered via a hook. It supports globbing for generating a project file (not within a project itself), and aims to be easy for CI/CD in the future.
Kindler is built simply and honestly, to "run on a brick". That is, it runs anywhere. It's neither trying to be the fastest nor the most featureful of its class. It was designed from the outset to be maintainable and thus keep its key feature set limited. It can be used as a primary or secondary build system. It's an escape hatch, some might say, for people who don't want to worry about portability.
Kindler uses a bootstrap to generate OS dependency info, compiler interaction rules, what headers and libraries are available, and other helpful information. This means it isn't rescanning the system to confirm. It still uses pkgconf to confirm dependency trees, so regeneration is only truly necessary in cases of base OS changes in most cases.
Copyright 2026 Setsuna Software L.C. and Kazuo Kuroi