On Fri, Jul 17, 2020 at 03:51:21PM +0100, Daniel P. Berrangé wrote: > On Thu, Jul 16, 2020 at 11:53:56AM +0200, Pavel Hrdina wrote: > > So I was finally able to produce the patches to port libvirt to Meson. > > Obviously, it is a lot of changes. It might look that some of the > > patches could be squashed together but I would rather have it as > > separated as possible to make the review not that difficult. > > > > Once we are done with review I suggest to squash all patches to single > > patch as it doesn't make sense to keep them separated as it will not be > > possible to build complete libvirt code by any of the build systems. > > Trying to achieve that would be even more challenging and the review > > would me more difficult. > > > > The reasoning behind taking this approach is to have 1:1 conversion from > > autotools to Meson where each patch removes that part from autotools. It > > serves as a check that nothing is skipped and to make sure that the > > conversion is complete. > > > > As probably most of us know Meson is completely different build system > > and one of the most challenging things was to deal with the fact that > > meson doesn't allow user functions and that everything has to be defined > > before it is used. > > > > Patches are available in my Gitlab repo as well: > > > > git clone -b meson https://gitlab.com/phrdina/libvirt.git > > I compared the contents of config.h and meson-config.h for the > before and after state, looking at wha "#define" are present. > I couple of problems appear > > HAVE_DECL_SEEK_HOLE, HAVE_LIBATTR, and HAVE_LIBUTIL, WITH_PM_UTILS > were not set in meson-config.h Nice catch, I actually had a code to define HAVE_DECL_SEEK_HOLE but it requires -D_GNU_SOURCE to detect it. For some reason I missed HAVE_LIBATTR. We don't use HAVE_LIBUTIL anywhere in the code, only HAVE_LIBUTIL_H which is in meson-config.h. WITH_PM_UTILS is actually broken in autotools and it should not be there. If you check m4/virt-pm-utils.m4 we don't use pm-utils if building on host with D-Bus and systemd. Digging into the history commit <cf6b65a19eeb026cbf653b76e93e56383bf52da6> removed init_systemd but forgot to update m4/virt-pm-utils.m4 to use "$with_init_script" = "systemd" instead of "$init_systemd" = "yes". I'll fix the first two defines but the other two are correct unless I should add the not-used HAVE_LIBUTIL. Thanks for the review. Pavel
Attachment:
signature.asc
Description: PGP signature