libtool-2.4: Import the RPATH fixing libtool patch from yocto
authorKhem Raj <raj.khem@gmail.com>
Wed, 19 Jan 2011 20:41:04 +0000 (12:41 -0800)
committerKhem Raj <raj.khem@gmail.com>
Wed, 19 Jan 2011 20:42:02 +0000 (12:42 -0800)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
recipes/libtool/libtool-2.4/fix-final-rpath.patch [new file with mode: 0644]
recipes/libtool/libtool.inc

diff --git a/recipes/libtool/libtool-2.4/fix-final-rpath.patch b/recipes/libtool/libtool-2.4/fix-final-rpath.patch
new file mode 100644 (file)
index 0000000..402e2c6
--- /dev/null
@@ -0,0 +1,36 @@
+Enalbing 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@intel.com>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.4.orig/libltdl/config/ltmain.m4sh        2011-01-13 14:10:14.580025108 +0000
++++ libtool-2.4/libltdl/config/ltmain.m4sh     2011-01-13 15:10:18.540025113 +0000
+@@ -7246,9 +7246,11 @@
+         test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+         for libdir in $rpath; do
+           if test -n "$hardcode_libdir_flag_spec"; then
++                func_replace_sysroot "$libdir"
++                libdir=$func_replace_sysroot_result
++                func_stripname '=' '' "$libdir"
++                libdir=$func_stripname_result
+             if test -n "$hardcode_libdir_separator"; then
+-              func_replace_sysroot "$libdir"
+-              libdir=$func_replace_sysroot_result
+               if test -z "$hardcode_libdirs"; then
+                 hardcode_libdirs="$libdir"
+               else
+@@ -7981,6 +7983,10 @@
+       hardcode_libdirs=
+       for libdir in $compile_rpath $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
++        func_replace_sysroot "$libdir"
++        libdir=$func_replace_sysroot_result
++        func_stripname '=' '' "$libdir"
++        libdir=$func_stripname_result
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
index 1bbb4a6..17f3534 100644 (file)
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
 LICENSE = "GPLv2+"
 SECTION = "devel"
 
-INC_PR = "r27"
+INC_PR = "r28"
 
 FILESPATHPKG=. "libtool-${PV}:"
 
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
           file://rename-with-sysroot.patch \
           file://resolve-sysroot.patch \
           file://use-sysroot-in-libpath.patch \
+          file://fix-final-rpath.patch \
           "
 do_configure_prepend () {
        if ${@['true', 'false'][bb.data.inherits_class('native', d) or bb.data.inherits_class('sdk', d) or (bb.data.getVar('PN', d, 1) == 'libtool-cross')]}