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