openwrt/tools/libtool/patches/100-libdir-fixes.patch

68 lines
2.2 KiB
Diff
Raw Normal View History

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>.
(adjusted to v2.4.6)
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6049,8 +6049,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
@@ -6448,8 +6454,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
@@ -6604,7 +6608,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