qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] configure: Don't create symlinks to nonexist


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH v2] configure: Don't create symlinks to nonexistent targets
Date: Wed, 25 May 2011 19:49:38 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110307 Iceowl/1.0b1 Icedove/3.0.11

Am 25.05.2011 19:30, schrieb Peter Maydell:
When we create the symlinks to source tree files, don't create them
if the file is not actually present in the source tree; this will
happen if the file is in a git submodule that wasn't checked out.

This also avoids the odd effect where an in-source-tree configure
will end up creating the missing file as a symlink to itself.

Signed-off-by: Peter Maydell <address@hidden>
---
v2: Remove the debug printing. Oops.

configure | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index a318d37..a648f3d 100755
--- a/configure
+++ b/configure
@@ -3564,7 +3564,9 @@ for bios_file in $source_path/pc-bios/*.bin $source_path/pc-bios/*.rom $source_p
done
mkdir -p $DIRS
for f in $FILES ; do
- test -e $f || symlink $source_path/$f $f
+ if [ -e "$source_path/$f" -a ! -e "$f" ]; then
+ symlink "$source_path/$f" "$f"
+ fi
done

# temporary config to build submodules


Hi,

very good, those bad links which we get today are really annoying,
so for most developers this is an improvement.

Let me add some additional thoughts nevertheless.

* What happens if a git submodule is checked out after configure
  was done? Then the link is missing (until configure is called again).
  Maybe the links should be created from Makefile* instead from
  configure.

* On some restricted hosts which don't create symbolic links (w32),
  the copies which are created instead of links are not updated
  when the original file changes. This is not directly related to
  your change, but could be fixed, too, when the link creation is
  moved to Makefile*.

Cheers,
Stefan W.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]