Root/tools/libtool/files/libtool-v2.4.patch

1--- a/ltmain.sh
2+++ b/ltmain.sh
3@@ -443,7 +443,7 @@ opt_warning=:
4 # name if it has been set yet.
5 func_echo ()
6 {
7- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
8+ $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }$*"
9 }
10 
11 # func_verbose arg...
12@@ -469,14 +469,14 @@ func_echo_all ()
13 # Echo program name prefixed message to standard error.
14 func_error ()
15 {
16- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
17+ $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
18 }
19 
20 # func_warning arg...
21 # Echo program name prefixed warning message to standard error.
22 func_warning ()
23 {
24- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
25+ $opt_warning && $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
26 
27     # bash bug again:
28     :
29@@ -1416,8 +1416,8 @@ func_infer_tag ()
30     # was found and let the user know that the "--tag" command
31     # line option must be used.
32     if test -z "$tagname"; then
33- func_echo "unable to infer tagged configuration"
34- func_fatal_error "specify a tag with \`--tag'"
35+ func_echo "defaulting to \`CC'"
36+ func_echo "if this is not correct, specify a tag with \`--tag'"
37 # else
38 # func_verbose "using $tagname tagged configuration"
39     fi
40@@ -2953,8 +2953,15 @@ func_mode_install ()
41     func_append dir "$objdir"
42 
43     if test -n "$relink_command"; then
44+ # Strip any trailing slash from the destination.
45+ func_stripname '' '/' "$libdir"
46+ s_libdir=$func_stripname_result
47+
48+ func_stripname '' '/' "$destdir"
49+ s_destdir=$func_stripname_result
50+
51       # Determine the prefix the user has applied to our future dir.
52- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
53+ inst_prefix_dir=`$ECHO "$s_destdir" | $SED -e "s%$s_libdir\$%%"`
54 
55       # Don't allow the user to place us outside of our expected
56       # location b/c this prevents finding dependent libraries that
57@@ -2962,8 +2969,11 @@ func_mode_install ()
58       # At present, this check doesn't affect windows .dll's that
59       # are installed into $libdir/../bin (currently, that works fine)
60       # but it's something to keep an eye on.
61- test "$inst_prefix_dir" = "$destdir" && \
62- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
63+ #
64+ # This breaks install into our staging area. -PB
65+ #
66+ # test "$inst_prefix_dir" = "$destdir" && \
67+ # func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
68 
69       if test -n "$inst_prefix_dir"; then
70         # Stick the inst_prefix_dir data into the link command.
71@@ -2972,6 +2982,9 @@ func_mode_install ()
72         relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
73       fi
74 
75+ relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"`
76+ relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"`
77+
78       func_warning "relinking \`$file'"
79       func_show_eval "$relink_command" \
80         'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
81@@ -6504,8 +6517,12 @@ func_mode_link ()
82         absdir="$abs_ladir"
83         libdir="$abs_ladir"
84       else
85- dir="$lt_sysroot$libdir"
86- absdir="$lt_sysroot$libdir"
87+ # Adding 'libdir' from the .la file to our library search paths
88+ # breaks crosscompilation horribly. We cheat here and don't add
89+ # it, instead adding the path where we found the .la. -CL
90+ dir="$lt_sysroot$abs_ladir"
91+ absdir="$abs_ladir"
92+ libdir="$abs_ladir"
93       fi
94       test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
95     else
96@@ -6683,7 +6700,7 @@ func_mode_link ()
97       *)
98         if test "$installed" = no; then
99           func_append notinst_deplibs " $lib"
100- need_relink=yes
101+ need_relink=no
102         fi
103         ;;
104       esac
105@@ -6887,7 +6904,6 @@ func_mode_link ()
106            test "$hardcode_direct_absolute" = no; then
107           add="$libdir/$linklib"
108         elif test "$hardcode_minus_L" = yes; then
109- add_dir="-L$libdir"
110           add="-l$name"
111         elif test "$hardcode_shlibpath_var" = yes; then
112           case :$finalize_shlibpath: in
113@@ -6903,8 +6919,6 @@ func_mode_link ()
114         add="$libdir/$linklib"
115           fi
116         else
117- # We cannot seem to hardcode it, guess we'll fake it.
118- add_dir="-L$libdir"
119           # Try looking first in the location we're being installed to.
120           if test -n "$inst_prefix_dir"; then
121         case $libdir in
122@@ -7059,7 +7073,17 @@ func_mode_link ()
123           fi
124           ;;
125         *)
126- path="-L$absdir/$objdir"
127+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
128+ # preferring $objdir. RP 31/04/2008
129+ if test -f "$absdir/$objdir/$depdepl" ; then
130+ depdepl="$absdir/$objdir/$depdepl"
131+ path="-L$absdir/$objdir"
132+ elif test -f "$absdir/$depdepl" ; then
133+ depdepl="$absdir/$depdepl"
134+ path="-L$absdir"
135+ else
136+ path="-L$absdir/$objdir"
137+ fi
138           ;;
139         esac
140         else
141@@ -8050,7 +8074,7 @@ EOF
142         elif test -n "$runpath_var"; then
143           case "$perm_rpath " in
144           *" $libdir "*) ;;
145- *) func_apped perm_rpath " $libdir" ;;
146+ *) func_append perm_rpath " $libdir" ;;
147           esac
148         fi
149       done
150@@ -9257,6 +9281,10 @@ EOF
151         # Replace all uninstalled libtool libraries with the installed ones
152         newdependency_libs=
153         for deplib in $dependency_libs; do
154+ # Replacing uninstalled with installed can easily break crosscompilation,
155+ # since the installed path is generally the wrong architecture. -CL
156+ newdependency_libs="$newdependency_libs $deplib"
157+ continue
158           case $deplib in
159           *.la)
160         func_basename "$deplib"
161

Archive Download this file



interactive