[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] configure: warn if not using a separate build directory
From: |
Eric Blake |
Subject: |
Re: [PATCH v2] configure: warn if not using a separate build directory |
Date: |
Tue, 31 Mar 2020 11:05:06 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 3/31/20 10:51 AM, 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é <address@hidden>
---
Changed in v2:
- Use existing $source_path variable (Eric)
Phillipe, actually - but this line isn't permanent.
- Remove bash-ism in comparison (Eric)
- Safe quoting of directory paths (Eric)
- Rename variables to reflect that we're applying canonicalization (Eric)
configure | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/configure b/configure
index e225a1e3ff..5991e0e6e5 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
This part is good.
+
+
# default parameters
cpu=""
iasl="iasl"
@@ -6799,6 +6809,23 @@ if test "$supported_os" = "no"; then
echo "us upstream at address@hidden."
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:"
Per Kevin's response, we may want to tweak this wording slightly; maybe:
Support for running the 'configure' script directly from the source
directory is deprecated. In-tree builds are not covered by automated
testing and are liable to break without warning. Future releases may
change the default location of built executables for an in-tree build,
or drop in-tree build support altogether. Users are strongly
recommended to switch to a separate build directory:
+ 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
Whether we keep your wording or switch to somthing based on mine,
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org