libtool: update 2.5.2 -> 2.5.4

2.5.2 was a beta, upstream made two stable releases since:
https://savannah.gnu.org/news/?id=10676
https://savannah.gnu.org/news/?id=10693

Drop libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
(merged upstream)

Apply the multilib patch unconditionally as it could be applied to add variants.

For the other it was pointed out that it:
"potentially has side effects for native builds. It breaks the ability
to run files in the .libs directory which in the cross case we don't
care about but some natives did once used to do that. The risk is they
find host things instead."

License-Update: change of FSF address to a URI

(From OE-Core rev: 9a672faf21648c60d7ff29439bb236f3ac87100d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2024-12-04 07:49:01 +01:00
committed by Richard Purdie
parent 53d0f5d43d
commit fca2c9b54e
15 changed files with 177 additions and 134 deletions

View File

@@ -1,36 +0,0 @@
SUMMARY = "Generic library support script"
DESCRIPTION = "This is GNU libtool, a generic library support script. \
Libtool hides the complexity of generating special library types \
(such as shared libraries) behind a consistent interface."
HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
SECTION = "devel"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://libltdl/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c "
SRC_URI = "https://alpha.gnu.org/gnu/libtool/libtool-${PV}.tar.gz \
file://0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch \
file://0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch \
file://0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch \
file://dont-depend-on-help2man.patch \
file://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \
file://0008-libtool-Check-for-static-libs-for-internal-compiler-.patch \
file://nohardcodepaths.patch \
"
SRC_URI[sha256sum] = "29275fb45b236d6ff720a433f9cd5f61ea2f52cc3aa2e5f89ba57726bda54793"
inherit autotools texinfo
EXTRA_AUTORECONF = "--exclude=libtoolize"
CACHED_CONFIGUREVARS += "ac_cv_path_GREP=grep"
DEPENDS = "libtool-native"
PACKAGES =+ "libltdl"
FILES:${PN} += "${datadir}/aclocal"
FILES:${PN}-dev:remove = "${datadir}/aclocal"
FILES:libltdl = "${libdir}/libltdl${SOLIBS}"
export CONFIG_SHELL="/bin/bash"

View File

@@ -0,0 +1,36 @@
SUMMARY = "Generic library support script"
DESCRIPTION = "This is GNU libtool, a generic library support script. \
Libtool hides the complexity of generating special library types \
(such as shared libraries) behind a consistent interface."
HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
SECTION = "devel"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=570a9b3749dd0463a1778803b12a6dce \
file://libltdl/COPYING.LIB;md5=4bf661c1e3793e55c8d1051bc5e0ae21 "
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://0001-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch \
file://0002-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch \
file://0003-libtool-remove-help2man-dependency.patch \
file://0004-libtool.m4-Change-libtool-to-handle-sysroots-by-defa.patch \
file://0005-libtool-Check-for-static-libs-for-internal-compiler-.patch \
file://0006-libtool-Fix-tools-path-issues.patch \
file://0007-libtool-Fix-problem-with-libtoolize-in-multilib.patch \
"
SRC_URI[sha256sum] = "da8ebb2ce4dcf46b90098daf962cffa68f4b4f62ea60f798d0ef12929ede6adf"
inherit autotools texinfo
EXTRA_AUTORECONF = "--exclude=libtoolize"
CACHED_CONFIGUREVARS += "ac_cv_path_GREP=grep"
DEPENDS = "libtool-native"
PACKAGES =+ "libltdl"
FILES:${PN} += "${datadir}/aclocal"
FILES:${PN}-dev:remove = "${datadir}/aclocal"
FILES:libltdl = "${libdir}/libltdl${SOLIBS}"
export CONFIG_SHELL="/bin/bash"

View File

@@ -1,7 +1,7 @@
require libtool-${PV}.inc require libtool-${PV}.inc
PACKAGES = "" PACKAGES = ""
SRC_URI += "file://fixinstall.patch" SRC_URI += "file://0008-libtool-Avoid-relinking-when-cross-compiling-its-poi.patch"
datadir = "${STAGING_DIR_TARGET}${target_datadir}" datadir = "${STAGING_DIR_TARGET}${target_datadir}"

View File

@@ -1,36 +0,0 @@
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 01/12] ltmain.in: Handle trailing slashes on install commands correctly
A command like:
libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/image/usr/lib/gnome-keyring/standalone/'
where the path ends with a trailing slash currently fails. This occurs in
software like gnome-keyring or pulseaudio and is because the comparision
code doesn't see the paths as equal. Strip both paths to ensure this works
reliably.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00010.html]
Index: libtool-2.5.0/build-aux/ltmain.in
===================================================================
--- libtool-2.5.0.orig/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in
@@ -2382,8 +2382,14 @@ func_mode_install ()
func_append dir "$objdir"
if test -n "$relink_command"; then
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$libdir"
+ destlibdir=$func_stripname_result
+ func_stripname '' '/' "$destdir"
+ s_destdir=$func_stripname_result
+
# Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that

View File

@@ -1,5 +1,7 @@
From 16354097285634daf0240d428bc49fba95c3a291 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org> From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 04/12] ltmain.sh: Fix sysroot paths being encoded into RPATHs Date: Tue, 26 Nov 2024 09:57:35 +0000
Subject: [PATCH 1/7] ltmain.sh: Fix sysroot paths being encoded into RPATHs
There is a bug where RPATHs could end up containing sysroot values when There is a bug where RPATHs could end up containing sysroot values when
cross compiling which is obviously incorrect. Strip out sysroot components cross compiling which is obviously incorrect. Strip out sysroot components
@@ -8,12 +10,15 @@ from libdir when building RPATH values to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html] Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html]
---
build-aux/ltmain.in | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
Index: libtool-2.5.0/build-aux/ltmain.in diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
=================================================================== index fa157775..c31faebd 100644
--- libtool-2.5.0.orig/build-aux/ltmain.in --- a/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in +++ b/build-aux/ltmain.in
@@ -7584,9 +7584,11 @@ func_mode_link () @@ -7764,9 +7764,11 @@ func_mode_link ()
test relink = "$opt_mode" || rpath=$compile_rpath$rpath test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_flag_spec"; then
@@ -27,7 +32,7 @@ Index: libtool-2.5.0/build-aux/ltmain.in
if test -z "$hardcode_libdirs"; then if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir hardcode_libdirs=$libdir
else else
@@ -8316,6 +8318,10 @@ func_mode_link () @@ -8496,6 +8498,10 @@ func_mode_link ()
hardcode_libdirs= hardcode_libdirs=
for libdir in $compile_rpath $finalize_rpath; do for libdir in $compile_rpath $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_flag_spec"; then
@@ -38,7 +43,7 @@ Index: libtool-2.5.0/build-aux/ltmain.in
if test -n "$hardcode_libdir_separator"; then if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir hardcode_libdirs=$libdir
@@ -8367,6 +8373,10 @@ func_mode_link () @@ -8547,6 +8553,10 @@ func_mode_link ()
hardcode_libdirs= hardcode_libdirs=
for libdir in $finalize_rpath; do for libdir in $finalize_rpath; do
if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_flag_spec"; then
@@ -49,3 +54,6 @@ Index: libtool-2.5.0/build-aux/ltmain.in
if test -n "$hardcode_libdir_separator"; then if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then if test -z "$hardcode_libdirs"; then
hardcode_libdirs=$libdir hardcode_libdirs=$libdir
--
2.39.5

View File

@@ -1,5 +1,8 @@
From 59b6032698d10306ffb3be3cbf76690409d7f9a6 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org> From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths Date: Tue, 26 Nov 2024 09:57:36 +0000
Subject: [PATCH 2/7] ltmain.in: Don't encode RATHS which match default linker
paths
We don't want to add RPATHS which match default linker search paths, they're We don't want to add RPATHS which match default linker search paths, they're
a waste of space. This patch filters libtools list of paths to encoode and a waste of space. This patch filters libtools list of paths to encoode and
@@ -11,12 +14,15 @@ the paths before comparision.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html] Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
---
build-aux/ltmain.in | 34 ++++++++++++++++++++++++++++------
1 file changed, 28 insertions(+), 6 deletions(-)
Index: libtool-2.5.0/build-aux/ltmain.in diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
=================================================================== index c31faebd..44c7d81e 100644
--- libtool-2.5.0.orig/build-aux/ltmain.in --- a/build-aux/ltmain.in
+++ libtool-2.5.0/build-aux/ltmain.in +++ b/build-aux/ltmain.in
@@ -7602,8 +7602,16 @@ func_mode_link () @@ -7782,8 +7782,16 @@ func_mode_link ()
esac esac
fi fi
else else
@@ -35,7 +41,7 @@ Index: libtool-2.5.0/build-aux/ltmain.in
fi fi
elif test -n "$runpath_var"; then elif test -n "$runpath_var"; then
case "$perm_rpath " in case "$perm_rpath " in
@@ -8336,8 +8344,16 @@ func_mode_link () @@ -8516,8 +8524,16 @@ func_mode_link ()
esac esac
fi fi
else else
@@ -54,7 +60,7 @@ Index: libtool-2.5.0/build-aux/ltmain.in
fi fi
elif test -n "$runpath_var"; then elif test -n "$runpath_var"; then
case "$perm_rpath " in case "$perm_rpath " in
@@ -8391,8 +8407,14 @@ func_mode_link () @@ -8571,8 +8587,14 @@ func_mode_link ()
esac esac
fi fi
else else
@@ -71,3 +77,6 @@ Index: libtool-2.5.0/build-aux/ltmain.in
fi fi
elif test -n "$runpath_var"; then elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in case "$finalize_perm_rpath " in
--
2.39.5

View File

@@ -1,13 +1,21 @@
From e3e8422333239c47ad613e2f41ee04244556d3be Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Mon, 7 Jan 2013 01:49:28 +0200
Subject: [PATCH 3/7] libtool: remove help2man dependency
Upstream-Status: Inappropriate Upstream-Status: Inappropriate
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Updated by: Robert Yang <liezhi.yang@windriver.com> Updated by: Robert Yang <liezhi.yang@windriver.com>
---
Makefile.am | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/Makefile.am b/Makefile.am diff --git a/Makefile.am b/Makefile.am
index 7bd7f72..c29860e 100644 index 51c1fbdb..4962c3ad 100644
--- a/Makefile.am --- a/Makefile.am
+++ b/Makefile.am +++ b/Makefile.am
@@ -411,21 +411,6 @@ $(notes_txt): $(notes_texi) @@ -408,23 +408,6 @@ $(notes_txt): $(notes_texi)
$(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \
$(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)'
@@ -22,10 +30,15 @@ index 7bd7f72..c29860e 100644
-# manual pages if the sources for the build-tree files we want to -# manual pages if the sources for the build-tree files we want to
-# run have changed. -# run have changed.
-$(libtool_1): $(ltmain_sh) -$(libtool_1): $(ltmain_sh)
- $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool - $(AM_V_GEN)$(update_mans) -n 'Provide generalized library-building support services' --help-option=--help-all libtool
-$(libtoolize_1): $(libtoolize_in) -$(libtoolize_1): $(libtoolize_in)
- $(AM_V_GEN)$(update_mans) libtoolize - $(AM_V_GEN)$(update_mans) -n 'Prepare a package to use libtool' libtoolize
-
-
- -
## ------------- ## ## ------------- ##
## Installation. ## ## Installation. ##
## ------------- ##
--
2.39.5

View File

@@ -1,20 +1,22 @@
libtool.m4: Change libtool to handle sysroots by default From 3bb376ff4832e2bd1aaee5530b4b926e3f7407c0 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Sat, 14 Sep 2013 09:01:38 +0000
Subject: [PATCH 4/7] libtool.m4: Change libtool to handle sysroots by default
Rather than using no sysroot by default, always query gcc to obtain the sysroot. Rather than using no sysroot by default, always query gcc to obtain the sysroot.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Inappropriate [Upstream are unlikely to accept this change of default] Upstream-Status: Inappropriate [Upstream are unlikely to accept this change of default]
--- ---
m4/libtool.m4 | 6 +++--- m4/libtool.m4 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
Index: libtool-2.5.0/m4/libtool.m4 diff --git a/m4/libtool.m4 b/m4/libtool.m4
=================================================================== index 8d323b3e..3650c87c 100644
--- libtool-2.5.0.orig/m4/libtool.m4 --- a/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4 +++ b/m4/libtool.m4
@@ -1253,18 +1253,18 @@ dnl lt_sysroot will always be passed unq @@ -1288,18 +1288,18 @@ dnl lt_sysroot will always be passed unquoted. We quote it here
dnl in case the user passed a directory name. dnl in case the user passed a directory name.
lt_sysroot= lt_sysroot=
case $with_sysroot in #( case $with_sysroot in #(
@@ -36,3 +38,6 @@ Index: libtool-2.5.0/m4/libtool.m4
*) *)
AC_MSG_RESULT([$with_sysroot]) AC_MSG_RESULT([$with_sysroot])
AC_MSG_ERROR([The sysroot must be an absolute path.]) AC_MSG_ERROR([The sysroot must be an absolute path.])
--
2.39.5

View File

@@ -1,5 +1,8 @@
From 9f16cd0624641e489665415150792d9054af8a7a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com> From: Khem Raj <raj.khem@gmail.com>
Subject: [PATCH 08/12] libtool: Check for static libs for internal compiler libraries Date: Tue, 26 Nov 2024 09:57:39 +0000
Subject: [PATCH 5/7] libtool: Check for static libs for internal compiler
libraries
Libtool checks only for libraries linked as -l* when trying to Libtool checks only for libraries linked as -l* when trying to
find internal compiler libraries. Clang, however uses the absolute find internal compiler libraries. Clang, however uses the absolute
@@ -14,12 +17,15 @@ https://crbug.com/749263
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html] Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html]
---
m4/libtool.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libtool-2.5.0/m4/libtool.m4 diff --git a/m4/libtool.m4 b/m4/libtool.m4
=================================================================== index 3650c87c..51493a10 100644
--- libtool-2.5.0.orig/m4/libtool.m4 --- a/m4/libtool.m4
+++ libtool-2.5.0/m4/libtool.m4 +++ b/m4/libtool.m4
@@ -7553,7 +7553,7 @@ if AC_TRY_EVAL(ac_compile); then @@ -7708,7 +7708,7 @@ if AC_TRY_EVAL(ac_compile); then
for p in `eval "$output_verbose_link_cmd"`; do for p in `eval "$output_verbose_link_cmd"`; do
case $prev$p in case $prev$p in
@@ -28,3 +34,6 @@ Index: libtool-2.5.0/m4/libtool.m4
# Some compilers place space between "-{L,R,l}" and the path. # Some compilers place space between "-{L,R,l}" and the path.
# Remove the space. # Remove the space.
if test x-L = x"$p" || if test x-L = x"$p" ||
--
2.39.5

View File

@@ -1,3 +1,8 @@
From c04839effba0538c982422275c5cda5947aa0e85 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue, 3 Feb 2015 14:24:58 +0000
Subject: [PATCH 6/7] libtool: Fix tools path issues
If for example you build on a machine with /bin/grep, then restore that sstate If for example you build on a machine with /bin/grep, then restore that sstate
onto a machine with /usr/bin/grep, things will fail. Simply don't bother onto a machine with /usr/bin/grep, things will fail. Simply don't bother
hardcoding paths. hardcoding paths.
@@ -5,11 +10,14 @@ hardcoding paths.
RP 2015/2/3 RP 2015/2/3
Upstream-Status: Inappropriate Upstream-Status: Inappropriate
---
libtoolize.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: libtool-2.4.5/libtoolize.in diff --git a/libtoolize.in b/libtoolize.in
=================================================================== index 6c15aa57..8beb670e 100644
--- libtool-2.4.5.orig/libtoolize.in --- a/libtoolize.in
+++ libtool-2.4.5/libtoolize.in +++ b/libtoolize.in
@@ -40,11 +40,11 @@ @@ -40,11 +40,11 @@
: ${AUTOCONF="autoconf"} : ${AUTOCONF="autoconf"}
@@ -27,3 +35,6 @@ Index: libtool-2.4.5/libtoolize.in
## -------------------------- ## ## -------------------------- ##
--
2.39.5

View File

@@ -1,3 +1,8 @@
From 083cf39140cd894ea306b67411d6088c13a9e286 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Mon, 30 Jul 2018 17:00:01 +0000
Subject: [PATCH 7/7] libtool: Fix problem with libtoolize in multilib
Without this patch /usr/bin/libtoolize is different for each multilib Without this patch /usr/bin/libtoolize is different for each multilib
since their host-triplets are different, despite there being no difference in since their host-triplets are different, despite there being no difference in
the functionality of libtoolize itself. the functionality of libtoolize itself.
@@ -7,17 +12,23 @@ libXX-libtool couldn't be installed into the same system.
Upstream-Status: Inappropriate Upstream-Status: Inappropriate
RP 2018/7/30 RP 2018/7/30
---
libtoolize.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libtool-2.4.6/libtoolize.in diff --git a/libtoolize.in b/libtoolize.in
=================================================================== index 8beb670e..c89a093c 100644
--- libtool-2.4.6.orig/libtoolize.in --- a/libtoolize.in
+++ libtool-2.4.6/libtoolize.in +++ b/libtoolize.in
@@ -113,7 +113,7 @@ You must 'cd' to the top directory of yo @@ -139,7 +139,7 @@ You must 'cd' to the top directory of your package before you run
When reporting a bug, please describe a test case to reproduce it and When reporting a bug, please describe a test case to reproduce it and
include the following information: include the following information:
- host-triplet: @host_triplet@ - host-triplet: @host_triplet@
+ host-triplet <redacted> + host-triplet <redacted>
version: $progname (GNU @PACKAGE@) @VERSION@ version: $progname $scriptversion
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
--
2.39.5

View File

@@ -1,3 +1,8 @@
From 78eac8c99451681f4c403b3ea727ee61651a3c1a Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 16 Nov 2011 16:58:34 +0000
Subject: [PATCH] libtool: Avoid relinking when cross compiling, its pointless
There is no point in having "executable" binaries in the .libs There is no point in having "executable" binaries in the .libs
directory linked with different rpaths to the target which directory linked with different rpaths to the target which
could concivably be run on the build system when cross compiling. could concivably be run on the build system when cross compiling.
@@ -17,12 +22,15 @@ Upstream-Status: Inappropriate [upstream are unlikely to take a patch like this]
RP 2011/11/16 RP 2011/11/16
Updated by: Robert Yang <liezhi.yang@windriver.com> Updated by: Robert Yang <liezhi.yang@windriver.com>
---
build-aux/ltmain.in | 56 ++++++++++++++++++++++-----------------------
1 file changed, 28 insertions(+), 28 deletions(-)
Index: libtool-2.5.2/build-aux/ltmain.in diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
=================================================================== index fa157775..816ea5a0 100644
--- libtool-2.5.2.orig/build-aux/ltmain.in --- a/build-aux/ltmain.in
+++ libtool-2.5.2/build-aux/ltmain.in +++ b/build-aux/ltmain.in
@@ -2381,7 +2381,7 @@ func_mode_install () @@ -2513,7 +2513,7 @@ func_mode_install ()
dir=$func_dirname_result dir=$func_dirname_result
func_append dir "$objdir" func_append dir "$objdir"
@@ -31,7 +39,7 @@ Index: libtool-2.5.2/build-aux/ltmain.in
# Strip any trailing slash from the destination. # Strip any trailing slash from the destination.
func_stripname '' '/' "$libdir" func_stripname '' '/' "$libdir"
destlibdir=$func_stripname_result destlibdir=$func_stripname_result
@@ -2419,7 +2419,7 @@ func_mode_install () @@ -2552,7 +2552,7 @@ func_mode_install ()
shift shift
srcname=$realname srcname=$realname
@@ -40,17 +48,18 @@ Index: libtool-2.5.2/build-aux/ltmain.in
# Install the shared library and build the symlinks. # Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
@@ -6276,17 +6276,17 @@ func_mode_link () @@ -6411,18 +6411,18 @@ func_mode_link ()
# Hardcode the library path. # Hardcode the library path.
# Skip directories that are in the system default run-time # Skip directories that are in the system default run-time
# search path. # search path.
- case " $sys_lib_dlsearch_path " in - case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;; - *" $absdir "*) ;;
- *) - *)
- case "$compile_rpath " in - case "$compile_rpath$compile_rpath_tail " in
- *" $absdir "*) ;; - *" $absdir "*) ;;
- *) case $absdir in - *) case $absdir in
- "$progdir/"*) func_append compile_rpath " $absdir" ;; - "$progdir/"*) func_append compile_rpath " $absdir" ;;
- *) func_append compile_rpath_tail " $absdir" ;;
- esac - esac
- esac - esac
- ;; - ;;
@@ -58,10 +67,11 @@ Index: libtool-2.5.2/build-aux/ltmain.in
+ #case " $sys_lib_dlsearch_path " in + #case " $sys_lib_dlsearch_path " in
+ #*" $absdir "*) ;; + #*" $absdir "*) ;;
+ #*) + #*)
+ # case "$compile_rpath " in + # case "$compile_rpath$compile_rpath_tail " in
+ # *" $absdir "*) ;; + # *" $absdir "*) ;;
+ # *) case $absdir in + # *) case $absdir in
+ # "$progdir/"*) func_append compile_rpath " $absdir" ;; + # "$progdir/"*) func_append compile_rpath " $absdir" ;;
+ # *) func_append compile_rpath_tail " $absdir" ;;
+ # esac + # esac
+ # esac + # esac
+ # ;; + # ;;
@@ -69,17 +79,18 @@ Index: libtool-2.5.2/build-aux/ltmain.in
case " $sys_lib_dlsearch_path " in case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;; *" $libdir "*) ;;
*) *)
@@ -6352,17 +6352,17 @@ func_mode_link () @@ -6488,18 +6488,18 @@ func_mode_link ()
# Hardcode the library path. # Hardcode the library path.
# Skip directories that are in the system default run-time # Skip directories that are in the system default run-time
# search path. # search path.
- case " $sys_lib_dlsearch_path " in - case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;; - *" $absdir "*) ;;
- *) - *)
- case "$compile_rpath " in - case "$compile_rpath$compile_rpath_tail " in
- *" $absdir "*) ;; - *" $absdir "*) ;;
- *) case $absdir in - *) case $absdir in
- "$progdir/"*) func_append compile_rpath " $absdir" ;; - "$progdir/"*) func_append compile_rpath " $absdir" ;;
- *) func_append compile_rpath_tail " $absdir" ;;
- esac - esac
- esac - esac
- ;; - ;;
@@ -87,10 +98,11 @@ Index: libtool-2.5.2/build-aux/ltmain.in
+ #case " $sys_lib_dlsearch_path " in + #case " $sys_lib_dlsearch_path " in
+ #*" $absdir "*) ;; + #*" $absdir "*) ;;
+ #*) + #*)
+ # case "$compile_rpath " in + # case "$compile_rpath$compile_rpath_tail " in
+ # *" $absdir "*) ;; + # *" $absdir "*) ;;
+ # *) case $absdir in + # *) case $absdir in
+ # "$progdir/"*) func_append compile_rpath " $absdir" ;; + # "$progdir/"*) func_append compile_rpath " $absdir" ;;
+ # *) func_append compile_rpath_tail " $absdir" ;;
+ # esac + # esac
+ # esac + # esac
+ # ;; + # ;;
@@ -98,7 +110,7 @@ Index: libtool-2.5.2/build-aux/ltmain.in
case " $sys_lib_dlsearch_path " in case " $sys_lib_dlsearch_path " in
*" $libdir "*) ;; *" $libdir "*) ;;
*) *)
@@ -6705,8 +6705,8 @@ func_mode_link () @@ -6843,8 +6843,8 @@ func_mode_link ()
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \ test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive" func_fatal_error "'$deplib' is not a valid libtool archive"
@@ -109,3 +121,6 @@ Index: libtool-2.5.2/build-aux/ltmain.in
path=-L$absdir path=-L$absdir
fi fi
--
2.39.5

View File

@@ -1,8 +1,6 @@
require libtool-${PV}.inc require libtool-${PV}.inc
require remove-buildpaths.inc require remove-buildpaths.inc
SRC_URI += "file://multilib.patch"
RDEPENDS:${PN} += "bash" RDEPENDS:${PN} += "bash"
# #

View File

@@ -3,7 +3,7 @@ require remove-buildpaths.inc
FILESEXTRAPATHS =. "${FILE_DIRNAME}/libtool:" FILESEXTRAPATHS =. "${FILE_DIRNAME}/libtool:"
SRC_URI += "file://fixinstall.patch" SRC_URI += "file://0008-libtool-Avoid-relinking-when-cross-compiling-its-poi.patch"
inherit nativesdk inherit nativesdk