muon is an implementation of the meson build system in c99 with minimal dependencies.
muon analyze - a static analyzer for meson.build files. demo
muon fmt - a meson.build code formatter
muon is close to feature-complete with the core of meson for
See the status page for more detailed information.
Things missing include:
Other differences from meson are described in
If you want to contribute, try using
muon to build your favorite project.
Patches and bug reports welcome!
To build documentation:
scdoc for muon.1 and meson.build.5
py3-yaml for meson-reference.3
To run most project tests:
If you already have meson or muon and are not interested in bootstrapping, you can just do a typical meson configure, build, install:
$meson setup build
Otherwise, you must bootstrap muon.
The bootstrapping process has two stages. The first stage produces a
binary capable of building itself (but not necessarily anything else). The
second stage produces the final binary.
This will by default build a ninja implementation (samu) into the resulting
executable. To disable this behavior use
build/muon setup build
build/muon -C build samu
build/muon -C build test
build/muon -C build install
Although I had already had the idea to re-implement meson in C, I was initially
inspired to actually go out and do it when I saw boson.
muon's code was
originally based on
boson, though has since been almost completely rewritten.