Patchwork [v3,11/15] move "ln -sf" emulation to a function

login
register
mail settings
Submitter Paolo Bonzini
Date Dec. 23, 2010, 10:43 a.m.
Message ID <1293101042-13121-12-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/76497/
State New
Headers show

Comments

Paolo Bonzini - Dec. 23, 2010, 10:43 a.m.
"ln -sf" does not really do anything more than "ln -s" on Solaris.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)

Patch

diff --git a/configure b/configure
index 959bc97..a9c0219 100755
--- a/configure
+++ b/configure
@@ -32,6 +32,12 @@  compile_prog() {
   $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log 2>&1
 }
 
+# symbolically link $1 to $2.  Portable version of "ln -sf".
+symlink() {
+  rm -f $2
+  ln -s $1 $2
+}
+
 # check whether a command is available to this shell (may be either an
 # executable or a builtin)
 has() {
@@ -2773,8 +2779,7 @@  fi
 
 for d in libdis libdis-user; do
     mkdir -p $d
-    rm -f $d/Makefile
-    ln -s $source_path/Makefile.dis $d/Makefile
+    symlink $source_path/Makefile.dis $d/Makefile
     echo > $d/config.mak
 done
 if test "$static" = "no" -a "$user_pie" = "yes" ; then
@@ -2838,12 +2843,7 @@  mkdir -p $target_dir/ide
 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
   mkdir -p $target_dir/nwfpe
 fi
-
-#
-# don't use ln -sf as not all "ln -sf" over write the file/link
-#
-rm -f $target_dir/Makefile
-ln -s $source_path/Makefile.target $target_dir/Makefile
+symlink $source_path/Makefile.target $target_dir/Makefile
 
 
 echo "# Automatically generated by configure - do not modify" > $config_target_mak
@@ -3212,10 +3212,8 @@  if test "$source_path_used" = "yes" ; then
     for dir in $DIRS ; do
             mkdir -p $dir
     done
-    # remove the link and recreate it, as not all "ln -sf" overwrite the link
     for f in $FILES ; do
-        rm -f $f
-        ln -s $source_path/$f $f
+        symlink $source_path/$f $f
     done
 fi
 
@@ -3237,15 +3235,13 @@  for hwlib in 32 64; do
   d=libhw$hwlib
   mkdir -p $d
   mkdir -p $d/ide
-  rm -f $d/Makefile
-  ln -s $source_path/Makefile.hw $d/Makefile
+  symlink $source_path/Makefile.hw $d/Makefile
   echo "QEMU_CFLAGS+=-DTARGET_PHYS_ADDR_BITS=$hwlib" > $d/config.mak
 done
 
 d=libuser
 mkdir -p $d
-rm -f $d/Makefile
-ln -s $source_path/Makefile.user $d/Makefile
+symlink $source_path/Makefile.user $d/Makefile
 if test "$static" = "no" -a "$user_pie" = "yes" ; then
   echo "QEMU_CFLAGS+=-fpie" > $d/config.mak
 fi