From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>,
BALATON Zoltan <balaton@eik.bme.hu>
Cc: Peter Maydell <peter.maydell@linaro.org>,
QEMU Developers <qemu-devel@nongnu.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: deprecation of in-tree builds
Date: Tue, 24 Mar 2020 08:54:31 -0500 [thread overview]
Message-ID: <1407efec-2da8-3ab8-ca99-7a09b1d66ce2@redhat.com> (raw)
In-Reply-To: <20200323133244.GK261260@stefanha-x1.localdomain>
On 3/23/20 8:32 AM, Stefan Hajnoczi wrote:
>>> We could also make configure actively warn if used in
>>> the source tree.
>>
>> This was discussed before. I think instead of annoying people with a
>> warning, rather configure should be changed to create a build dir if run
>> from source and have a Makefile in top dir that runs make -C builddir so
>> people don't have to care about this or change their ways and can continue
>> to run configure && make from source dir but you don't have to support
>> in-tree build. Then you can deprecate in-tree builds but supporting only
>> out-of-tree without this convenience would not just unnecessarily annoy
>> those who prefer working in a single tree but people (and apparently some
>> tools) expect sources to build with usual configure; make; make install so
>> that should be the minimum to support.
>
> Yes, please! I use in-tree builds and find it tedious to cd into a
> build dir manually.
>
> Also, many build scripts (packaging, etc) we'll break if we simply
> remove in-tree builds. I think make && make install should continue to
> work.
Here's what I'm using locally to let my finger memory of building
in-tree work in spite of having done 'mkdir build; cd build;
../configure ...'. We'd still need glue code in configure itself to
detect when it is being invoked in-tree to create a subdir build/ and
such a forwarding file, but if we want in-tree to FEEL like it works
(even though it uses a build dir under the hood), it's certainly worth
considering.
$ cat GNUmakefile
# Hack for redirecting while reminding myself to use distinct builddir
ifeq ($(MAKECMDGOALS),)
recurse: all
endif
.NOTPARALLEL: %
%: force
@echo 'changing dir to build for $(MAKE) "$(MAKECMDGOALS)"...'
@$(MAKE) -C build -f Makefile $(MAKECMDGOALS)
force: ;
.PHONY: force
GNUmakefile: ;
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
next prev parent reply other threads:[~2020-03-24 13:56 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-21 20:50 deprecation of in-tree builds Peter Maydell
2020-03-21 22:50 ` BALATON Zoltan
2020-03-23 13:32 ` Stefan Hajnoczi
2020-03-24 13:54 ` Eric Blake [this message]
2020-08-18 19:14 ` Peter Maydell
2020-08-20 10:54 ` Kevin Wolf
2020-08-20 11:14 ` Michael Tokarev
2020-08-20 11:56 ` Paolo Bonzini
2020-08-20 12:00 ` Peter Maydell
2020-08-20 13:30 ` Kevin Wolf
2020-08-20 14:10 ` Peter Maydell
2020-08-20 15:50 ` Paolo Bonzini
2020-08-20 16:14 ` Kevin Wolf
2020-08-20 17:39 ` Paolo Bonzini
2020-08-21 9:55 ` Gerd Hoffmann
2020-08-20 16:05 ` Daniel P. Berrangé
[not found] ` <CAL1e-=gKB0qRxGntXrU0im2gjMh1tq_SLGTm+HsmgBRGXQ9+Bg@mail.gmail.com>
2020-03-22 17:20 ` Peter Maydell
2020-03-22 19:51 ` Aleksandar Markovic
2020-03-22 20:14 ` Peter Maydell
2020-03-22 20:45 ` Aleksandar Markovic
2020-03-22 20:46 ` BALATON Zoltan
2020-03-22 21:15 ` Peter Maydell
2020-03-23 0:35 ` BALATON Zoltan
2020-03-23 10:20 ` Daniel P. Berrangé
2020-03-30 13:26 ` Markus Armbruster
2020-03-30 13:31 ` Peter Maydell
2020-03-30 13:42 ` Daniel P. Berrangé
2020-03-30 14:37 ` Kevin Wolf
2020-03-30 17:29 ` Michal Suchánek
2020-03-30 17:36 ` Daniel P. Berrangé
2020-03-30 20:15 ` BALATON Zoltan
2020-03-31 7:48 ` Paolo Bonzini
2020-03-31 9:20 ` Liviu Ionescu
2020-03-31 10:19 ` Peter Maydell
2020-03-31 11:46 ` Liviu Ionescu
2020-03-31 12:07 ` Kevin Wolf
2020-03-31 15:23 ` Liviu Ionescu
2020-03-31 12:02 ` Kevin Wolf
2020-03-31 12:05 ` Peter Maydell
2020-03-31 12:24 ` Kevin Wolf
2020-03-31 12:32 ` Peter Maydell
2020-03-31 15:08 ` Eric Blake
2020-03-31 15:20 ` BALATON Zoltan
2020-03-31 15:44 ` Kevin Wolf
2020-03-31 12:54 ` BALATON Zoltan
2020-03-30 16:25 ` Aleksandar Markovic
2020-03-31 7:15 ` Markus Armbruster
2020-03-31 12:33 ` BALATON Zoltan
2020-03-31 12:50 ` Daniel P. Berrangé
2020-03-31 15:04 ` BALATON Zoltan
2020-03-31 15:23 ` Daniel P. Berrangé
2020-03-31 15:55 ` BALATON Zoltan
2020-03-31 10:38 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1407efec-2da8-3ab8-ca99-7a09b1d66ce2@redhat.com \
--to=eblake@redhat.com \
--cc=balaton@eik.bme.hu \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).