summaryrefslogtreecommitdiffstats
path: root/tools/libtool/patches/100-libdir-fixes.patch
blob: 2a563901a5ffa22a97df1b1f3f81808270553446 (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
From 67ffe8e8582a7ba1f1d1307a419098e6dd88bdaf Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
Date: Tue, 20 Jul 2021 16:41:11 -0300
Subject: openwrt: cross-compilation path adjustments

Comments from the patch:

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

OE sets installed=no in staging. We need to look in $objdir and $absdir,
preferring $objdir. RP 31/04/2008

This was originally commited to openwrt by Jo-Philipp Wich
<jow@openwrt.org>.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>

--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6097,8 +6097,14 @@ 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"
+	    #dir=$lt_sysroot$libdir
+	    #absdir=$lt_sysroot$libdir
 	  fi
 	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
 	else
@@ -6496,8 +6502,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
@@ -6652,7 +6656,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