diff options
author | Hans Beckerus <hans.beckerus@gmail.com> | 2013-09-14 09:01:38 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-17 19:34:56 +0100 |
commit | ac191eb9644bea8ee7843b8e976a63617882e47f (patch) | |
tree | 4a9572f7a0ed0a04544fb9ec9ad80aa7cd72a386 /meta/recipes-devtools/libtool | |
parent | da470776f95454ef0662cdc475e064eb70e19a1c (diff) | |
download | poky-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>
Diffstat (limited to 'meta/recipes-devtools/libtool')
-rw-r--r-- | meta/recipes-devtools/libtool/libtool-2.4.2.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch | 41 |
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 | ||
25 | SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50" | 26 | SRC_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 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | This patch updates libtool.m4 (and its output) to resolve a problem | ||
4 | with variable 'lt_sysroot' not being properly updated if the option | ||
5 | '--with[-libtool]-sysroot' is not provided when running the 'configure' | ||
6 | script for a package. | ||
7 | |||
8 | I have also reported the problem to libtool here | ||
9 | |||
10 | http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html | ||
11 | |||
12 | Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com> | ||
13 | --- | ||
14 | diff -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.]) | ||