[libvirt] [PATCH 00/11] build: work in progress illustration of meson conversion

Daniel P. Berrangé berrange at redhat.com
Fri Sep 27 11:11:47 UTC 2019


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




More information about the libvir-list mailing list