GNOME Bugzilla – Bug 779599
build: Add meson support
Last modified: 2017-03-11 17:39:23 UTC
See patches. The last patch depends on bug 779593 that may or may not happen ...
Created attachment 347242 [details] [review] build: Support the meson build system Meson is the hottest contender to replace the dated autoconf build system through-out the GNOME project, so supporting it seems like a good idea, in particular as it can happily coexist with the existing build system. Also, did someone mention that it's really fast?
Created attachment 347243 [details] [review] build: Add back typelib checks The AX_CHECK_GIR* macros are a nice way to catch runtime bugs that are triggered by users not updating dependencies. Unfortunately the meson developers rejected this functionality for their build system, so we have to implement the checks ourselves to not lose the feature. This is still somewhat inferior to the autoconf macros as it uses meson's built-in testing ability, which is only executed when explicitly requested by the user; still, getting into the habit of asking users to run the tests when debugging their issues should be a workable compromise ...
Created attachment 347244 [details] [review] flatpak: Build with meson Meson is a fast-moving project, and while we don't require the very latest version, the requirement is still recent enough to not assume its general availability. However when building the flatpak, we can easily ensure a recent enough version by bundling, so switch the manifest to meson builds.
Created attachment 347245 [details] [review] build: Use imports.gi.has() instead of custom script GJS' built-in symbol check simplifies tests enough for us to drop the custom script.
I'll drop the runtime typelib check patches for now. The discussion in bug 779593 is still ongoing, but it is clear that we will have built-in symbol checks in gjs. As far as meson is concerned, this is good enough for me for now: The main point of the checks is so we don't have to debug oddities that are caused by updating polari without updating dependencies - the most likely case is "jhbuild buildone", which will still use autotools. There have also been some fringe distro packagers recently, but those are also going to continue with autotools for some time. In conclusion - I don't see why we should not enjoy faster builds in flatpak/builder right now, so I'm gonna land this.
Attachment 347242 [details] pushed as be9e0b2 - build: Support the meson build system Attachment 347244 [details] pushed as 33981bb - flatpak: Build with meson