Skip to content

Add meson build

Brian Tarricone requested to merge kelnos/xfwm4:meson into master

This brings us down from 1768 lines of configure.ac/autogen.sh/Makefile.am to 1233 lines of meson. Less dramatic decrease then I expected or hoped, but that's still nice. But the real metric that matters:

Before:

time (./autogen.sh --enable-maintainer-mode && make -j install DESTDIR=/tmp/xfwm4-destdir)
[...]
real    0m28.468s
user    1m4.364s
sys     0m10.257s

After:

time (meson setup build && DESTDIR=/tmp/xfwm4-destdir ninja -Cbuild install)
[...]
real    0m4.042s
user    0m4.277s
sys     0m1.535s

(Even if autogen.sh has already been run and we only need to run configure and then build it, that still takes 9.348s.)

TODO:

  • Verify that ninja -Cbuild install and old-school make install give the same directory tree result. Yes. Single difference: libdir in meson autodetects the platform convention, which is /usr/lib/$ARCH on Debian (whereas autotools uses /usr/lib).
  • Verify that meson -Cbuild dist and old-school make distcheck give the same tarball (or close enough). See comment below
  • Does meson -Cbuild dist do a test build/install? If not, CI will need to make extra steps to test this. Yes, meson dist does do a full test like make distcheck does.
Edited by Brian Tarricone

Merge request reports