Build system change GTK's master branch

From: Emmanuele Bassi <ebassi gmail com>

To: GTK Devel List <gtk-devel-list gnome org>

Cc: Desktop Development List <desktop-devel-list gnome org>

Subject: Build system change GTK's master branch

Date: Mon, 14 Aug 2017 22:46:08 +0100

Hi all; executive summary: the master branch of GTK+ now builds with Meson, and the Autotools build system files have been dropped. The documentation has been updated to reflect the new build system — as well as, in some cases, the past 10 years of development. The change means that GTK+ master now has a build-time dependency on: - Python 3.x - Meson - http://mesonbuild.com - Ninja (though Meson also supports Visual Studio out of the box) Building GTK+ is now a matter of calling: $ meson $builddir $srcdir $ ninja -C $builddir $ sudo ninja -C $builddir install (where $builddir is the build directory you want to use, and $srcdir is the directory with the GTK+ sources) The main change is that now GTK+ takes about ⅓ of the time to build compared to the Autotools build, with likely bigger wins on older/less powerful hardware; the Visual Studio support on Windows should be at least a couple of orders of magnitude easier (shout out to Fan Chun-wei for having spent so, so many hours ensuring that we could even build on Windows with Visual Studio and MSVC); and maintaining the build system should be equally easier for everyone on any platform we currently support. Of course no migration is going to be perfect at the first try, even though we have been building GTK+ master using Meson on the GNOME continuous integration pipeline for a while, now. Please, report any issue you may find. Additionally, the following dependencies of GTK+ have added a Meson build side-by-side with Autotools: - GLib - Pango - GdkPixbuf - ATK - libepoxy There are no plans for using Meson exclusively, or even side-by-side with Autotools, on the 2.24 and 3.22 branches — at least for the foreseeable future. Ciao, Emmanuele. -- https://www.bassi.io [@] ebassi [@gmail.com]