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:18:19 +0000
User-agent: Mutt/1.11.3 (2019-02-01)

On Thu, Mar 07, 2019 at 07:39:46AM +0100, 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? Since apart from some minor glitches (with the *.mak file
> dependencies for example), the current build system seems to work quite
> well for me ... so at least I currently don't feel enough pain yet to do
> such a big step, just because there is another new cool build system
> around...

Despite my effort to document how QEMU's makefiles are structured
(docs/devel/build-system.txt) I still find them to be pretty unintelligable
and painful to deal with. The way we have recursive make with some objects
built once & others built twice is particularly painful to deal with when
making non-trivial changes to the makefiles.

The configure script I think is very compelling to replace on the general
principle that any shell script longer than one line is better off being
written in another programming language. Portable shell programming (to
/bin/sh standards as opposed to /bn/bash) is difficult & we constantly
get it wrong introducing bash-isms. Error handling in shell is a complete
disaster zone and string quoting is not much better. 

The domain specific language used by meson is more attractive avoiding
these pitfalls of shell and reducing the need for write boilerplate
code to check features, letting you just write declarative statements
to a large extent.

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]