Hi all, this is just a simple example of introducing Meson into the build system, converting a few contrib/ subprojects to use it instead of Makefile.objs. There are certainly many rough edges, but I wanted to throw this out to show what it could look like.
I chose contrib/ because it's a simple example of how the current build system causes clutter in the toplevel Makefiles and how interrelated the Makefile, Makefile.objs and contrib/*/Makefile.objs file are even for such simple executables. Paolo Paolo Bonzini (7): configure: do not include $(...) variables in config-host.mak configure: set $PYTHON to a full path configure: integrate Meson in the build system libvhost-user: convert to Meson vhost-user-blk: convert to Meson vhost-user-scsi: convert to Meson rdmacm-mux: convert to Meson .gitignore | 5 +- Makefile | 26 +- Makefile.objs | 6 - configure | 66 ++- contrib/libvhost-user/Makefile.objs | 1 - contrib/libvhost-user/meson.build | 7 + contrib/rdmacm-mux/Makefile.objs | 3 - contrib/rdmacm-mux/meson.build | 6 + contrib/vhost-user-blk/Makefile.objs | 1 - contrib/vhost-user-blk/meson.build | 3 + contrib/vhost-user-scsi/Makefile.objs | 1 - contrib/vhost-user-scsi/meson.build | 3 + meson.build | 20 + scripts/ninjatool.py | 964 ++++++++++++++++++++++++++++++++++ 14 files changed, 1066 insertions(+), 46 deletions(-) delete mode 100644 contrib/libvhost-user/Makefile.objs create mode 100644 contrib/libvhost-user/meson.build delete mode 100644 contrib/rdmacm-mux/Makefile.objs create mode 100644 contrib/rdmacm-mux/meson.build delete mode 100644 contrib/vhost-user-blk/Makefile.objs create mode 100644 contrib/vhost-user-blk/meson.build delete mode 100644 contrib/vhost-user-scsi/Makefile.objs create mode 100644 contrib/vhost-user-scsi/meson.build create mode 100644 meson.build create mode 100644 scripts/ninjatool.py -- 1.8.3.1