Le 26/05/2019 à 16:47, Antonio Ospite a écrit : > From: Antonio Ospite <antonio.osp...@collabora.com> > > 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 <ebl...@redhat.com> > Signed-off-by: Antonio Ospite <antonio.osp...@collabora.com> > --- > Makefile | 4 ++++ > configure | 5 +++++ > 2 files changed, 9 insertions(+) > > diff --git a/Makefile b/Makefile > index e02b88bcb1..bed1323a45 100644 > --- a/Makefile > +++ b/Makefile > @@ -1,5 +1,9 @@ > # Makefile for QEMU. > > +ifneq ($(words $(subst :, ,$(CURDIR))), 1) > + $(error main directory cannot contain spaces nor colons) > +endif > + > # Always point to the root of the build tree (needs GNU make). > BUILD_DIR=$(CURDIR) > > diff --git a/configure b/configure > index 9f12120ad9..2833d73ccc 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" >
Applied to my trivial-patches branch. Thanks, Laurent