Meson 1.11.0 Build System Released

Published release of the Meson 1.11.0 assembly system, which is used to build projects such as X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME and GTK. The Meson code is written in Python and is distributed under the Apache 2.0 license.

The key goal of Meson development is to provide high speed of the assembly process, combined with convenience and ease of use. Instead of the make utility, the default build uses the Ninja toolkit, but other backends such as Xcode and Visual Studio can also be used. The system has a built-in multi-platform dependency handler that allows you to use Meson to build packages for distributions. Build rules are set in a simplified domain-specific language, are highly readable and understandable to the user (as conceived by the authors, the developer should spend a minimum of time writing rules).

Cross-compilation and assembly in Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly are supported BSD, Haiku, macOS and Windows using GCC, Clang, Visual Studio and other compilers. It is possible to build projects in various programming languages, including C, C++, Fortran, Java, D and Rust. Incremental build mode is supported, in which only components directly related to changes made since the last build are rebuilt. Meson can be used to generate repeatable builds, in which running the build in different environments results in the generation of completely identical executable files.

Main innovations Meson 1.11:

  • When calling the rust.workspace() method in Meson scripts, parsing of the root file has been implemented Cargo.toml inside the project, for correct activation when assembling feature flags defined in the Cargo.toml file common to all workspaces. In addition, the rust.workspace() method now returns an object through which you can get a list of feature flags and dependencies for subprojects, as well as start building the targets declared in the Cargo.toml files.
  • The “meson dist” command has added the “-j” (–num-processes) option and the
/Reports, release notes, official announcements.