From 4dd51e3c18889cf11123947e0c72d874e928c653 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 1 Jun 2003 10:51:53 +0000 Subject: [PATCH] - added libtool-relink patch to correctly link libopcodes with libbfd Changed files: binutils-libtool-relink.patch -> 1.1 --- binutils-libtool-relink.patch | 128 ++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 binutils-libtool-relink.patch diff --git a/binutils-libtool-relink.patch b/binutils-libtool-relink.patch new file mode 100644 index 0000000..db4152b --- /dev/null +++ b/binutils-libtool-relink.patch @@ -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 : -- 2.44.0