From ff7b41573842a403c81f58bee41fc8163a9d7754 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 17 Mar 2022 18:00:05 +0000 Subject: libtool: Upgrade 2.4.6 -> 2.4.7 Libtool made a release after many years. Update to it, allowing us to drop two backported patches. We also drop a performance optimistion patch since it is too invasive to maintain separately. (From OE-Core rev: b5d13cbdded0f71fd4b847066434d30e8a39c9ce) Signed-off-by: Richard Purdie Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/recipes-devtools/libtool/libtool-2.4.6.inc | 55 ------- meta/recipes-devtools/libtool/libtool-2.4.7.inc | 51 ++++++ .../libtool/libtool-cross_2.4.6.bb | 50 ------ .../libtool/libtool-cross_2.4.7.bb | 50 ++++++ .../libtool/libtool-native_2.4.6.bb | 20 --- .../libtool/libtool-native_2.4.7.bb | 20 +++ ...andle-trailing-slashes-on-install-command.patch | 6 +- ...-ltmain.in-Parse-additional-clang-options.patch | 37 ++--- ...Rename-the-with-sysroot-option-to-avoid-c.patch | 30 ++-- ...in.in-Add-missing-sysroot-to-library-path.patch | 6 +- ...ix-sysroot-paths-being-encoded-into-RPATH.patch | 18 ++- ...on-t-encode-RATHS-which-match-default-lin.patch | 16 +- ...-libtool.m4-Handle-as-a-sysroot-correctly.patch | 15 +- ...7-libtool-Fix-support-for-NIOS2-processor.patch | 14 +- ...ck-for-static-libs-for-internal-compiler-.patch | 11 +- ...-make-sure-autoheader-run-before-autoconf.patch | 10 +- ...-make-sure-autoheader-run-before-automake.patch | 9 +- ...andle-prefix-map-compiler-options-correct.patch | 22 +-- ...For-reproducibility-stop-encoding-hostnam.patch | 12 +- .../ARFLAGS-use-cr-instead-of-cru-by-default.patch | 133 --------------- .../libtool/libool.m4-add-ARFLAGS-variable.patch | 77 --------- .../libtool/libtool/unwind-opt-parsing.patch | 179 --------------------- meta/recipes-devtools/libtool/libtool_2.4.6.bb | 34 ---- meta/recipes-devtools/libtool/libtool_2.4.7.bb | 34 ++++ .../libtool/nativesdk-libtool_2.4.6.bb | 30 ---- .../libtool/nativesdk-libtool_2.4.7.bb | 30 ++++ 26 files changed, 286 insertions(+), 683 deletions(-) delete mode 100644 meta/recipes-devtools/libtool/libtool-2.4.6.inc create mode 100644 meta/recipes-devtools/libtool/libtool-2.4.7.inc delete mode 100644 meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb create mode 100644 meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb delete mode 100644 meta/recipes-devtools/libtool/libtool-native_2.4.6.bb create mode 100644 meta/recipes-devtools/libtool/libtool-native_2.4.7.bb delete mode 100644 meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch delete mode 100644 meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch delete mode 100644 meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch delete mode 100644 meta/recipes-devtools/libtool/libtool_2.4.6.bb create mode 100644 meta/recipes-devtools/libtool/libtool_2.4.7.bb delete mode 100644 meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb create mode 100644 meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb (limited to 'meta/recipes-devtools/libtool') diff --git a/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/meta/recipes-devtools/libtool/libtool-2.4.6.inc deleted file mode 100644 index ad6f5e6b6e..0000000000 --- a/meta/recipes-devtools/libtool/libtool-2.4.6.inc +++ /dev/null @@ -1,55 +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 = "${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://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \ - file://nohardcodepaths.patch \ - file://unwind-opt-parsing.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://libool.m4-add-ARFLAGS-variable.patch \ - file://ARFLAGS-use-cr-instead-of-cru-by-default.patch \ - file://0001-ltmain.in-Parse-additional-clang-options.patch \ - " - -SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" -SRC_URI[sha256sum] = "e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3" - -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" diff --git a/meta/recipes-devtools/libtool/libtool-2.4.7.inc b/meta/recipes-devtools/libtool/libtool-2.4.7.inc new file mode 100644 index 0000000000..a07df720ac --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-2.4.7.inc @@ -0,0 +1,51 @@ +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://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" diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb deleted file mode 100644 index 93f1dd7825..0000000000 --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb +++ /dev/null @@ -1,50 +0,0 @@ -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" diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb new file mode 100644 index 0000000000..93f1dd7825 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb @@ -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" diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb deleted file mode 100644 index 19024f7830..0000000000 --- a/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb +++ /dev/null @@ -1,20 +0,0 @@ -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 -} diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.7.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.7.bb new file mode 100644 index 0000000000..19024f7830 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-native_2.4.7.bb @@ -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 +} diff --git a/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch b/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch index eeb5ebf416..4c4d0547a3 100644 --- a/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch +++ b/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch @@ -15,9 +15,10 @@ Signed-off-by: Richard Purdie 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 96b37003..3d5dcd0a 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -2356,8 +2356,14 @@ func_mode_install () +@@ -2378,8 +2378,14 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then @@ -33,3 +34,6 @@ diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that +-- +2.25.1 + diff --git a/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch b/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch index d59b5a834e..0285c143d2 100644 --- a/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch +++ b/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch @@ -1,6 +1,4 @@ -From c3b90d6107a1b638477d5f4dcee48af289647af7 Mon Sep 17 00:00:00 2001 From: Khem Raj -Date: Wed, 9 Mar 2022 12:52:51 -0800 Subject: [PATCH] ltmain.in: Parse additional clang options clang uses -rtlib and --unwindlib to select proper compiler runtime in @@ -9,29 +7,22 @@ ldflags Upstream-Status: Pending Signed-off-by: Khem Raj ---- - build-aux/ltmain.in | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in -index 6a7bb72..c355c0c 100644 ---- a/build-aux/ltmain.in -+++ b/build-aux/ltmain.in -@@ -5423,10 +5423,13 @@ func_mode_link () - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -stdlib=* select c++ std lib with clang +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 +@@ -5420,10 +5420,12 @@ func_mode_link () + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -f*-prefix-map* needed for lto linking + # -rtlib=* select c runtime lib with clang + # --unwindlib=* select unwinder library with clang - # -f*-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=*|-f*-prefix-map*) -+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -+ -rtlib=*|--unwindlib=*|-f*-prefix-map*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" --- -2.35.1 - +- -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=*|-f*-prefix-map*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result diff --git a/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch b/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch index 6da283959e..1920e2e6db 100644 --- a/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch +++ b/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch @@ -13,13 +13,14 @@ 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] -diff --git a/m4/libtool.m4 b/m4/libtool.m4 ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -1215,28 +1215,28 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) - # ---------------- +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], - [AC_MSG_CHECKING([for 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], @@ -40,8 +41,8 @@ diff --git a/m4/libtool.m4 b/m4/libtool.m4 fi ;; #( /*) -- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` -+ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"` +- lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ++ lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -51,10 +52,11 @@ diff --git a/m4/libtool.m4 b/m4/libtool.m4 AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac -diff --git a/tests/sysroot.at b/tests/sysroot.at ---- a/tests/sysroot.at -+++ b/tests/sysroot.at -@@ -64,7 +64,7 @@ while read file; do +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" @@ -63,7 +65,7 @@ diff --git a/tests/sysroot.at b/tests/sysroot.at #??? if test PATH = "$shlibpath_var"; then -@@ -114,7 +114,7 @@ AM_INIT_AUTOMAKE([foreign]) +@@ -115,7 +115,7 @@ AM_INIT_AUTOMAKE([foreign]) AC_PROG_CC AC_CONFIG_SRCDIR([lib2.c]) LT_INIT @@ -72,7 +74,7 @@ diff --git a/tests/sysroot.at b/tests/sysroot.at AC_SUBST([sysroot]) AC_OUTPUT(Makefile) ]]) -@@ -155,7 +155,7 @@ AM_INIT_AUTOMAKE([foreign]) +@@ -156,7 +156,7 @@ AM_INIT_AUTOMAKE([foreign]) AC_PROG_CC AC_CONFIG_SRCDIR([prog.c]) LT_INIT diff --git a/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch b/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch index 0103a00451..07c7f911e0 100644 --- a/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch +++ b/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch @@ -11,9 +11,10 @@ Signed-off-by: Richard Purdie 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 3d5dcd0a..2c994612 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -6421,7 +6421,7 @@ func_mode_link () +@@ -6475,7 +6475,7 @@ func_mode_link () fi else # We cannot seem to hardcode it, guess we'll fake it. @@ -22,3 +23,6 @@ diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in +-- +2.25.1 + diff --git a/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch b/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch index 21b3dfe306..4fcf456b0b 100644 --- a/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch +++ b/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch @@ -10,23 +10,24 @@ Signed-off-by: Richard Purdie 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 2c994612..96238350 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -7569,9 +7569,11 @@ EOF +@@ -7654,9 +7654,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 ++ 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 -@@ -8301,6 +8303,10 @@ EOF +@@ -8386,6 +8388,10 @@ EOF hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then @@ -37,7 +38,7 @@ diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir -@@ -8352,6 +8358,10 @@ EOF +@@ -8437,6 +8443,10 @@ EOF hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then @@ -48,3 +49,6 @@ diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir +-- +2.25.1 + diff --git a/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch b/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch index 50d47d9f7a..589a33e8a6 100644 --- a/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch +++ b/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch @@ -12,10 +12,11 @@ Signed-off-by: Richard Purdie Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html] -diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in ---- b/build-aux/ltmain.in -+++ b/build-aux/ltmain.in 2012-08-22 11:01:34.191345989 -0700 -@@ -7286,8 +7286,16 @@ +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in +index 96238350..6fb58ed2 100644 +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -7672,8 +7672,16 @@ EOF esac fi else @@ -34,7 +35,7 @@ diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in fi elif test -n "$runpath_var"; then case "$perm_rpath " in -@@ -8019,8 +8027,16 @@ +@@ -8406,8 +8414,16 @@ EOF esac fi else @@ -53,7 +54,7 @@ diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in fi elif test -n "$runpath_var"; then case "$perm_rpath " in -@@ -8070,8 +8086,14 @@ +@@ -8461,8 +8477,14 @@ EOF esac fi else @@ -70,3 +71,6 @@ diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in +-- +2.25.1 + diff --git a/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch b/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch index 999971241f..a221dab528 100644 --- a/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch +++ b/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch @@ -13,11 +13,11 @@ http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00018.html] ---- -diff --git a/m4/libtool.m4 b/m4/libtool.m4 ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -1225,16 +1225,21 @@ dnl lt_sysroot will always be passed unquoted. We quote it here +Index: libtool-2.4.7/m4/libtool.m4 +=================================================================== +--- libtool-2.4.7.orig/m4/libtool.m4 ++++ libtool-2.4.7/m4/libtool.m4 +@@ -1254,16 +1254,20 @@ dnl lt_sysroot will always be passed unq dnl in case the user passed a directory name. lt_sysroot= case $with_libtool_sysroot in #( @@ -25,8 +25,7 @@ diff --git a/m4/libtool.m4 b/m4/libtool.m4 + no) if test yes = "$GCC"; 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!? ++ # Treat "/" the same a an unset sysroot. + if test "$lt_sysroot" = /; then + lt_sysroot= + fi @@ -35,7 +34,7 @@ diff --git a/m4/libtool.m4 b/m4/libtool.m4 + yes|''|/) + ;; #( /*) - lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"` ;; #( - no|'') - ;; #( diff --git a/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch b/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch index 395464e908..277afe0af6 100644 --- a/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch +++ b/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch @@ -15,15 +15,11 @@ Signed-off-by: Richard Purdie Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html] ---- - build-aux/ltmain.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in -index d5cf07a..4164284 100644 +index 6fb58ed2..606f17be 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -504,6 +504,12 @@ libtool_validate_options () +@@ -519,6 +519,12 @@ libtool_validate_options () test : = "$debug_cmd" || func_append preserve_args " --debug" case $host in @@ -36,7 +32,7 @@ index d5cf07a..4164284 100644 # 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*) -@@ -6220,6 +6226,15 @@ func_mode_link () +@@ -6246,6 +6252,15 @@ func_mode_link () if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in @@ -52,7 +48,7 @@ index d5cf07a..4164284 100644 *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" -@@ -6290,6 +6305,11 @@ func_mode_link () +@@ -6316,6 +6331,11 @@ func_mode_link () elif test -n "$soname_spec"; then # bleh windows case $host in @@ -65,5 +61,5 @@ index d5cf07a..4164284 100644 func_arith $current - $age major=$func_arith_result -- -2.5.1 +2.25.1 diff --git a/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch b/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch index afffdb9fd4..83c74373ae 100644 --- a/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch +++ b/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch @@ -1,6 +1,4 @@ -From b9993338080325a6e2b2ec94ca0ece80e7fa3fb6 Mon Sep 17 00:00:00 2001 From: Khem Raj -Date: Sat, 26 Jan 2019 12:54:26 -0800 Subject: [PATCH 08/12] libtool: Check for static libs for internal compiler libraries Libtool checks only for libraries linked as -l* when trying to @@ -16,15 +14,12 @@ 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] ---- - m4/libtool.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 -index d0389a0..9619c57 100644 +index 180dd9d1..022c1292 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 -@@ -7536,7 +7536,7 @@ if AC_TRY_EVAL(ac_compile); then +@@ -7560,7 +7560,7 @@ if AC_TRY_EVAL(ac_compile); then for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in @@ -34,5 +29,5 @@ index d0389a0..9619c57 100644 # Remove the space. if test x-L = "$p" || -- -2.20.1 +2.25.1 diff --git a/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch b/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch index 348cd3c1ae..437c09fa6d 100644 --- a/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch +++ b/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch @@ -13,15 +13,11 @@ Signed-off-by: Richard Purdie Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00015.html] ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/Makefile.am b/Makefile.am -index 4142c90..fe1a9fc 100644 +index 6b546092..84795d87 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -365,7 +365,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) +@@ -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 @@ -31,5 +27,5 @@ index 4142c90..fe1a9fc 100644 $(lt_config_h_in): $(lt_configure_deps) -- -2.29.2 +2.25.1 diff --git a/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch b/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch index cd963ef1be..a92e22905f 100644 --- a/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch +++ b/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch @@ -14,15 +14,12 @@ Signed-off-by: Richard Purdie Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00020.html] Signed-off-by: Mingli Yu ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 2752ecc..29950db 100644 +index 84795d87..8c9949ed 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -328,7 +328,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \ +@@ -333,7 +333,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \ $(lt_obsolete_m4) \ $(stamp_mk) @@ -32,5 +29,5 @@ index 2752ecc..29950db 100644 # Don't let unused scripts leak into the libltdl Makefile -- -2.29.2 +2.25.1 diff --git a/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch b/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch index b121a3c750..4945533bad 100644 --- a/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch +++ b/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch @@ -8,19 +8,21 @@ Signed-off-by: Richard Purdie Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html] -Index: libtool-2.4.6/build-aux/ltmain.in +Index: libtool-2.4.7/build-aux/ltmain.in =================================================================== ---- libtool-2.4.6.orig/build-aux/ltmain.in -+++ libtool-2.4.6/build-aux/ltmain.in -@@ -5424,9 +5424,10 @@ func_mode_link () - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization +--- libtool-2.4.7.orig/build-aux/ltmain.in ++++ libtool-2.4.7/build-aux/ltmain.in +@@ -5419,11 +5419,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*-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=*) -+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-f*-prefix-map*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ +- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) ++ -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" diff --git a/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch b/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch index 64f911d46c..c750303d43 100644 --- a/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch +++ b/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch @@ -12,11 +12,10 @@ https://sources.debian.org/data/main/libt/libtool/2.4.6-10/debian/patches/ Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00011.html] ---- -Index: libtool-2.4.6/m4/libtool.m4 -=================================================================== ---- libtool-2.4.6.orig/m4/libtool.m4 -+++ libtool-2.4.6/m4/libtool.m4 +diff --git a/m4/libtool.m4 b/m4/libtool.m4 +index 022c1292..1a8a2998 100644 +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 @@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([ cat <<_LT_EOF >> "$cfgfile" #! $SHELL @@ -25,3 +24,6 @@ Index: libtool-2.4.6/m4/libtool.m4 # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. +-- +2.25.1 + diff --git a/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch b/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch deleted file mode 100644 index 447640cef6..0000000000 --- a/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 418129bc63afc312701e84cb8afa5ca413df1ab5 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Fri, 17 Apr 2015 16:54:58 +0200 -Subject: ARFLAGS: use 'cr' instead of 'cru' by default - -In some GNU/Linux distributions people started to compile 'ar' -binary with --enable-deterministic-archives (binutils project). -That, however, in combination with our previous long time working -default AR_FLAGS=cru causes warnings on such installations: -ar: `u' modifier ignored since `D' is the default (see `U') - -The 'u' option (at least with GNU binutils) did small optimization -during repeated builds because it instructed 'ar' to not -open/close unchanged *.o files and to rather read their contents -from old archive file. However, its removal should not cause a -big performance hit for usual workflows. - -Distributions started using --enable-deterministic-archives -knowing that it would disable the 'u', just to rather have a bit -more deterministic builds. - -Also, to justify this change a bit more, keeping 'u' in ARFLAGS -could only result in many per-project changes to override -Libtool's ARFLAGS default, just to silent such warnings. - -Fixes bug#19967. Reported by Eric Blake. - -* m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'. -(_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string. -* doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation. -* NEWS: Document. - -Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=418129bc63afc312701e84cb8afa5ca413df1ab5] - -Signed-off-by: Li Wang -Signed-off-by: Changqing Li ---- - NEWS | 4 ++++ - doc/libtool.texi | 10 +++++----- - m4/libtool.m4 | 6 +++--- - 3 files changed, 12 insertions(+), 8 deletions(-) - -diff --git a/NEWS b/NEWS -index 71a932d..1518f09 100644 ---- a/NEWS -+++ b/NEWS -@@ -13,6 +13,10 @@ NEWS - list of user-visible changes between releases of GNU Libtool - variable, which obsoletes AR_FLAGS. This is due to naming conventions - among other *FLAGS and to be consistent with Automake's ARFLAGS. - -+** Important incompatible changes: -+ -+ - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'. -+ - ** Bug fixes: - - - Fix a race condition in ltdl dryrun test that would cause spurious -diff --git a/doc/libtool.texi b/doc/libtool.texi -index 0298627..4c664bb 100644 ---- a/doc/libtool.texi -+++ b/doc/libtool.texi -@@ -602,7 +602,7 @@ Without libtool, the programmer would invoke the @command{ar} command to - create a static library: - - @example --burger$ @kbd{ar cru libhello.a hello.o foo.o} -+burger$ @kbd{ar cr libhello.a hello.o foo.o} - burger$ - @end example - -@@ -632,7 +632,7 @@ libtool are the same ones you would use to produce an executable named - a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o} - *** Warning: Linking the shared library libhello.la against the - *** non-libtool objects foo.o hello.o is not portable! --ar cru .libs/libhello.a -+ar cr .libs/libhello.a - ranlib .libs/libhello.a - creating libhello.la - (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) -@@ -662,7 +662,7 @@ archive, not a shared library (@pxref{Static libraries}).}: - @example - a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm} --ar cru @value{objdir}/libhello.a foo.o hello.o -+ar cr @value{objdir}/libhello.a foo.o hello.o - ranlib @value{objdir}/libhello.a - creating libhello.la - (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) -@@ -676,7 +676,7 @@ burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm} - rm -fr @value{objdir}/libhello.a @value{objdir}/libhello.la - ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm --ar cru @value{objdir}/libhello.a foo.o hello.o -+ar cr @value{objdir}/libhello.a foo.o hello.o - ranlib @value{objdir}/libhello.a - creating libhello.la - (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) -@@ -6001,7 +6001,7 @@ in cases where it is necessary. - @subsection Archivers - - On all known systems, building a static library can be accomplished by --running @kbd{ar cru lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}}, -+running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}}, - where the @file{.a} file is the output library, and each @file{.o} file is an - object file. - -diff --git a/m4/libtool.m4 b/m4/libtool.m4 -index 6514196..add06ee 100644 ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -1041,8 +1041,8 @@ int forced_loaded() { return 2;} - _LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD -- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD -- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD -+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD -+ $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -@@ -1505,7 +1505,7 @@ _LT_DECL([], [AR], [1], [The archiver]) - # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS - # variable obsoleted/removed. - --test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru} -+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} - lt_ar_flags=$AR_FLAGS - _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) - --- -2.23.0 - diff --git a/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch b/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch deleted file mode 100644 index bb11887cda..0000000000 --- a/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 4335de1dfb7d2ec728427e07a54136b94a2d40f6 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Fri, 17 Apr 2015 15:05:42 +0200 -Subject: libool.m4: add ARFLAGS variable - -Libtool has used $AR_FLAGS since 2000-05-29 commit -8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit -a71b3490639831ca. Even though ARFLAGS is younger, it sounds like -better name according GNU Coding Standards. - -Related to bug#20082. - -* m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS -variable if AR_FLAGS is not set. Add new _LT_DECL'ed variable -'lt_ar_flags' to keep the configure-time value of AR_FLAGS. The -new 'lt_ar_flags' is to be used as the default value for AR_FLAGS -at libtool-runtime. -* NEWS: Document. - -Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=4335de1dfb7d2ec728427e07a54136b94a2d40f6] - -Signed-off-by: Li Wang -Signed-off-by: Changqing Li ---- - NEWS | 6 ++++++ - m4/libtool.m4 | 17 +++++++++++++++-- - 2 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/NEWS b/NEWS -index d7ca434..71a932d 100644 ---- a/NEWS -+++ b/NEWS -@@ -7,6 +7,12 @@ NEWS - list of user-visible changes between releases of GNU Libtool - - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time - and persists correctly in the generated libtool script. - -+** New features: -+ -+ - Libtool script now supports (configure-time and runtime) ARFLAGS -+ variable, which obsoletes AR_FLAGS. This is due to naming conventions -+ among other *FLAGS and to be consistent with Automake's ARFLAGS. -+ - ** Bug fixes: - - - Fix a race condition in ltdl dryrun test that would cause spurious -diff --git a/m4/libtool.m4 b/m4/libtool.m4 -index 63acd09..6514196 100644 ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -1497,9 +1497,22 @@ need_locks=$enable_libtool_lock - m4_defun([_LT_PROG_AR], - [AC_CHECK_TOOLS(AR, [ar], false) - : ${AR=ar} --: ${AR_FLAGS=cru} - _LT_DECL([], [AR], [1], [The archiver]) --_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) -+ -+# Use ARFLAGS variable as AR's operation code to sync the variable naming with -+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -+# higher priority because thats what people were doing historically (setting -+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -+# variable obsoleted/removed. -+ -+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru} -+lt_ar_flags=$AR_FLAGS -+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) -+ -+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -+# by AR_FLAGS because that was never working and AR_FLAGS is about to die. -+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], -+ [Flags to create an archive]) - - AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no --- -2.23.0 - diff --git a/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch b/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch deleted file mode 100644 index b633bc41bb..0000000000 --- a/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch +++ /dev/null @@ -1,179 +0,0 @@ -Cut and paste the pieces of build-aux/options-parser inline into the main -ltmain.sh code. This removes a performance degradation caused by the -repeated calls to func_quote_for_eval, the mechanism funclib uses -to construct the functions used for option parsing. - -Upstream-Status: Submitted [Being discussed on mailing list Feb 2015] - -diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in -index d5cf07a..0f54303 100644 ---- a/build-aux/ltmain.in -+++ b/build-aux/ltmain.in -@@ -342,11 +342,15 @@ _LT_EOF - # libtool_options_prep [ARG]... - # ----------------------------- - # Preparation for options parsed by libtool. --libtool_options_prep () --{ -+#libtool_options_prep () -+#{ - $debug_mode - - # Option defaults: -+ opt_verbose=false -+ opt_warning_types= -+ -+ # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false -@@ -382,19 +386,14 @@ libtool_options_prep () - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac -- -- # Pass back the list of options. -- func_quote_for_eval ${1+"$@"} -- libtool_options_prep_result=$func_quote_for_eval_result --} --func_add_hook func_options_prep libtool_options_prep -+#} - - - # libtool_parse_options [ARG]... - # --------------------------------- - # Provide handling for libtool specific options. --libtool_parse_options () --{ -+#libtool_parse_options () -+#{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in -@@ -474,29 +473,90 @@ libtool_parse_options () - func_append preserve_args " $_G_opt" - ;; - -- # An option not handled by this hook function: -- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -- esac -- done -+ --debug|-x) debug_cmd='set -x' -+ func_echo "enabling shell trace mode" -+ $debug_cmd -+ ;; - -+ --no-warnings|--no-warning|--no-warn) -+ set dummy --warnings none ${1+"$@"} -+ shift -+ ;; - -- # save modified positional parameters for caller -- func_quote_for_eval ${1+"$@"} -- libtool_parse_options_result=$func_quote_for_eval_result --} --func_add_hook func_parse_options libtool_parse_options -+ --warnings|--warning|-W) -+ test $# = 0 && func_missing_arg $_G_opt && break -+ case " $warning_categories $1" in -+ *" $1 "*) -+ # trailing space prevents matching last $1 above -+ func_append_uniq opt_warning_types " $1" -+ ;; -+ *all) -+ opt_warning_types=$warning_categories -+ ;; -+ *none) -+ opt_warning_types=none -+ warning_func=: -+ ;; -+ *error) -+ opt_warning_types=$warning_categories -+ warning_func=func_fatal_error -+ ;; -+ *) -+ func_fatal_error \ -+ "unsupported warning category: '$1'" -+ ;; -+ esac -+ shift -+ ;; -+ -+ --verbose|-v) opt_verbose=: ;; -+ --version) func_version ;; -+ -\?|-h) func_usage ;; -+ --help) func_help ;; -+ -+ # Separate optargs to long options (plugins may need this): -+ --*=*) func_split_equals "$_G_opt" -+ set dummy "$func_split_equals_lhs" \ -+ "$func_split_equals_rhs" ${1+"$@"} -+ shift -+ ;; -+ -+ # Separate optargs to short options: -+ -W*) -+ func_split_short_opt "$_G_opt" -+ set dummy "$func_split_short_opt_name" \ -+ "$func_split_short_opt_arg" ${1+"$@"} -+ shift -+ ;; -+ -+ # Separate non-argument short options: -+ -\?*|-h*|-v*|-x*) -+ func_split_short_opt "$_G_opt" -+ set dummy "$func_split_short_opt_name" \ -+ "-$func_split_short_opt_arg" ${1+"$@"} -+ shift -+ ;; -+ -+ --) break ;; -+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; -+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -+ esac -+ done -+#} - -+# Display all warnings if -W was not given. -+test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - - # libtool_validate_options [ARG]... - # --------------------------------- - # Perform any sanity checks on option settings and/or unconsumed - # arguments. --libtool_validate_options () --{ -+#libtool_validate_options () -+#{ - # save first non-option argument - if test 0 -lt $#; then -- nonopt=$1 -+ nonopt=$_G_opt - shift - fi - -@@ -537,20 +597,10 @@ libtool_validate_options () - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } -+#} - -- # Pass back the unparsed argument list -- func_quote_for_eval ${1+"$@"} -- libtool_validate_options_result=$func_quote_for_eval_result --} --func_add_hook func_validate_options libtool_validate_options -- -- --# Process options as early as possible so that --help and --version --# can return quickly. --func_options ${1+"$@"} --eval set dummy "$func_options_result"; shift -- -- -+# Bail if the options were screwed! -+$exit_cmd $EXIT_FAILURE - - ## ----------- ## - ## Main. ## diff --git a/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/meta/recipes-devtools/libtool/libtool_2.4.6.bb deleted file mode 100644 index 44a4950574..0000000000 --- a/meta/recipes-devtools/libtool/libtool_2.4.6.bb +++ /dev/null @@ -1,34 +0,0 @@ -require libtool-${PV}.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 = "" - -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 -} - -inherit multilib_script - -MULTILIB_SCRIPTS = "${PN}:${bindir}/libtool" diff --git a/meta/recipes-devtools/libtool/libtool_2.4.7.bb b/meta/recipes-devtools/libtool/libtool_2.4.7.bb new file mode 100644 index 0000000000..44a4950574 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool_2.4.7.bb @@ -0,0 +1,34 @@ +require libtool-${PV}.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 = "" + +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 +} + +inherit multilib_script + +MULTILIB_SCRIPTS = "${PN}:${bindir}/libtool" diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb deleted file mode 100644 index 86c55ded7b..0000000000 --- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb +++ /dev/null @@ -1,30 +0,0 @@ -require libtool-${PV}.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 -} diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb new file mode 100644 index 0000000000..86c55ded7b --- /dev/null +++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb @@ -0,0 +1,30 @@ +require libtool-${PV}.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 +} -- cgit v1.2.3-54-g00ecf