qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] converting build system to Meson?


From: Daniel P . Berrangé
Subject: Re: [Qemu-devel] converting build system to Meson?
Date: Thu, 7 Mar 2019 10:49:38 +0000
User-agent: Mutt/1.11.3 (2019-02-01)

On Thu, Mar 07, 2019 at 11:40:05AM +0100, Paolo Bonzini wrote:
> On 07/03/19 07:39, Thomas Huth wrote:
> > On 06/03/2019 19.12, Paolo Bonzini wrote:
> >> Hi all,
> >>
> >> lately I have been thinking of converting the QEMU build system to
> >> Meson.  Meson is a relatively new build system that can replace
> >> Autotools or hand-written Makefiles such as QEMU; as a die-hard
> >> Autotools fan, I must say that Meson is by far better than anything else
> >> that has ever tried to replace Autotools, and actually has the potential
> >> to do so.
> >>
> >> Advantages of Meson that directly matter for QEMU include:[...]
> > 
> > I'm not objecting a new build system per se, but could you elaborate on
> >  problems of the current QEMU build system that will be fixed by this
> > change?
> 
> In order of importance:
> 
> - Make lacks introspection abilities; people want to be able to quickly
> say "I don't have this security issue because I didn't compile this
> file".  Make only gives you the build logs, which may not be easily
> accessible to the end user.
> 
> - Makefile.objs unnesting does not apply throughout the tree, for
> example it does not apply to tests.  We don't apply it there because it
> it is hard to extend Makefile.objs to dozens of targets and it would
> also be very very slow.  The result is lack of homogeneity between
> places that use Makefile.objs and places that use Makefile.include.
> 
> - Makefile.objs unnesting is hard to understand---granted, you rarely
> have to understand it because it mostly works, but we should consider
> whether it is a local optimum.  For example, how many people know how to
> add a dynamically-loadd module to Makefile.objs?

We have a long standing bug in unnesting which breaks if two dirs
have a .c file with the same name and a per-o file library link:

  https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg02654.html

The nesting stuff is insanely clever, but it is also fragile and full
of dragons like this one.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]