For the past week or to I've been tackling the problem of converting
from autotools to meson.
Many of the virt related projects have gone through this already, but
libvirt is a bit of a special case because it is so huge. In particular
I don't think it is acceptable to do a big bang where the entire of
meson support is in one commit and then entire of autotools support
is deleted in the next commit. While this was OK for smaller projects,
it is impossible to sensibly review for something as large as libvirt.
Obviously this series is faaaar from complete as it hasn't tried to
convert anything in the src/ dir where most of our cruft is.
It is also not tested on anything other than my Fedora 30 system so
don't expect perfection here.
Daniel P. Berrangé (11):
build: mandate use of a build dir != src dir
build: drop support for python2, requiring python3 only
build: introduce bare minimum use of meson as a build system
build: declare deps for libraries built by autotools
build: use meson for building the example programs
build: use meson for installing example program src / data
build: use meson for building NSS modules
build: add command line options for enabling each driver
build: use meson for building virt-host-validate
build: use meson for building virt-login-shell
build: use meson for building virsh / virt-admin
Makefile.am | 2 +-
build-aux/dist.py | 133 ++++++++++++
configure.ac | 13 +-
docs/apibuild.py | 4 +-
docs/reformat-news.py | 4 +-
examples/Makefile.am | 135 ------------
examples/c/admin/meson.build | 59 ++++++
examples/c/domain/meson.build | 43 ++++
examples/c/meson.build | 4 +
examples/c/misc/meson.build | 27 +++
examples/meson.build | 6 +
examples/polkit/meson.build | 5 +
examples/sh/meson.build | 5 +
examples/systemtap/meson.build | 8 +
examples/xml/meson.build | 3 +
examples/xml/storage/meson.build | 14 ++
examples/xml/test/meson.build | 13 ++
libvirt.spec.in | 47 ++---
m4/virt-bash-completion.m4 | 70 -------
m4/virt-host-validate.m4 | 43 ----
m4/virt-login-shell.m4 | 43 ----
meson.build | 54 +++++
meson_options.txt | 27 +++
src/bhyve/meson.build | 5 +
src/esx/esx_vi_generator.py | 4 +-
src/esx/meson.build | 2 +
src/hyperv/hyperv_wmi_generator.py | 4 +-
src/hyperv/meson.build | 2 +
src/interface/meson.build | 5 +
src/libxl/meson.build | 5 +
src/lxc/meson.build | 5 +
src/meson.build | 61 ++++++
src/network/meson.build | 5 +
src/node_device/meson.build | 5 +
src/nwfilter/meson.build | 5 +
src/openvz/meson.build | 2 +
src/phyp/meson.build | 2 +
src/qemu/meson.build | 5 +
src/remote/meson.build | 6 +
src/secret/meson.build | 5 +
src/storage/meson.build | 5 +
src/test/meson.build | 2 +
src/vbox/meson.build | 2 +
src/vmware/meson.build | 2 +
src/vz/meson.build | 5 +
tests/cputestdata/cpu-gather.sh | 9 +-
tools/Makefile.am | 318 +----------------------------
tools/bash-completion/meson.build | 19 ++
tools/meson.build | 252 +++++++++++++++++++++++
tools/nss/meson.build | 63 ++++++
50 files changed, 909 insertions(+), 658 deletions(-)
create mode 100755 build-aux/dist.py
delete mode 100644 examples/Makefile.am
create mode 100644 examples/c/admin/meson.build
create mode 100644 examples/c/domain/meson.build
create mode 100644 examples/c/meson.build
create mode 100644 examples/c/misc/meson.build
create mode 100644 examples/meson.build
create mode 100644 examples/polkit/meson.build
create mode 100644 examples/sh/meson.build
create mode 100644 examples/systemtap/meson.build
create mode 100644 examples/xml/meson.build
create mode 100644 examples/xml/storage/meson.build
create mode 100644 examples/xml/test/meson.build
delete mode 100644 m4/virt-bash-completion.m4
delete mode 100644 m4/virt-host-validate.m4
delete mode 100644 m4/virt-login-shell.m4
create mode 100644 meson.build
create mode 100644 meson_options.txt
create mode 100644 src/bhyve/meson.build
create mode 100644 src/esx/meson.build
create mode 100644 src/hyperv/meson.build
create mode 100644 src/interface/meson.build
create mode 100644 src/libxl/meson.build
create mode 100644 src/lxc/meson.build
create mode 100644 src/meson.build
create mode 100644 src/network/meson.build
create mode 100644 src/node_device/meson.build
create mode 100644 src/nwfilter/meson.build
create mode 100644 src/openvz/meson.build
create mode 100644 src/phyp/meson.build
create mode 100644 src/qemu/meson.build
create mode 100644 src/remote/meson.build
create mode 100644 src/secret/meson.build
create mode 100644 src/storage/meson.build
create mode 100644 src/test/meson.build
create mode 100644 src/vbox/meson.build
create mode 100644 src/vmware/meson.build
create mode 100644 src/vz/meson.build
create mode 100644 tools/bash-completion/meson.build
create mode 100644 tools/meson.build
create mode 100644 tools/nss/meson.build
--
2.21.0