Building Vala with the Meson Build System
Meson is a domain specific language for generating build system configurations. The reference implementation of Meson is written in Python. Currently Meson only supports the Ninja build system backend for Vala.
A complete switch of Vala's build system from autotools to Meson and Ninja would introduce the following dependencies:
- Ninja build system
Python 3.4, see Meson GitHub issue #1790 for progress on switching to Python 3.5+
- Meson, version x.x.x
Using Ninja and Meson will give contributors to Vala the advantages of:
- Faster incremental builds
- Easier maintenance of the build system
It will also give easier resolution to a number of bugs:
There is a GNOME meta bug Bug 782980 - [meta] Port modules to meson build system with progress shown at GNOME Goal: Port modules to use Meson build system.
Progress is at the wip/meson branch of the Vala source.
|Implemented with Meson||make Target||Description|
|all-bindings||cd vapi && make all-bindings|
|bootstrap||Build using distributed C files from tarball. No need for valac to be installed.|
|check||Run test suite|
|config.h.in||Produced by autoconf, then config.h is produced|
|dist||Produce tarball for distribution, includes C files|
|html||Produce HTML version of documentation, currently the manual|
|Generate PDF version of documentation,currently the manual. Requires WeasyPrint to be installed.|