From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Liviu Ionescu" <ilg@livius.net>,
"Markus Armbruster" <armbru@redhat.com>,
"Aleksandar Markovic" <aleksandar.qemu.devel@gmail.com>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Michal Suchánek" <msuchanek@suse.de>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Aleksandar Markovic" <aleksandar.m.mail@gmail.com>
Subject: [PATCH v5 for-5.0] configure: warn if not using a separate build directory
Date: Mon, 6 Apr 2020 16:33:26 +0100 [thread overview]
Message-ID: <20200406153326.806024-1-berrange@redhat.com> (raw)
Running configure directly from the source directory is a build
configuration that will go away in future. It is also not currently
covered by any automated testing. Display a deprecation warning if
the user attempts to use an in-srcdir build setup, so that they are
aware that they're building QEMU in an undesirable manner.
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
Changed in v5:
- Use PeterM's suggested wording instead.
- Dropped previous R-bs due to wording change
configure | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/configure b/configure
index 22870f3867..b8f1d26293 100755
--- a/configure
+++ b/configure
@@ -285,6 +285,16 @@ then
error_exit "main directory cannot contain spaces nor colons"
fi
+canon_build_path=$(realpath -- "$PWD")
+canon_source_path=$(realpath -- "$source_path")
+
+in_srcdir=no
+if [ "$canon_build_path" = "$canon_source_path" ]
+then
+ in_srcdir=yes
+fi
+
+
# default parameters
cpu=""
iasl="iasl"
@@ -6751,6 +6761,23 @@ if test "$supported_os" = "no"; then
echo "us upstream at qemu-devel@nongnu.org."
fi
+if test "$in_srcdir" = "yes"; then
+ echo
+ echo "NOTE: we recommend against building in the source directory"
+ echo
+ echo "You've run the 'configure' script directly from the source"
+ echo "directory. This will work, but we recommend using a separate"
+ echo "build directory, especially if you plan to work with the QEMU"
+ echo "sources rather than just building it once. You can switch to"
+ echo "a separate build directory like this:"
+ echo
+ echo " $ mkdir build"
+ echo " $ cd build"
+ echo " $ ../configure"
+ echo " $ make"
+ echo
+fi
+
config_host_mak="config-host.mak"
echo "# Automatically generated by configure - do not modify" >config-all-disas.mak
--
2.24.1
next reply other threads:[~2020-04-06 15:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-06 15:33 Daniel P. Berrangé [this message]
2020-04-06 15:38 ` [PATCH v5 for-5.0] configure: warn if not using a separate build directory Eric Blake
2020-04-06 15:45 ` Daniel P. Berrangé
2020-04-14 19:25 ` Peter Maydell
2020-04-15 6:13 ` Markus Armbruster
2020-04-15 8:52 ` Peter Maydell
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=20200406153326.806024-1-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=aleksandar.m.mail@gmail.com \
--cc=aleksandar.qemu.devel@gmail.com \
--cc=armbru@redhat.com \
--cc=ilg@livius.net \
--cc=kwolf@redhat.com \
--cc=msuchanek@suse.de \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--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).