muon is an implementation of the meson build system in c99 with minimal
muonaspires to be stricter than meson in cases where meson's implementation seems error prone.
muonuses the official meson documentation as its specification.
muonhas different flags, subcommands, etc., and should not be renamed/symlinked to meson.
Other differences from meson are described in
muon analyze- a static analyzer for meson.build files. Capable of doing type inference, checking unused variables, undeclared variables, etc.
muon fmt_unstable- a meson.build code formatter
muon is close to feature-complete (bugs notwithstanding!) with the core of
Things missing include:
pkgconfig. (a small
pythonmodule shim is also available)
If you want to contribute, try using
muon to build your favorite project.
Patches and bug reports welcome!
scdocfor muon.1 and meson.build.5
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.
mkdir build c99 -Iinclude src/amalgam.c -o build/muon
However, this version of muon will never be able to look up any dependencies.
If are going to need
dependency() to work, use the provided bootstrapping
script, which links in
libpkgconf if it is available.
build/muon setup build ninja -C build
build/muon -C build test
muon has a few of its own tests for core language features, but the majority
of the tests are copied from the meson project.
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.