Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
52
sources/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
Normal file
52
sources/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
Normal file
@@ -0,0 +1,52 @@
|
||||
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 = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
|
||||
file://0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch \
|
||||
file://0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch \
|
||||
file://0003-ltmain.in-Add-missing-sysroot-to-library-path.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://0003-libtool.m4-Cleanup-sysroot-trailing.patch \
|
||||
file://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \
|
||||
file://nohardcodepaths.patch \
|
||||
file://0007-libtool-Fix-support-for-NIOS2-processor.patch \
|
||||
file://0008-libtool-Check-for-static-libs-for-internal-compiler-.patch \
|
||||
file://0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
|
||||
file://0010-Makefile.am-make-sure-autoheader-run-before-automake.patch \
|
||||
file://0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch \
|
||||
file://0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch \
|
||||
file://0001-ltmain.in-Parse-additional-clang-options.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8"
|
||||
|
||||
do_compile:prepend () {
|
||||
# Sometimes this file doesn't get rebuilt, force the issue
|
||||
rm -f ${S}/build-aux/ltmain.sh
|
||||
make build-aux/ltmain.sh
|
||||
./config.status
|
||||
}
|
||||
|
||||
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"
|
||||
@@ -0,0 +1,50 @@
|
||||
require libtool-${PV}.inc
|
||||
|
||||
PACKAGES = ""
|
||||
SRC_URI += "file://fixinstall.patch"
|
||||
|
||||
datadir = "${STAGING_DIR_TARGET}${target_datadir}"
|
||||
|
||||
inherit nopackages
|
||||
|
||||
do_configure:prepend () {
|
||||
# Remove any existing libtool m4 since old stale versions would break
|
||||
# any upgrade
|
||||
rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
|
||||
rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
|
||||
}
|
||||
|
||||
#
|
||||
# ccache may or may not be INHERITED, we remove references to it so the sstate
|
||||
# artefact works on a machine where its not present. libtool-cross isn't used
|
||||
# heavily so any performance issue is minor.
|
||||
# Find references to LTCC="ccache xxx-gcc" and CC="ccache xxx-gcc"
|
||||
#
|
||||
do_install () {
|
||||
ln -s false ${D}
|
||||
install -d ${D}${bindir_crossscripts}/
|
||||
install -m 0755 libtool ${D}${bindir_crossscripts}/libtool
|
||||
sed -e 's@^\(predep_objects="\).*@\1"@' \
|
||||
-e 's@^\(postdep_objects="\).*@\1"@' \
|
||||
-e 's@^CC="ccache.@CC="@' \
|
||||
-e 's@^LTCC="ccache.@LTCC="@' \
|
||||
-i ${D}${bindir_crossscripts}/libtool
|
||||
sed -i '/^archive_cmds=/s/\-nostdlib//g' ${D}${bindir_crossscripts}/libtool
|
||||
sed -i '/^archive_expsym_cmds=/s/\-nostdlib//g' ${D}${bindir_crossscripts}/libtool
|
||||
GREP='/bin/grep' SED='sed' ${S}/build-aux/inline-source libtoolize > ${D}${bindir_crossscripts}/libtoolize
|
||||
chmod 0755 ${D}${bindir_crossscripts}/libtoolize
|
||||
install -d ${D}${target_datadir}/libtool/build-aux/
|
||||
install -d ${D}${target_datadir}/aclocal/
|
||||
install -c ${S}/build-aux/compile ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c ${S}/build-aux/config.guess ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c ${S}/build-aux/config.sub ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c ${S}/build-aux/depcomp ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c ${S}/build-aux/install-sh ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c ${S}/build-aux/missing ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c -m 0644 ${S}/build-aux/ltmain.sh ${D}${target_datadir}/libtool/build-aux/
|
||||
install -c -m 0644 ${S}/m4/*.m4 ${D}${target_datadir}/aclocal/
|
||||
}
|
||||
|
||||
SYSROOT_DIRS += "${bindir_crossscripts} ${target_datadir}"
|
||||
|
||||
SSTATE_SCAN_FILES += "libtoolize *-libtool"
|
||||
@@ -0,0 +1,20 @@
|
||||
require libtool-${PV}.inc
|
||||
|
||||
DEPENDS = ""
|
||||
|
||||
inherit native
|
||||
|
||||
EXTRA_OECONF = " --with-libtool-sysroot=${STAGING_DIR_NATIVE}"
|
||||
|
||||
do_configure:prepend () {
|
||||
# Remove any existing libtool m4 since old stale versions would break
|
||||
# any upgrade
|
||||
rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
|
||||
rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
|
||||
}
|
||||
|
||||
do_install () {
|
||||
autotools_do_install
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 libtool ${D}${bindir}/libtool
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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]
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index a5f21a1..f884824 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -2381,8 +2381,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
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
ltmain.in: Parse additional clang options
|
||||
|
||||
clang uses -rtlib and --unwindlib to select proper compiler
|
||||
runtime in some cases. Therefore pass these options to linker when found in
|
||||
ldflags
|
||||
|
||||
* build-aux/ltmain.in: Handle clang linker options
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=725646bf095bf5c07c49ae38dd060f95bd95ae3c]
|
||||
|
||||
---
|
||||
build-aux/ltmain.in | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index 037f009..ba5c816 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -5414,10 +5414,12 @@ func_mode_link ()
|
||||
# -fsanitize=* Clang/GCC memory and address sanitizer
|
||||
# -fuse-ld=* Linker select flags for GCC
|
||||
# -f{file|debug|macro|profile}-prefix-map* needed for lto linking
|
||||
+ # -rtlib=* select c runtime lib with clang
|
||||
+ # --unwindlib=* select unwinder library with clang
|
||||
# -Wa,* Pass flags directly to the assembler
|
||||
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
||||
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
||||
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
|
||||
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-rtlib=*|--unwindlib=*| \
|
||||
-specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
|
||||
func_quote_arg pretty "$arg"
|
||||
arg=$func_quote_arg_result
|
||||
@@ -0,0 +1,170 @@
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Subject: [PATCH 02/12] libtool.m4: Rename the --with-sysroot option to avoid conflict with gcc/binutils
|
||||
|
||||
This patch renames the --with-sysroot option to --with-libtool-sysroot
|
||||
to avoid namespace conflict with binutils, gcc and other toolchain
|
||||
components since these componets also add that option to configure
|
||||
and this becomes confusing and conflicting otherwise.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream report:
|
||||
http://lists.gnu.org/archive/html/libtool/2010-10/msg00048.html
|
||||
|
||||
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00014.html]
|
||||
|
||||
Index: libtool-2.4.7/m4/libtool.m4
|
||||
===================================================================
|
||||
--- libtool-2.4.7.orig/m4/libtool.m4
|
||||
+++ libtool-2.4.7/m4/libtool.m4
|
||||
@@ -1244,28 +1244,28 @@ _LT_DECL([], [ECHO], [1], [An echo progr
|
||||
AC_DEFUN([_LT_WITH_SYSROOT],
|
||||
[m4_require([_LT_DECL_SED])dnl
|
||||
AC_MSG_CHECKING([for sysroot])
|
||||
-AC_ARG_WITH([sysroot],
|
||||
-[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
|
||||
+AC_ARG_WITH([libtool-sysroot],
|
||||
+[AS_HELP_STRING([--with-libtool-sysroot@<:@=DIR@:>@],
|
||||
[Search for dependent libraries within DIR (or the compiler's sysroot
|
||||
if not specified).])],
|
||||
-[], [with_sysroot=no])
|
||||
+[], [with_libtool_sysroot=no])
|
||||
|
||||
dnl lt_sysroot will always be passed unquoted. We quote it here
|
||||
dnl in case the user passed a directory name.
|
||||
lt_sysroot=
|
||||
-case $with_sysroot in #(
|
||||
+case $with_libtool_sysroot in #(
|
||||
yes)
|
||||
if test yes = "$GCC"; then
|
||||
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
|
||||
fi
|
||||
;; #(
|
||||
/*)
|
||||
- lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
+ lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
;; #(
|
||||
no|'')
|
||||
;; #(
|
||||
*)
|
||||
- AC_MSG_RESULT([$with_sysroot])
|
||||
+ AC_MSG_RESULT([$with_libtool_sysroot])
|
||||
AC_MSG_ERROR([The sysroot must be an absolute path.])
|
||||
;;
|
||||
esac
|
||||
Index: libtool-2.4.7/tests/sysroot.at
|
||||
===================================================================
|
||||
--- libtool-2.4.7.orig/tests/sysroot.at
|
||||
+++ libtool-2.4.7/tests/sysroot.at
|
||||
@@ -65,7 +65,7 @@ while read file; do
|
||||
done])
|
||||
|
||||
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
|
||||
-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
|
||||
+configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
|
||||
|
||||
#???
|
||||
if test PATH = "$shlibpath_var"; then
|
||||
@@ -115,7 +115,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([lib2.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
]])
|
||||
@@ -156,7 +156,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([prog.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
]])
|
||||
diff --git a/tests/testsuite b/tests/testsuite
|
||||
index 24265e4..d388e3e 100755
|
||||
--- a/tests/testsuite
|
||||
+++ b/tests/testsuite
|
||||
@@ -48997,7 +48997,7 @@ $at_traceon; }
|
||||
|
||||
|
||||
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
|
||||
-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
|
||||
+configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
|
||||
|
||||
#???
|
||||
if test PATH = "$shlibpath_var"; then
|
||||
@@ -49211,7 +49211,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([lib2.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -49404,7 +49404,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([prog.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -49761,7 +49761,7 @@ $at_traceon; }
|
||||
|
||||
|
||||
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
|
||||
-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
|
||||
+configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
|
||||
|
||||
#???
|
||||
if test PATH = "$shlibpath_var"; then
|
||||
@@ -49975,7 +49975,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([lib2.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -50168,7 +50168,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([prog.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -50525,7 +50525,7 @@ $at_traceon; }
|
||||
|
||||
|
||||
LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
|
||||
-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
|
||||
+configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
|
||||
|
||||
#???
|
||||
if test PATH = "$shlibpath_var"; then
|
||||
@@ -50739,7 +50739,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([lib2.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -50932,7 +50932,7 @@ AM_INIT_AUTOMAKE([foreign])
|
||||
AC_PROG_CC
|
||||
AC_CONFIG_SRCDIR([prog.c])
|
||||
LT_INIT
|
||||
-sysroot=$with_sysroot
|
||||
+sysroot=$with_libtool_sysroot
|
||||
AC_SUBST([sysroot])
|
||||
AC_OUTPUT(Makefile)
|
||||
_ATEOF
|
||||
@@ -0,0 +1,37 @@
|
||||
libtool.m4: Cleanup sysroot trailing "/"
|
||||
|
||||
If $CC has --sysroot=/, it is a valid configuration however libtool will
|
||||
then set lt_sysroot to "/".
|
||||
|
||||
This means references like $lt_sysroot$libdir become //usr/lib instead
|
||||
of the more normally expected /usr/lib. This may or may not break something
|
||||
but certainly is confusing to the user and gives confusing output. Making
|
||||
"/" simply unset lt_sysroot is much cleaner.
|
||||
|
||||
Whilst here, trim any trailing '/' from sysroot paths to drop the duplication
|
||||
and result in cleaner/consistent output.
|
||||
|
||||
* m4/libtool.m4: Cleanup sysroot trailing '/' handling
|
||||
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=365805327c7b9bbdb0e622b954b6b0d8eaeb3f99]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
---
|
||||
m4/libtool.m4 | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/m4/libtool.m4 b/m4/libtool.m4
|
||||
index fa1ae91..2f31d24 100644
|
||||
--- a/m4/libtool.m4
|
||||
+++ b/m4/libtool.m4
|
||||
@@ -1256,7 +1256,9 @@ lt_sysroot=
|
||||
case $with_libtool_sysroot in #(
|
||||
yes)
|
||||
if test yes = "$GCC"; then
|
||||
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
|
||||
+ # Trim trailing / since we'll always append absolute paths and we want
|
||||
+ # to avoid //, if only for less confusing output for the user.
|
||||
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
|
||||
fi
|
||||
;; #(
|
||||
/*)
|
||||
@@ -0,0 +1,28 @@
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Subject: [PATCH 03/12] ltmain.in: Add missing sysroot to library path
|
||||
|
||||
When using a sysroot we should append it to libdir, which is helpful in
|
||||
cross builds as the system is staged in the sysroot. For normal builds,
|
||||
i.e. when lt_sysroot is not set, it will still behave the same and add
|
||||
-L/usr/lib to the relink command.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00017.html]
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index f884824..25a91de 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -6503,7 +6503,7 @@ func_mode_link ()
|
||||
fi
|
||||
else
|
||||
# We cannot seem to hardcode it, guess we'll fake it.
|
||||
- add_dir=-L$libdir
|
||||
+ add_dir="-L$lt_sysroot$libdir"
|
||||
# Try looking first in the location we're being installed to.
|
||||
if test -n "$inst_prefix_dir"; then
|
||||
case $libdir in
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Subject: [PATCH 04/12] ltmain.sh: Fix sysroot paths being encoded into RPATHs
|
||||
|
||||
There is a bug where RPATHs could end up containing sysroot values when
|
||||
cross compiling which is obviously incorrect. Strip out sysroot components
|
||||
from libdir when building RPATH values to avoid this.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html]
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index 25a91de..40cb94a 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -7682,9 +7682,11 @@ EOF
|
||||
test relink = "$opt_mode" || rpath=$compile_rpath$rpath
|
||||
for libdir in $rpath; do
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
+ func_replace_sysroot "$libdir"
|
||||
+ libdir=$func_replace_sysroot_result
|
||||
+ func_stripname '=' '' "$libdir"
|
||||
+ libdir=$func_stripname_result
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
- func_replace_sysroot "$libdir"
|
||||
- libdir=$func_replace_sysroot_result
|
||||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs=$libdir
|
||||
else
|
||||
@@ -8414,6 +8416,10 @@ EOF
|
||||
hardcode_libdirs=
|
||||
for libdir in $compile_rpath $finalize_rpath; do
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
+ func_replace_sysroot "$libdir"
|
||||
+ libdir=$func_replace_sysroot_result
|
||||
+ func_stripname '=' '' "$libdir"
|
||||
+ libdir=$func_stripname_result
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs=$libdir
|
||||
@@ -8465,6 +8471,10 @@ EOF
|
||||
hardcode_libdirs=
|
||||
for libdir in $finalize_rpath; do
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
+ func_replace_sysroot "$libdir"
|
||||
+ libdir=$func_replace_sysroot_result
|
||||
+ func_stripname '=' '' "$libdir"
|
||||
+ libdir=$func_stripname_result
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs=$libdir
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Subject: [PATCH 05/12] 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
|
||||
a waste of space. This patch filters libtools list of paths to encoode and
|
||||
removes the ones we don't need.
|
||||
|
||||
Libtool may be passed link paths of the form "/usr/lib/../lib" so normalize
|
||||
the paths before comparision.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index 40cb94a..2fa055e 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -7700,8 +7700,16 @@ EOF
|
||||
esac
|
||||
fi
|
||||
else
|
||||
- eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
- func_append dep_rpath " $flag"
|
||||
+ # We only want to hardcode in an rpath if it isn't in the
|
||||
+ # default dlsearch path.
|
||||
+ func_normal_abspath "$libdir"
|
||||
+ libdir_norm=$func_normal_abspath_result
|
||||
+ case " $sys_lib_dlsearch_path " in
|
||||
+ *" $libdir_norm "*) ;;
|
||||
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
+ func_append dep_rpath " $flag"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
elif test -n "$runpath_var"; then
|
||||
case "$perm_rpath " in
|
||||
@@ -8434,8 +8442,16 @@ EOF
|
||||
esac
|
||||
fi
|
||||
else
|
||||
- eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
- func_append rpath " $flag"
|
||||
+ # We only want to hardcode in an rpath if it isn't in the
|
||||
+ # default dlsearch path.
|
||||
+ func_normal_abspath "$libdir"
|
||||
+ libdir_norm=$func_normal_abspath_result
|
||||
+ case " $sys_lib_dlsearch_path " in
|
||||
+ *" $libdir_norm "*) ;;
|
||||
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
+ rpath+=" $flag"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
elif test -n "$runpath_var"; then
|
||||
case "$perm_rpath " in
|
||||
@@ -8489,8 +8505,14 @@ EOF
|
||||
esac
|
||||
fi
|
||||
else
|
||||
- eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
- func_append rpath " $flag"
|
||||
+ # We only want to hardcode in an rpath if it isn't in the
|
||||
+ # default dlsearch path.
|
||||
+ case " $sys_lib_dlsearch_path " in
|
||||
+ *" $libdir "*) ;;
|
||||
+ *) eval flag=\"$hardcode_libdir_flag_spec\"
|
||||
+ func_append rpath " $flag"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
elif test -n "$runpath_var"; then
|
||||
case "$finalize_perm_rpath " in
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
libtool.m4: Change libtool to handle sysroots by default
|
||||
|
||||
Rather than using no sysroot by default, always query gcc to obtain the sysroot.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Inappropriate [Upstream are unlikely to accept this change of default]
|
||||
|
||||
---
|
||||
m4/libtool.m4 | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/m4/libtool.m4 b/m4/libtool.m4
|
||||
index 2f31d24..bd90775 100644
|
||||
--- a/m4/libtool.m4
|
||||
+++ b/m4/libtool.m4
|
||||
@@ -1254,18 +1254,18 @@ dnl lt_sysroot will always be passed unquoted. We quote it here
|
||||
dnl in case the user passed a directory name.
|
||||
lt_sysroot=
|
||||
case $with_libtool_sysroot in #(
|
||||
- yes)
|
||||
+ no)
|
||||
if test yes = "$GCC"; then
|
||||
# Trim trailing / since we'll always append absolute paths and we want
|
||||
# to avoid //, if only for less confusing output for the user.
|
||||
lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
|
||||
fi
|
||||
;; #(
|
||||
+ yes|''|/)
|
||||
+ ;; #(
|
||||
/*)
|
||||
lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
;; #(
|
||||
- no|'')
|
||||
- ;; #(
|
||||
*)
|
||||
AC_MSG_RESULT([$with_libtool_sysroot])
|
||||
AC_MSG_ERROR([The sysroot must be an absolute path.])
|
||||
@@ -0,0 +1,60 @@
|
||||
libtool: Fix support for NIOS2 processor
|
||||
|
||||
The name of the system contains the string "nios2". This string
|
||||
is caught by the some of the greedy checks for OS/2 in libtool,
|
||||
in particular the *os2* branches of switch statements match for
|
||||
the nios2 string, which results in incorrect behavior of libtool.
|
||||
|
||||
Switch to use $host_os instead of $host and tweak the patterns to
|
||||
match to avoid this problem for nios2.
|
||||
|
||||
* build-aux/ltmain.in: Fix NIOS2 support
|
||||
---
|
||||
build-aux/ltmain.in | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Submitted: https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html
|
||||
Reworked and submitted: https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00068.html
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=49e6cb0d4dfdca2a59b909dc4532fe22dbc57ad5]
|
||||
|
||||
Index: libtool-2.4.7/build-aux/ltmain.in
|
||||
===================================================================
|
||||
--- libtool-2.4.7.orig/build-aux/ltmain.in
|
||||
+++ libtool-2.4.7/build-aux/ltmain.in
|
||||
@@ -518,10 +518,10 @@ libtool_validate_options ()
|
||||
# preserve --debug
|
||||
test : = "$debug_cmd" || func_append preserve_args " --debug"
|
||||
|
||||
- case $host in
|
||||
+ case $host_os in
|
||||
# Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
|
||||
# see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
|
||||
- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
|
||||
+ cygwin* | mingw* | pw32* | cegcc* | solaris2* | os2*)
|
||||
# don't eliminate duplications in $postdeps and $predeps
|
||||
opt_duplicate_compiler_generated_deps=:
|
||||
;;
|
||||
@@ -6273,8 +6273,8 @@ func_mode_link ()
|
||||
fi
|
||||
if test -n "$library_names" &&
|
||||
{ test no = "$use_static_libs" || test -z "$old_library"; }; then
|
||||
- case $host in
|
||||
- *cygwin* | *mingw* | *cegcc* | *os2*)
|
||||
+ case $host_os in
|
||||
+ cygwin* | mingw* | cegcc* | os2*)
|
||||
# No point in relinking DLLs because paths are not encoded
|
||||
func_append notinst_deplibs " $lib"
|
||||
need_relink=no
|
||||
@@ -6343,8 +6343,8 @@ func_mode_link ()
|
||||
soname=$dlname
|
||||
elif test -n "$soname_spec"; then
|
||||
# bleh windows
|
||||
- case $host in
|
||||
- *cygwin* | mingw* | *cegcc* | *os2*)
|
||||
+ case $host_os in
|
||||
+ cygwin* | mingw* | cegcc* | os2*)
|
||||
func_arith $current - $age
|
||||
major=$func_arith_result
|
||||
versuffix=-$major
|
||||
@@ -0,0 +1,33 @@
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Subject: [PATCH 08/12] libtool: Check for static libs for internal compiler libraries
|
||||
|
||||
Libtool checks only for libraries linked as -l* when trying to
|
||||
find internal compiler libraries. Clang, however uses the absolute
|
||||
path to link its internal libraries e.g. compiler_rt. This patch
|
||||
handles clang's statically linked libraries when finding internal
|
||||
compiler libraries.
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
https://crbug.com/749263
|
||||
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866
|
||||
|
||||
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html]
|
||||
|
||||
diff --git a/m4/libtool.m4 b/m4/libtool.m4
|
||||
index bd90775..3794130 100644
|
||||
--- a/m4/libtool.m4
|
||||
+++ b/m4/libtool.m4
|
||||
@@ -7556,7 +7556,7 @@ if AC_TRY_EVAL(ac_compile); then
|
||||
for p in `eval "$output_verbose_link_cmd"`; do
|
||||
case $prev$p in
|
||||
|
||||
- -L* | -R* | -l*)
|
||||
+ -L* | -R* | -l* | */libclang_rt.*.a)
|
||||
# Some compilers place space between "-{L,R}" and the path.
|
||||
# Remove the space.
|
||||
if test x-L = "$p" ||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Subject: [PATCH 09/12] Makefile.am: make sure autoheader run before autoconf
|
||||
|
||||
autoheader will update ../libtool-2.4.6/libltdl/config-h.in which
|
||||
autoconf needs, so there comes a race sometimes as below:
|
||||
| configure.ac:45: error: required file 'config-h.in' not found
|
||||
| touch '../libtool-2.4.6/libltdl/config-h.in'
|
||||
|
||||
So make sure autoheader run before autoconf to avoid this race.
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e7dc729dd27b367905cd0ce52b5466d91537857a]
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index c29860e..9c34bfd 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -370,7 +370,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
|
||||
$(lt_aclocal_m4): $(lt_aclocal_m4_deps)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4
|
||||
|
||||
-$(lt_configure): $(lt_configure_deps)
|
||||
+$(lt_configure): $(lt_configure_deps) $(lt_config_h_in)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF)
|
||||
|
||||
$(lt_config_h_in): $(lt_configure_deps)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Subject: [PATCH 10/12] Makefile.am: make sure autoheader run before automake
|
||||
|
||||
When use automake to generate Makefile.in from Makefile.am, there
|
||||
comes below race:
|
||||
| configure.ac:45: error: required file 'config-h.in' not found
|
||||
|
||||
It is because the file config-h.in in updating process by autoheader,
|
||||
so make automake run after autoheader to avoid the above race.
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e01c0bfe5e041418d84460901a1a5b11b89d596f]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 9c34bfd..231ef3f 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -333,7 +333,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \
|
||||
$(lt_obsolete_m4) \
|
||||
$(stamp_mk)
|
||||
|
||||
-$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4)
|
||||
+$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(lt_config_h_in)
|
||||
$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile
|
||||
|
||||
# Don't let unused scripts leak into the libltdl Makefile
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
ltmain.in: Handle prefix-map compiler options correctly
|
||||
|
||||
If lto is enabled, we need the prefix-map variables to be passed to the linker
|
||||
to correctly link the objects using correctly mapped paths.
|
||||
|
||||
Add these to the list of options libtool passes through.
|
||||
|
||||
* build-aux/ltmain.in: Handle prefix-map compiler options
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html
|
||||
https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00066.html
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=cdf4bf702f11d17e06569936e8a433a77f791228]
|
||||
|
||||
---
|
||||
build-aux/ltmain.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
index 0a50f5b..037f009 100644
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -5413,11 +5413,12 @@ func_mode_link ()
|
||||
# -stdlib=* select c++ std lib with clang
|
||||
# -fsanitize=* Clang/GCC memory and address sanitizer
|
||||
# -fuse-ld=* Linker select flags for GCC
|
||||
+ # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
|
||||
# -Wa,* Pass flags directly to the assembler
|
||||
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
||||
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
||||
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
|
||||
- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
|
||||
+ -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
|
||||
func_quote_arg pretty "$arg"
|
||||
arg=$func_quote_arg_result
|
||||
func_append compile_command " $arg"
|
||||
@@ -0,0 +1,29 @@
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Subject: [PATCH 12/12] libtool.m4: For reproducibility stop encoding hostname in libtool script
|
||||
|
||||
For reproducibilty, stop encoding the hostname into the libtool script, this isn't
|
||||
really adding much to debugging and most distros are carrying such a patch now as
|
||||
reproducibility is important.
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
https://sources.debian.org/data/main/libt/libtool/2.4.6-10/debian/patches/
|
||||
no_hostname.patch
|
||||
|
||||
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=bd826173c4c9c3fa8d77d92785754897cb4bfd89]
|
||||
|
||||
diff --git a/m4/libtool.m4 b/m4/libtool.m4
|
||||
index 3794130..84a550c 100644
|
||||
--- a/m4/libtool.m4
|
||||
+++ b/m4/libtool.m4
|
||||
@@ -730,7 +730,6 @@ _LT_CONFIG_SAVE_COMMANDS([
|
||||
cat <<_LT_EOF >> "$cfgfile"
|
||||
#! $SHELL
|
||||
# Generated automatically by $as_me ($PACKAGE) $VERSION
|
||||
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
|
||||
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
|
||||
|
||||
# Provide generalized library-building support services.
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
|
||||
Updated by: Robert Yang <liezhi.yang@windriver.com>
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 7bd7f72..c29860e 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -411,21 +411,6 @@ $(notes_txt): $(notes_texi)
|
||||
$(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \
|
||||
$(MAKEINFOFLAGS) -o '$@' '$(notes_texi)'
|
||||
|
||||
-dist_man1_MANS = $(libtool_1) $(libtoolize_1)
|
||||
-MAINTAINERCLEANFILES += $(dist_man1_MANS)
|
||||
-update_mans = \
|
||||
- PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \
|
||||
- $(HELP2MAN) --output='$@'
|
||||
-
|
||||
-# It's wrong to make distributed files (e.g. $(libtool_1)) rely on
|
||||
-# files created in the build tree, so instead we regenerate the
|
||||
-# manual pages if the sources for the build-tree files we want to
|
||||
-# run have changed.
|
||||
-$(libtool_1): $(ltmain_sh)
|
||||
- $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool
|
||||
-$(libtoolize_1): $(libtoolize_in)
|
||||
- $(AM_V_GEN)$(update_mans) libtoolize
|
||||
-
|
||||
|
||||
## ------------- ##
|
||||
## Installation. ##
|
||||
@@ -0,0 +1,102 @@
|
||||
There is no point in having "executable" binaries in the .libs
|
||||
directory linked with different rpaths to the target which
|
||||
could concivably be run on the build system when cross compiling.
|
||||
|
||||
This patch removes the extra rpaths ($compile_rpath) so that the
|
||||
output from the "link" stage can be used on the target. We can then
|
||||
avoid having to "relink" during the install stage.
|
||||
|
||||
This saves some build time (do_install is over 2 minutes faster for
|
||||
pulseaudio).
|
||||
|
||||
This patch also removes an annoying "seems to be moved" warning
|
||||
which is totally bogus in the sysroot case.
|
||||
|
||||
Upstream-Status: Inappropriate [upstream are unlikely to take a patch like this]
|
||||
|
||||
RP 2011/11/16
|
||||
|
||||
Updated by: Robert Yang <liezhi.yang@windriver.com>
|
||||
|
||||
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
|
||||
--- a/build-aux/ltmain.in
|
||||
+++ b/build-aux/ltmain.in
|
||||
@@ -2355,7 +2355,7 @@ func_mode_install ()
|
||||
dir=$func_dirname_result
|
||||
func_append dir "$objdir"
|
||||
|
||||
- if test -n "$relink_command"; then
|
||||
+ if test "$fast_install" = no && test -n "$relink_command"; then
|
||||
# Strip any trailing slash from the destination.
|
||||
func_stripname '' '/' "$libdir"
|
||||
destlibdir=$func_stripname_result
|
||||
@@ -2394,7 +2394,7 @@ func_mode_install ()
|
||||
shift
|
||||
|
||||
srcname=$realname
|
||||
- test -n "$relink_command" && srcname=${realname}T
|
||||
+ test "$fast_install" = no && test -n "$relink_command" && srcname="$realname"T
|
||||
|
||||
# Install the shared library and build the symlinks.
|
||||
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
|
||||
@@ -6162,15 +6162,15 @@ func_mode_link ()
|
||||
# Hardcode the library path.
|
||||
# Skip directories that are in the system default run-time
|
||||
# search path.
|
||||
- case " $sys_lib_dlsearch_path " in
|
||||
- *" $absdir "*) ;;
|
||||
- *)
|
||||
- case "$compile_rpath " in
|
||||
- *" $absdir "*) ;;
|
||||
- *) func_append compile_rpath " $absdir" ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
+ #case " $sys_lib_dlsearch_path " in
|
||||
+ #*" $absdir "*) ;;
|
||||
+ #*)
|
||||
+ # case "$compile_rpath " in
|
||||
+ # *" $absdir "*) ;;
|
||||
+ # *) func_append compile_rpath " $absdir" ;;
|
||||
+ # esac
|
||||
+ # ;;
|
||||
+ #esac
|
||||
case " $sys_lib_dlsearch_path " in
|
||||
*" $libdir "*) ;;
|
||||
*)
|
||||
@@ -6236,15 +6236,15 @@ func_mode_link ()
|
||||
# Hardcode the library path.
|
||||
# Skip directories that are in the system default run-time
|
||||
# search path.
|
||||
- case " $sys_lib_dlsearch_path " in
|
||||
- *" $absdir "*) ;;
|
||||
- *)
|
||||
- case "$compile_rpath " in
|
||||
- *" $absdir "*) ;;
|
||||
- *) func_append compile_rpath " $absdir" ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
+ #case " $sys_lib_dlsearch_path " in
|
||||
+ #*" $absdir "*) ;;
|
||||
+ #*)
|
||||
+ # case "$compile_rpath " in
|
||||
+ # *" $absdir "*) ;;
|
||||
+ # *) func_append compile_rpath " $absdir" ;;
|
||||
+ # esac
|
||||
+ # ;;
|
||||
+ #esac
|
||||
case " $sys_lib_dlsearch_path " in
|
||||
*" $libdir "*) ;;
|
||||
*)
|
||||
@@ -6590,8 +6590,8 @@ func_mode_link ()
|
||||
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
|
||||
test -z "$libdir" && \
|
||||
func_fatal_error "'$deplib' is not a valid libtool archive"
|
||||
- test "$absdir" != "$libdir" && \
|
||||
- func_warning "'$deplib' seems to be moved"
|
||||
+ #test "$absdir" != "$libdir" && \
|
||||
+ # func_warning "'$deplib' seems to be moved"
|
||||
|
||||
path=-L$absdir
|
||||
fi
|
||||
@@ -0,0 +1,23 @@
|
||||
Without this patch /usr/bin/libtoolize is different for each multilib
|
||||
since their host-triplets are different, despite there being no difference in
|
||||
the functionality of libtoolize itself.
|
||||
|
||||
Ugly, but just patch this out. This fixes issues where libtool and
|
||||
libXX-libtool couldn't be installed into the same system.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
RP 2018/7/30
|
||||
|
||||
Index: libtool-2.4.6/libtoolize.in
|
||||
===================================================================
|
||||
--- libtool-2.4.6.orig/libtoolize.in
|
||||
+++ libtool-2.4.6/libtoolize.in
|
||||
@@ -113,7 +113,7 @@ You must 'cd' to the top directory of yo
|
||||
When reporting a bug, please describe a test case to reproduce it and
|
||||
include the following information:
|
||||
|
||||
- host-triplet: @host_triplet@
|
||||
+ host-triplet <redacted>
|
||||
version: $progname (GNU @PACKAGE@) @VERSION@
|
||||
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
|
||||
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
|
||||
@@ -0,0 +1,29 @@
|
||||
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
|
||||
hardcoding paths.
|
||||
|
||||
RP 2015/2/3
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Index: libtool-2.4.5/libtoolize.in
|
||||
===================================================================
|
||||
--- libtool-2.4.5.orig/libtoolize.in
|
||||
+++ libtool-2.4.5/libtoolize.in
|
||||
@@ -40,11 +40,11 @@
|
||||
|
||||
: ${AUTOCONF="autoconf"}
|
||||
: ${AUTOMAKE="automake"}
|
||||
-: ${EGREP="@EGREP@"}
|
||||
-: ${FGREP="@FGREP@"}
|
||||
-: ${GREP="@GREP@"}
|
||||
-: ${LN_S="@LN_S@"}
|
||||
-: ${SED="@SED@"}
|
||||
+: ${EGREP="egrep"}
|
||||
+: ${FGREP="fgrep"}
|
||||
+: ${GREP="grep"}
|
||||
+: ${LN_S="ln -s"}
|
||||
+: ${SED="sed"}
|
||||
|
||||
|
||||
## -------------------------- ##
|
||||
21
sources/poky/meta/recipes-devtools/libtool/libtool_2.4.7.bb
Normal file
21
sources/poky/meta/recipes-devtools/libtool/libtool_2.4.7.bb
Normal file
@@ -0,0 +1,21 @@
|
||||
require libtool-${PV}.inc
|
||||
require remove-buildpaths.inc
|
||||
|
||||
SRC_URI += "file://multilib.patch"
|
||||
|
||||
RDEPENDS:${PN} += "bash"
|
||||
|
||||
#
|
||||
# We want the results of libtool-cross preserved - don't stage anything ourselves.
|
||||
#
|
||||
SYSROOT_DIRS_IGNORE += " \
|
||||
${bindir} \
|
||||
${datadir}/aclocal \
|
||||
${datadir}/libtool/build-aux \
|
||||
"
|
||||
|
||||
ACLOCALEXTRAPATH:class-target = ""
|
||||
|
||||
inherit multilib_script
|
||||
|
||||
MULTILIB_SCRIPTS = "${PN}:${bindir}/libtool"
|
||||
@@ -0,0 +1,31 @@
|
||||
require libtool-${PV}.inc
|
||||
require remove-buildpaths.inc
|
||||
|
||||
FILESEXTRAPATHS =. "${FILE_DIRNAME}/libtool:"
|
||||
|
||||
SRC_URI += "file://fixinstall.patch"
|
||||
|
||||
inherit nativesdk
|
||||
|
||||
S = "${WORKDIR}/libtool-${PV}"
|
||||
FILES:${PN} += "${datadir}/libtool/*"
|
||||
|
||||
do_configure:prepend () {
|
||||
# Remove any existing libtool m4 since old stale versions would break
|
||||
# any upgrade
|
||||
rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
|
||||
rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
|
||||
}
|
||||
|
||||
do_install () {
|
||||
autotools_do_install
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 libtool ${D}${bindir}/
|
||||
}
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"
|
||||
|
||||
libtoolnativesdk_sysroot_preprocess () {
|
||||
install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
|
||||
install -m 755 ${D}${bindir}/libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/libtool
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
do_install:append () {
|
||||
sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \
|
||||
-e "s@${DEBUG_PREFIX_MAP}@@g" \
|
||||
-e 's@${STAGING_DIR_HOST}@@g' \
|
||||
-e 's@${STAGING_DIR_NATIVE}@@g' \
|
||||
-e 's@^\(sys_lib_search_path_spec="\).*@\1${libdir} ${base_libdir}"@' \
|
||||
-e 's@^\(compiler_lib_search_dirs="\).*@\1${libdir} ${base_libdir}"@' \
|
||||
-e 's@^\(compiler_lib_search_path="\).*@\1${libdir} ${base_libdir}"@' \
|
||||
-e 's@^\(predep_objects="\).*@\1"@' \
|
||||
-e 's@^\(postdep_objects="\).*@\1"@' \
|
||||
-e "s@${HOSTTOOLS_DIR}/@@g" \
|
||||
-i ${D}${bindir}/libtool
|
||||
}
|
||||
Reference in New Issue
Block a user