On Thu, Mar 07, 2019 at 10:13:13AM +0000, Peter Maydell wrote: > So I think we'd need a more compelling reason to move right now. > (This might change in the future, eg if Meson catches on to the > extent that everybody is using it and competitors like CMake are > more obviously eclipsed by it, in the way that git took over > from svn and relegated mercurial and bzr to obscurity.)
I don't think we'll see the same level of domination as you see with git, for a number of reasons. It is compelling enough though that I think it will ultimately win over autotools for newly started projects with little difficulty. Everyone I know grumbles about autoconf & m4, and libtool, so they won't be missed. Switching SCM is relatively straightforward as for most projects it doesn't affect the way the code works. At simplest you can just copy the code into git & away you go. If you want to preseve history there are many convertors from SVN/CVS and of course free project hosting on github just re-inforces the benefits. Switching build systems by comparison requires careful technical work whose burden increases as the complexity of the project increases. This is a much larger barrier than seen with GIT conversions. So I think it will have a harder time getting existing projects to convert than was seen getting projeects from switch to GIT. This is true of any build system conversion though, not just meson. There's no real scope for automatic conversions to help her. Most major modern programming languages comes some kind of standard build system. So while meson can work with non-C languages it is not likely to make much headway there IMHO. Even if we don't switch build systems in the near term, I think it is worth watching the space & being open to the idea at some point. I think our current build system does put off contributors. I'm personally put off touching any make based build system that is not using autoconf/automake. Project specific hand crafted make files have their own new way to doing things you have to learn and so for a long time I dared not try changing anything complex in QEMU's build. As long term contributors we've built enough enough knowledge to QEMU to consider our build system attractive or even "simple", which skews our view of the benefits of alternatives to people without this tribal knowledge. 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 :|