]> code.ossystems Code Review - openembedded-core.git/commitdiff
libtool: fix library RPATHs
authorScott Garman <scott.a.garman@intel.com>
Wed, 12 Jan 2011 07:20:02 +0000 (23:20 -0800)
committerSaul Wold <sgw@linux.intel.com>
Fri, 21 Jan 2011 09:36:14 +0000 (01:36 -0800)
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>
meta/recipes-devtools/libtool/libtool.inc
meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch [new file with mode: 0644]

index bccb7698b4513fe2be954661212172feed477db6..8701c820d2b5d679a7f8b82bfca77c8c73ea349d 100644 (file)
@@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
            file://prefix-manpage-fix.patch \
            file://rename-with-sysroot.patch \
            file://resolve-sysroot.patch \
-           file://use-sysroot-in-libpath.patch"
+           file://use-sysroot-in-libpath.patch \
+           file://fix-final-rpath.patch"
 
 do_compile_prepend () {
        # 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 (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"