Add meson build
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 thatYes. Single difference: libdir in meson autodetects the platform convention, which is /usr/lib/$ARCH on Debian (whereas autotools uses /usr/lib).ninja -Cbuild install
and old-schoolmake install
give the same directory tree result. -
Verify thatSee comment belowmeson -Cbuild dist
and old-schoolmake distcheck
give the same tarball (or close enough). -
DoesYes,meson -Cbuild dist
do a test build/install? If not, CI will need to make extra steps to test this.meson dist
does do a full test likemake distcheck
does.
Edited by Brian Tarricone