diff options
6 files changed, 69 insertions, 5 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb index 25ac580e4a..6d512b1962 100644 --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | require libtool-${PV}.inc | 1 | require libtool-${PV}.inc |
| 2 | 2 | ||
| 3 | PR = "r2" | 3 | PR = "r4" |
| 4 | PACKAGES = "" | 4 | PACKAGES = "" |
| 5 | SRC_URI += "file://prefix.patch" | 5 | SRC_URI += "file://prefix.patch" |
| 6 | 6 | ||
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.bb index 423622fa2e..3d0998e104 100644 --- a/meta/recipes-devtools/libtool/libtool-native_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool-native_2.4.bb | |||
| @@ -2,7 +2,7 @@ require libtool-${PV}.inc | |||
| 2 | 2 | ||
| 3 | DEPENDS = "" | 3 | DEPENDS = "" |
| 4 | 4 | ||
| 5 | PR = "r2" | 5 | PR = "r4" |
| 6 | SRC_URI += "file://prefix.patch" | 6 | SRC_URI += "file://prefix.patch" |
| 7 | 7 | ||
| 8 | inherit native | 8 | inherit native |
diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb index 4f67fed445..a96d1d1ac4 100644 --- a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | require libtool-${PV}.inc | 1 | require libtool-${PV}.inc |
| 2 | 2 | ||
| 3 | PR = "r2" | 3 | PR = "r4" |
| 4 | SRC_URI += "file://prefix.patch" | 4 | SRC_URI += "file://prefix.patch" |
| 5 | 5 | ||
| 6 | inherit nativesdk | 6 | inherit nativesdk |
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc index d423e4955b..ef9095be3e 100644 --- a/meta/recipes-devtools/libtool/libtool.inc +++ b/meta/recipes-devtools/libtool/libtool.inc | |||
| @@ -15,7 +15,8 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ | |||
| 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 | file://fix-final-rpath.patch \ |
| 18 | file://avoid_absolute_paths_for_general_utils.patch " | 18 | file://avoid_absolute_paths_for_general_utils.patch \ |
| 19 | file://fix-rpath.patch " | ||
| 19 | 20 | ||
| 20 | do_compile_prepend () { | 21 | do_compile_prepend () { |
| 21 | # Sometimes this file doesn't get rebuilt, force the issue | 22 | # Sometimes this file doesn't get rebuilt, force the issue |
diff --git a/meta/recipes-devtools/libtool/libtool/fix-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-rpath.patch new file mode 100644 index 0000000000..3cdeaecab4 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/fix-rpath.patch | |||
| @@ -0,0 +1,63 @@ | |||
| 1 | We don't want to add RPATHS which match default linker | ||
| 2 | search paths, they're a waste of space. This patch | ||
| 3 | filters libtools list and removes the ones we don't need. | ||
| 4 | |||
| 5 | RP 23/9/2011 | ||
| 6 | |||
| 7 | Upstream-status: Pending | ||
| 8 | |||
| 9 | Index: libtool-2.4/libltdl/config/ltmain.m4sh | ||
| 10 | =================================================================== | ||
| 11 | --- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-09-23 08:38:06.365043626 +0100 | ||
| 12 | +++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-09-23 09:57:05.235003068 +0100 | ||
| 13 | @@ -7264,8 +7264,14 @@ | ||
| 14 | esac | ||
| 15 | fi | ||
| 16 | else | ||
| 17 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 18 | - func_append dep_rpath " $flag" | ||
| 19 | + # We only want to hardcode in an rpath if it isn't in the | ||
| 20 | + # default dlsearch path. | ||
| 21 | + case " $sys_lib_dlsearch_path " in | ||
| 22 | + *" $libdir "*) ;; | ||
| 23 | + *) eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 24 | + func_append dep_rpath " $flag" | ||
| 25 | + ;; | ||
| 26 | + esac | ||
| 27 | fi | ||
| 28 | elif test -n "$runpath_var"; then | ||
| 29 | case "$perm_rpath " in | ||
| 30 | @@ -8001,8 +8007,14 @@ | ||
| 31 | esac | ||
| 32 | fi | ||
| 33 | else | ||
| 34 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 35 | - func_append rpath " $flag" | ||
| 36 | + # We only want to hardcode in an rpath if it isn't in the | ||
| 37 | + # default dlsearch path. | ||
| 38 | + case " $sys_lib_dlsearch_path " in | ||
| 39 | + *" $libdir "*) ;; | ||
| 40 | + *) eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 41 | + rpath+=" $flag" | ||
| 42 | + ;; | ||
| 43 | + esac | ||
| 44 | fi | ||
| 45 | elif test -n "$runpath_var"; then | ||
| 46 | case "$perm_rpath " in | ||
| 47 | @@ -8052,8 +8064,14 @@ | ||
| 48 | esac | ||
| 49 | fi | ||
| 50 | else | ||
| 51 | - eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 52 | - func_append rpath " $flag" | ||
| 53 | + # We only want to hardcode in an rpath if it isn't in the | ||
| 54 | + # default dlsearch path. | ||
| 55 | + case " $sys_lib_dlsearch_path " in | ||
| 56 | + *" $libdir "*) ;; | ||
| 57 | + *) eval flag=\"$hardcode_libdir_flag_spec\" | ||
| 58 | + func_append rpath " $flag" | ||
| 59 | + ;; | ||
| 60 | + esac | ||
| 61 | fi | ||
| 62 | elif test -n "$runpath_var"; then | ||
| 63 | case "$finalize_perm_rpath " in | ||
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.bb b/meta/recipes-devtools/libtool/libtool_2.4.bb index e1a9a10ffd..3002215256 100644 --- a/meta/recipes-devtools/libtool/libtool_2.4.bb +++ b/meta/recipes-devtools/libtool/libtool_2.4.bb | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | require libtool-${PV}.inc | 1 | require libtool-${PV}.inc |
| 2 | 2 | ||
| 3 | PR = "r2" | 3 | PR = "r4" |
| 4 | 4 | ||
| 5 | # | 5 | # |
| 6 | # We want the results of libtool-cross preserved - don't stage anything ourselves. | 6 | # We want the results of libtool-cross preserved - don't stage anything ourselves. |
