summaryrefslogtreecommitdiffstats
path: root/meta/packages/libtool/libtool-2.2.2/libdir-la.patch
blob: a726cb2b8c416398404acbdfd4a3d8b178e4ff39 (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
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh	2008-04-02 01:20:54.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh	2008-04-13 22:32:15.000000000 +0100
@@ -4453,8 +4453,14 @@
 	    absdir="$abs_ladir"
 	    libdir="$abs_ladir"
 	  else
-	    dir="$libdir"
-	    absdir="$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="$abs_ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	    #dir="$libdir"
+	    #absdir="$libdir"
 	  fi
 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 	else
@@ -4973,10 +4979,22 @@
 		  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
+                  # This would break cross compiling if we didn't change to installed=no in 
+                  # staging. RP 31/04/2008
 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  test -z "$libdir" && \
 		    func_fatal_error "\`$deplib' is not a valid libtool archive"
@@ -7046,6 +7064,10 @@
 	    # 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"