summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorAntonio Ospite2019-05-26 16:47:47 +0200
committerLaurent Vivier2019-06-26 18:27:00 +0200
commit4ace32e22713ffd79deb221ae0134652c7c15428 (patch)
tree56c40c3273b5b08729f637cd57cf100e25bdbc63 /configure
parentconfigure: set source_path only once and make its definition more robust (diff)
downloadqemu-4ace32e22713ffd79deb221ae0134652c7c15428.tar.gz
qemu-4ace32e22713ffd79deb221ae0134652c7c15428.tar.xz
qemu-4ace32e22713ffd79deb221ae0134652c7c15428.zip
configure: disallow spaces and colons in source path and build path
The configure script breaks when the qemu source directory is in a path containing white spaces, in particular the list of targets is not correctly generated when calling "./configure --help" because of how the default_target_list variable is built. In addition to that, *building* qemu from a directory with spaces breaks some assumptions in the Makefiles, even if the original source path does not contain spaces like in the case of an out-of-tree build, or when symlinks are involved. To avoid these issues, refuse to run the configure script and the Makefile if there are spaces or colons in the source path or the build path, taking as inspiration what the kbuild system in linux does. Buglink: https://bugs.launchpad.net/qemu/+bug/1817345 Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com> Message-Id: <20190526144747.30019-3-ao2@ao2.it> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure5
1 files changed, 5 insertions, 0 deletions
diff --git a/configure b/configure
index b6962d1381..cf3d9d30bf 100755
--- a/configure
+++ b/configure
@@ -279,6 +279,11 @@ ld_has() {
# make source path absolute
source_path=$(cd "$(dirname -- "$0")"; pwd)
+if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
+then
+ error_exit "main directory cannot contain spaces nor colons"
+fi
+
# default parameters
cpu=""
iasl="iasl"