|
From: | BALATON Zoltan |
Subject: | Re: deprecation of in-tree builds |
Date: | Mon, 30 Mar 2020 22:15:24 +0200 (CEST) |
User-agent: | Alpine 2.22 (BSF 395 2020-01-19) |
On Mon, 30 Mar 2020, Michal Suchánek wrote:
On Mon, Mar 30, 2020 at 04:37:59PM +0200, Kevin Wolf wrote:Am 30.03.2020 um 15:42 hat Daniel P. Berrangé geschrieben:On Mon, Mar 30, 2020 at 02:31:52PM +0100, Peter Maydell wrote:On Mon, 30 Mar 2020 at 14:26, Markus Armbruster <address@hidden> wrote:Peter Maydell <address@hidden> writes:AIUI from Paolo, the intention is to deprecate and eventually stop supporting "in-tree" builds, so that the only option is building in a separate build directory. I thought we should probably mention that in the 5.0 changelog, so I wrote up some text: https://wiki.qemu.org/ChangeLog/5.0#Build_InformationOverdue. Thanks for doing this!Suggestions for changes/comments etc welcome.Looks fine to me.Consensus in the thread seemed to lean towards having the 'configure/make' runes auto-create a build directory; if we want to do that we should probably not say anything in the release notes, because we'll cause people to change unnecessarily. Or at least have them say "We recommend out-of-tree builds. In future we might make the commands that currently do an in-tree build automatically create and use a build directory for you." rather than a blanket "we're going to drop this and you should change what you do now". Thoughts?When the time comes to switch to Meson, we'll be forcing a separate build directory & that will also potentially involve a change in build instructions for users. So if we expect Meson will arrive in QEMU soon (say before end of this year), then I'd try to keep changes related to make to the bare minimum, and have Meson switch as the "flag day" when developers are forced to adapt their build process. IOW, merely warn people that in-tree builds are deprecated and not tested by the project and enourage switching to out of tree builds. Dont try to magically create a separate build dir now.If manually dealing with separate build directories is inconvenient today, it will still be inconvenient with Meson, so this would mean introducing the automatic directly creation together with the other changes to enable Meson. Which is fine by me, as long as it is really done when the external directory becomes mandatory, so that people won't have to switch back and forth between directories.From packaging point of view if something has auto* files the default is IIRC to do in-tree build with most package managers. You have to adjust manually for out-of-tree build. I am not sure what is state of Meson support in packaging scripts across distributions. Most likely it will not be picked automagically so you have to provide a custom build script anyway. Then it is the time to look up the canonical build instructions. In other words dealing with Meson is inconvenient either way. Building in-tree or out-of-tree becomes a non-issue whan you switch to exotic build system anyway. That's not to say that auto* tools are great. It's just the replacements have issues that are not well understood by average Joe Packager while the auto* tools have good old issues people know how to deal with.
Actually QEMU does not use auto* tools, it just has a configure script that mimics that. This may not be the best way to do it but this is convenient for people trying to compile it and works as expected so I think this behaviour should be preserved if possible just to not upset developers and packagers unnecessarily.
Regards, BALATON Zoltan
[Prev in Thread] | Current Thread | [Next in Thread] |