[OE-core] [PATCH v5] libtool: fix resolve of lt_sysroot
Hans Beckerus
hans.beckerus at gmail.com
Sat Sep 14 08:34:24 UTC 2013
I will commit a new patch. I just discovered a minor flaw in it. In an attempt to handle
also the case that someone provides --with-libtool-sysroot ="/" the switch cases have
wrong precedence since "/*" hits before "/". Sorry for overlooking this.
Even if the chance of someone actually hitting this problem is slim, it think should be corrected.
Thanks.
Hans
On 2013-09-14 12:39, Hans Beckerus wrote:
> 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
>
> Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
> ---
> meta/recipes-devtools/libtool/libtool-2.4.2.inc | 1 +
> .../libtool/libtool/fix-resolve-lt-sysroot.patch | 40 ++++++++++++++++++++
> 2 files changed, 41 insertions(+)
> create mode 100644 meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
>
> diff --git a/meta/recipes-devtools/libtool/libtool-2.4.2.inc b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
> index bb4ddf0..92e4949 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 \
> file://respect-fstack-protector.patch \
> file://norm-rpath.patch \
> file://dont-depend-on-help2man.patch \
> + file://fix-resolve-lt-sysroot.patch \
> "
>
> 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 0000000..9f9f22e
> --- /dev/null
> +++ b/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
> @@ -0,0 +1,40 @@
> +
> +Upstream-Status: Pending
> +
> +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.
> +
> +I have also reported the problem to libtool here
> +
> +http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html
> +
> +Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
> +---
> +diff -ur libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4
> +--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-09-13 22:37:43.647282945 +0200
> ++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-09-13 22:40:07.535285985 +0200
> +@@ -1234,15 +1234,20 @@
> + dnl in case the user passed a directory name.
> + lt_sysroot=
> + case ${with_libtool_sysroot} in #(
> +- yes)
> ++ no)
> + if test "$GCC" = yes; then
> + lt_sysroot=`$CC --print-sysroot 2>/dev/null`
> ++ # Treat "/" the same a an unset sysroot. It seems to be more
> ++ # compatible across host platforms that way!?
> ++ if test "$lt_sysroot" = /; then
> ++ lt_sysroot=
> ++ fi
> + fi
> + ;; #(
> + /*)
> + lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
> + ;; #(
> +- no|'')
> ++ yes|''|/)
> + ;; #(
> + *)
> + AC_MSG_RESULT([${with_libtool_sysroot}])
More information about the Openembedded-core
mailing list