summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Beckerus <hans.beckerus@gmail.com>2013-09-14 09:01:38 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-17 19:34:56 +0100
commitac191eb9644bea8ee7843b8e976a63617882e47f (patch)
tree4a9572f7a0ed0a04544fb9ec9ad80aa7cd72a386
parentda470776f95454ef0662cdc475e064eb70e19a1c (diff)
downloadpoky-ac191eb9644bea8ee7843b8e976a63617882e47f.tar.gz
libtool: fix resolve of lt_sysroot
This patch updates libtool.m4 (and its output) to resolve a problem with variable 'lt_sysroot' not being properly updated if the option '--with[-libtool]-sysroot' is not provided when running the 'configure' script for a package. According to the help text ouput from 'configure': --with-libtool-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysrooot if not specified). Due to mixed up cases in a switch statement, when checking if the option was specified or not, wrong actions were taken resulting in an incorrect sysroot and failures to properly locate e.g. .la files when using the populated SDK toolchain. For current upstream status see: http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html (From OE-Core rev: f5cf7e1a5c85fb320faa9cbeef24f491706b4c1d) Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/libtool/libtool-2.4.2.inc1
-rw-r--r--meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch41
2 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.2.inc b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
index bb4ddf0084..92e49499dd 100644
--- a/meta/recipes-devtools/libtool/libtool-2.4.2.inc
+++ b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
20 file://respect-fstack-protector.patch \ 20 file://respect-fstack-protector.patch \
21 file://norm-rpath.patch \ 21 file://norm-rpath.patch \
22 file://dont-depend-on-help2man.patch \ 22 file://dont-depend-on-help2man.patch \
23 file://fix-resolve-lt-sysroot.patch \
23 " 24 "
24 25
25SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50" 26SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
diff --git a/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch b/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
new file mode 100644
index 0000000000..44e9fe17ae
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
@@ -0,0 +1,41 @@
1Upstream-Status: Pending
2
3This patch updates libtool.m4 (and its output) to resolve a problem
4with variable 'lt_sysroot' not being properly updated if the option
5'--with[-libtool]-sysroot' is not provided when running the 'configure'
6script for a package.
7
8I have also reported the problem to libtool here
9
10http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html
11
12Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
13---
14diff -ur libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4
15--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-09-13 22:37:43.647282945 +0200
16+++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-09-14 10:27:37.168178605 +0200
17@@ -1234,16 +1234,21 @@
18 dnl in case the user passed a directory name.
19 lt_sysroot=
20 case ${with_libtool_sysroot} in #(
21- yes)
22+ no)
23 if test "$GCC" = yes; then
24 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
25+ # Treat "/" the same a an unset sysroot. It seems to be more
26+ # compatible across host platforms that way!?
27+ if test "$lt_sysroot" = /; then
28+ lt_sysroot=
29+ fi
30 fi
31 ;; #(
32+ yes|''|/)
33+ ;; #(
34 /*)
35 lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
36 ;; #(
37- no|'')
38- ;; #(
39 *)
40 AC_MSG_RESULT([${with_libtool_sysroot}])
41 AC_MSG_ERROR([The sysroot must be an absolute path.])