From: Scott Garman Date: Wed, 12 Jan 2011 07:20:02 +0000 (-0800) Subject: libtool: fix library RPATHs X-Git-Tag: 2011-1~2779 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=ded899b5804c7ceb108e9476d1164f7da0adfb34;p=openembedded-core.git 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 Signed-off-by: Scott Garman --- 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 \ 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 index 0000000000..402e2c6b51 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch @@ -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 +Signed-off-by: Scott Garman + +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"