]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f"
authorBruno Haible <bruno@clisp.org>
Wed, 24 Aug 2005 15:57:32 +0000 (15:57 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Wed, 24 Aug 2005 15:57:32 +0000 (15:57 +0000)
and "rm -f && ln -s" to make a symlink for a shared library: the
former is needed for libraries `ln' depends on, the latter for
Solaris /bin/ln.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.

ChangeLog
libltdl/config/ltmain.m4sh

index d0289b6c30b00e323892b42a546c75d29cbceee1..3b9df6c51c1b81bc3b65892841397e0ec0aa0589 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-08-24  Bruno Haible  <bruno@clisp.org>
+
+       * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f"
+       and "rm -f && ln -s" to make a symlink for a shared library: the
+       former is needed for libraries `ln' depends on, the latter for
+       Solaris /bin/ln.
+       Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
+
+       * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec
+       failed.
+
 2005-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log.
index 3a2858f74ef73c6857047fea2c0bc0741fa67a9f..17fe229f8a90af05cec19f510c501082f9dae0b2 100644 (file)
@@ -1911,10 +1911,13 @@ func_mode_install ()
 
          if test "$#" -gt 0; then
            # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
            for linkname
            do
              test "$linkname" != "$realname" \
-               && func_show_eval "(cd $destdir && $RM $linkname && $LN_S $realname $linkname)"
+               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
            done
          fi