On 3/31/20 1:41 PM, Daniel P. Berrangé wrote:
On Tue, Mar 31, 2020 at 01:11:45PM +0200, Philippe Mathieu-Daudé wrote:
On 3/31/20 12:37 PM, Daniel P. Berrangé wrote:
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.
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
---
configure | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/configure b/configure
index e225a1e3ff..1ab7492ab5 100755
--- a/configure
+++ b/configure
@@ -3,6 +3,19 @@
# qemu configure script (c) 2003 Fabrice Bellard
#
+BUILDDIR=$(pwd)
+SRCDIR=$(dirname "$0")
This duplicates $source_path.
Maybe you can rename it $source_path and remove the $source_path assignment
later.
Sure, could do that..
+
+ABS_BUILDDIR=$(realpath $BUILDDIR)
+ABS_SRCDIR=$(realpath $SRCDIR)
+
+in_srcdir=no
+if [ "$ABS_SRCDIR" == "$ABS_BUILDDIR" ]
+then
+ in_srcdir=yes
+fi
+
+
# Unset some variables known to interfere with behavior of common tools,
# just as autoconf does.
CLICOLOR_FORCE= GREP_OPTIONS=
@@ -6799,6 +6812,23 @@ if test "$supported_os" = "no"; then
echo "us upstream at qemu-devel@nongnu.org."
fi
+if test "$in_srcdir" = "yes"; then
+ echo
+ echo "WARNING: SUPPORT FOR IN SOURCE DIR BUILDS IS DEPRECATED"
+ echo
+ echo "Support for running the 'configure' script directly from the"
+ echo "source directory is deprecated and will go away in a future"
+ echo "release. In source dir builds are not covered by automated"
+ echo "testing and are liable to break without warning. Users are"
+ echo "strongly recommended to switch to a separate build directory:"
+ echo
+ echo " $ mkdir build"
+ echo " $ cd build"
+ echo " $ ../configure"
+ echo " $ make"
+ echo
+fi
I'd move it at the very end of the file, to be the last thing displayed.
You can't see it from the diff, but immediately before here are a bunch
of other big warnings for users, so I figured it was a good idea to keep
them all together.
IMO we should move them to the end too.
I'm getting this output:
$ ./configure
[...]
plugin support no
fuzzing support no
gdb /usr/bin/gdb
WARNING: SUPPORT FOR IN SOURCE DIR BUILDS IS DEPRECATED
Support for running the 'configure' script directly from the
source directory is deprecated and will go away in a future
release. In source dir builds are not covered by automated
testing and are liable to break without warning. Users are
strongly recommended to switch to a separate build directory:
$ mkdir build
$ cd build
$ ../configure
$ make
cross containers docker
NOTE: guest cross-compilers enabled: cc cc
$
We might also move the cross-x messages earlier.
Anyway all my comments can be postponed to 5.1, so if other agree with
your patch, let's KISS for 5.1-rc1.
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com>
+
config_host_mak="config-host.mak"
echo "# Automatically generated by configure - do not modify"
>config-all-disas.mak
Regards,
Daniel