[Top][All Lists]

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

Re: deprecation of in-tree builds

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


Overdue.  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".


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.


reply via email to

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