]> git.pld-linux.org Git - packages/crossppc-binutils.git/commitdiff
- added libtool-relink patch to correctly link libopcodes with libbfd
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 1 Jun 2003 10:51:53 +0000 (10:51 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-libtool-relink.patch -> 1.1

binutils-libtool-relink.patch [new file with mode: 0644]

diff --git a/binutils-libtool-relink.patch b/binutils-libtool-relink.patch
new file mode 100644 (file)
index 0000000..db4152b
--- /dev/null
@@ -0,0 +1,128 @@
+--- binutils-2.14.90.0.4/ltmain.sh.orig        2002-03-22 23:06:16.000000000 +0100
++++ binutils-2.14.90.0.4/ltmain.sh     2003-06-01 10:44:39.000000000 +0200
+@@ -829,6 +829,7 @@
+     linker_flags=
+     dllsearchpath=
+     lib_search_path=`pwd`
++    inst_prefix_dir=
+     avoid_version=no
+     dlfiles=
+@@ -961,6 +962,11 @@
+         prev=
+         continue
+         ;;
++      inst_prefix)
++        inst_prefix_dir="$arg"
++        prev=
++        continue
++        ;;
+       release)
+         release="-$arg"
+         prev=
+@@ -1169,6 +1175,11 @@
+       continue
+       ;;
++      -inst-prefix-dir)
++      prev=inst_prefix
++      continue
++      ;;
++
+       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+       # so, if we see these flags be careful not to treat them like -L
+       -L[A-Z][A-Z]*:*)
+@@ -2135,6 +2146,14 @@
+               add="$dir/$linklib"
+             elif test "$hardcode_minus_L" = yes; then
+               add_dir="-L$dir"
++              # Try looking first in the location we're being installed to.
++              if test -n "$inst_prefix_dir"; then
++                case "$libdir" in
++                  [\\/]*)
++                    add_dir="-L$inst_prefix_dir$libdir $add_dir"
++                    ;;
++                esac
++              fi
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = yes; then
+               add_shlibpath="$dir"
+@@ -2176,6 +2195,7 @@
+         if test $linkmode = prog || test "$mode" = relink; then
+           add_shlibpath=
++          add_prefix_dir=
+           add_dir=
+           add=
+           # Finalize command for both is simple: just hardcode it.
+@@ -2193,13 +2213,33 @@
+           else
+             # We cannot seem to hardcode it, guess we'll fake it.
+             add_dir="-L$libdir"
++            # Try looking first in the location we're being installed to.
++            if test -n "$inst_prefix_dir"; then
++              case "$libdir" in
++                [\\/]*)
++                  add_dir="-L$inst_prefix_dir$libdir $add_dir"
++                  ;;
++              esac
++            fi
+             add="-l$name"
+           fi
++          if test -n "$inst_prefix_dir"; then
++            case "$libdir" in
++            [\\/]*)
++              add_prefix_dir="-L$inst_prefix_dir$libdir"
++              ;;
++            esac
++          fi
++
++          # add_prefix_dir must be appended instead, otherwise it can
++          # possibly be overrided by any hardcoded -L/... path in deplibs
+           if test $linkmode = prog; then
++            test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir"
+             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+           else
++            test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir"
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+           fi
+@@ -4312,7 +4352,7 @@
+       for tag in $taglist; do
+         tagopts="$tagopts --tag $tag"
+       done
+-      relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args)"
++      relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args @inst_prefix_dir@)"
+       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+       # Only create the output if not a dry run.
+@@ -4613,6 +4653,27 @@
+       dir="$dir$objdir"
+       if test -n "$relink_command"; then
++        # Determine the prefix the user has applied to our future dir.
++        inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"`
++
++        # Don't allow the user to place us outside of our expected
++        # location b/c this prevents finding dependent libraries that
++        # are installed to the same prefix.
++        # At present, this check doesn't affect windows .dll's that
++        # are installed into $libdir/../bin (currently, that works fine)
++        # but it's something to keep an eye on.
++        if test "$inst_prefix_dir" = "$destdir"; then
++          $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++          exit 1
++        fi
++
++        if test -n "$inst_prefix_dir"; then
++          # Stick the inst_prefix_dir data into the link command.
++          relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
++        else
++          relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"`
++        fi
++
+         $echo "$modename: warning: relinking \`$file'" 1>&2
+         $show "$relink_command"
+         if $run eval "$relink_command"; then :
This page took 0.054774 seconds and 4 git commands to generate.