summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2011-01-11 23:20:02 -0800
committerSaul Wold <sgw@linux.intel.com>2011-01-21 01:36:14 -0800
commitded899b5804c7ceb108e9476d1164f7da0adfb34 (patch)
tree86df8a26a32558e36fc2a622b076dd9634e7d4a6 /meta/recipes-devtools
parent62dc23953d87babc69a7fbf4b0bd61d093577167 (diff)
downloadpoky-ded899b5804c7ceb108e9476d1164f7da0adfb34.tar.gz
libtool: fix library RPATHs
Enabling sysroot support exposed a bug where the final library had an RPATH encoded into it which still pointed to the sysroot. This works around the issue until it gets sorted out upstream. Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/libtool/libtool.inc3
-rw-r--r--meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch36
2 files changed, 38 insertions, 1 deletions
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc
index bccb7698b4..8701c820d2 100644
--- a/meta/recipes-devtools/libtool/libtool.inc
+++ b/meta/recipes-devtools/libtool/libtool.inc
@@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
13 file://prefix-manpage-fix.patch \ 13 file://prefix-manpage-fix.patch \
14 file://rename-with-sysroot.patch \ 14 file://rename-with-sysroot.patch \
15 file://resolve-sysroot.patch \ 15 file://resolve-sysroot.patch \
16 file://use-sysroot-in-libpath.patch" 16 file://use-sysroot-in-libpath.patch \
17 file://fix-final-rpath.patch"
17 18
18do_compile_prepend () { 19do_compile_prepend () {
19 # Sometimes this file doesn't get rebuilt, force the issue 20 # Sometimes this file doesn't get rebuilt, force the issue
diff --git a/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch
new file mode 100644
index 0000000000..402e2c6b51
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch
@@ -0,0 +1,36 @@
1Enalbing sysroot support exposed a bug where the final library
2had an RPATH encoded into it which still pointed to the sysroot.
3This works around the issue until it gets sorted out upstream.
4
5Fix suggested by Richard Purdie <richard.purdie@intel.com>
6Signed-off-by: Scott Garman <scott.a.garman@intel.com>
7
8Index: libtool-2.4/libltdl/config/ltmain.m4sh
9===================================================================
10--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-01-13 14:10:14.580025108 +0000
11+++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-01-13 15:10:18.540025113 +0000
12@@ -7246,9 +7246,11 @@
13 test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
14 for libdir in $rpath; do
15 if test -n "$hardcode_libdir_flag_spec"; then
16+ func_replace_sysroot "$libdir"
17+ libdir=$func_replace_sysroot_result
18+ func_stripname '=' '' "$libdir"
19+ libdir=$func_stripname_result
20 if test -n "$hardcode_libdir_separator"; then
21- func_replace_sysroot "$libdir"
22- libdir=$func_replace_sysroot_result
23 if test -z "$hardcode_libdirs"; then
24 hardcode_libdirs="$libdir"
25 else
26@@ -7981,6 +7983,10 @@
27 hardcode_libdirs=
28 for libdir in $compile_rpath $finalize_rpath; do
29 if test -n "$hardcode_libdir_flag_spec"; then
30+ func_replace_sysroot "$libdir"
31+ libdir=$func_replace_sysroot_result
32+ func_stripname '=' '' "$libdir"
33+ libdir=$func_stripname_result
34 if test -n "$hardcode_libdir_separator"; then
35 if test -z "$hardcode_libdirs"; then
36 hardcode_libdirs="$libdir"