[vlc-commits] [Git][videolan/vlc][master] extras/tools: bump libtool to 2.6.2

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Mon Jul 27 16:34:50 UTC 2026



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
568f13db by Alexandre Janniaux at 2026-07-27T17:43:29+02:00
extras/tools: bump libtool to 2.6.2

libtool 2.6.2 upstreamed two of our patches, which are dropped here. The
bump notably allows to remove the unarchive-old-libraries patch that was
fixed in a follow-up version upstream to ensure we have the same version
everywhere.

libtool-2.5.4-embed-bitcode.patch is rebased onto 2.6.2 and renamed
accordingly.

- - - - -


7 changed files:

- Makefile.am
- extras/tools/SHA512SUMS
- − extras/tools/libtool-2.5.4-clang-libs.patch
- − extras/tools/libtool-2.5.4-unarchive-old-libraries.patch
- extras/tools/libtool-2.5.4-embed-bitcode.patch → extras/tools/libtool-2.6.2-embed-bitcode.patch
- extras/tools/packages.mak
- extras/tools/tools.mak


Changes:

=====================================
Makefile.am
=====================================
@@ -65,10 +65,8 @@ EXTRA_DIST += \
 	extras/tools/automake-clang.patch \
 	extras/tools/automake-disable-documentation.patch \
 	extras/tools/libtool-2.4.7-bitcode.patch \
-	extras/tools/libtool-2.5.4-clang-libs.patch \
 	extras/tools/libtool-2.4.7-lpthread.patch \
-	extras/tools/libtool-2.5.4-embed-bitcode.patch \
-	extras/tools/libtool-2.5.4-unarchive-old-libraries.patch \
+	extras/tools/libtool-2.6.2-embed-bitcode.patch \
 	extras/tools/libtool-2.5.4-ltmain.in-reference-MAGIC_EXE-in-the-main.patch \
 	extras/tools/libtool-2.5.4-libtool.m4-respect-the-provided-LTCFLAGS-LTCC-during.patch \
 	extras/tools/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch \


=====================================
extras/tools/SHA512SUMS
=====================================
@@ -14,8 +14,7 @@ ef6c3b9edc7d69c3847324134630a4fb4316e394fa3e38effb8ef3d0c03e48574d43cadf06a77435
 d24849b93de58b20f518c071687e7bfa653a96600382f36c4cf7fc1047656458f75f093b911b786b18b6931b2453cb60868ecbe07cc7d2984e5981a874b34942  help2man-1.47.6.tar.xz
 37b3a421419b16930e53181c431fe3b4afd55ac54733a5df08376641fd2fb88eeb73ee7abe3788f3e491e7c1b215c7f35aefa66f44b09008ad22b76ab2998830  ninja-1.11.1.tar.gz
 4e6ad56e18c7d5b244b94b99c7e42489b8d4e79634abb97607c3f277f74b0c3c1cb043ba48816f444d2960fe96dc38459c404207e415a1401f5fad7c6f5d60e5  meson-1.10.0.tar.gz
-27acef46d9eb67203d708b57d80b853f76fa4b9c2720ff36ec161e6cdf702249e7982214ddf60bae75511aa79bc7d92aa27e3eab7ef9c0f5c040e8e42e76a385  libtool-2.4.7.tar.gz
-60599f5c3168a287fe3a35062fd2e32e0b73433fce820bfd18d28b0e3bd7a8fefde6d6f0505fbbc2d664119ab7c539269184993843289932c895847ea1ab9f04  libtool-2.5.4.tar.gz
+e4e4df9f191152241c813e3f79f6afdc4b8a0a6d9e94d76f2b9fbea6ab98a9f5280376ec34325b5a08bc93e5b702fb2e7183488294457ee8bed33e1ec8aa4a35  libtool-2.6.2.tar.gz
 855ebce5ff36753238a44f14c95be7afdc3990b085960345ca2caf1a2db884f7db74d406ce9eec2f4a52abb8a063d4ed000a36b317c9a353ef4e25e2cca9a3f4  gperf-3.1.tar.gz
 e67a96ae99b8d06576209e0c316dda62e480b010e8459266fd4cf7029019b4a77499acbbf07d8f43541f28dae9063030a5d0f1c71eb81f723fd1b9924f967302  config.guess-a2287c3041a3f2a204eb942e09c015eab00dc7dd
 dad55c53a201de050522ed47073a6318599e15312d79eef44e1de5f82288a9bd1550c909e08752d43dd2fe442782187987e12aa565bbad70fc1b82180b49ac67  config.sub-a2287c3041a3f2a204eb942e09c015eab00dc7dd


=====================================
extras/tools/libtool-2.5.4-clang-libs.patch deleted
=====================================
@@ -1,22 +0,0 @@
-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.
-https://crbug.com/749263
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866
-
---- libtool-2.5.4/m4/libtool.m4
-+++ libtool-2.5.4/m4/libtool.m4
-@@ -7708,7 +7708,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,l}" and the path.
-        # Remove the space.
-        if test x-L = x"$p" ||
--- 
-2.45.2
-


=====================================
extras/tools/libtool-2.5.4-unarchive-old-libraries.patch deleted
=====================================
@@ -1,128 +0,0 @@
-From 0c845d7b9039050d5794f6493ea405e2f83afb70 Mon Sep 17 00:00:00 2001
-From: Alexandre Janniaux <ajanni at videolabs.io>
-Date: Tue, 6 Apr 2021 10:22:14 +0200
-Subject: [PATCH 1/3] ltmain.in: ensure old libraries are not archived
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Previously, adding a static archive library, aka. old library, as a
-dependency of a new libtool library compiled as a static archive (be it
-a convenience library or an installed static library) resulted in the
-dependency archive being added into the target archive as-is.
-
-However, linkers are usually not able to use nested archive as-is. It
-results in errors like these on Linux and Darwin at least:
-
-    /usr/bin/ld: ./.libs/libfoo.a: member ./.libs/libfoo.a(libbar.a) in
-    archive is not an object
-
-or
-
-    /usr/bin/nm: libbar.a: file format not recognized
-
-With libfoo.a being the static libtool target and libbar.a being the
-nested/linked static library.
-
-Libtool has a quite close behaviour with convenience libraries, where
-the content (objects) of the convenience library are extracted and added
-back into the new target, but that´s mostly a libtool creation.
-
-The static dependencies should not be "linked" into other static
-libraries as there should not be linking involved, and we don´t want to
-potentially duplicate symbols like done for the convenience libraries.
-
-Instead, keep them in the dependency_libs of the new libtool archive
-created and forward them until we link a shared library or an
-executable.
-
-The test was marked XFAIL since 2010 because the fix for the
-nested-archive bug was incomplete. Now that ltmain.in properly
-forwards old library dependencies instead of archiving them,
-the test passes: remove the AT_XFAIL_IF and correct the
-foo.$OBJEXT assertion (objects from the dependency must NOT
-appear in the target archive).
----
- build-aux/ltmain.in         | 11 ++++++++---
- tests/archive-in-archive.at |  8 ++++----
- 2 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 70d0e111..b32478c9 100644
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -5816,7 +5816,6 @@ func_mode_link ()
-       *.$libext|*.so)
- 	# An archive or an explicit shared library.
- 	func_append deplibs " $arg"
--	func_append old_deplibs " $arg"
- 	continue
- 	;;
- 
-@@ -6215,6 +6214,8 @@ func_mode_link ()
- 	  if test conv = "$pass"; then
- 	    deplibs="$deplib $deplibs"
- 	    continue
-+	  else
-+	    func_append old_deplibs " $deplib"
- 	  fi
- 	  case $linkmode in
- 	  lib)
-@@ -7184,7 +7185,6 @@ func_mode_link ()
-       # Now set the variables for building old libraries.
-       build_libtool_libs=no
-       oldlibs=$output
--      func_append objs "$old_deplibs"
-       ;;
- 
-     lib)
-@@ -8952,7 +8952,11 @@ func_mode_link ()
- 	  build_libtool_libs=no
-           ;;
- 	*)
--	  oldobjs="$old_deplibs $non_pic_objects"
-+	  oldobjs="$non_pic_objects"
-+	  # This is not correct to add old_deplibs creating an archive
-+	  # so append them only when creating an executable or a shared
-+	  # library.
-+	  test yes != "$build_old_libs" && oldobjs="$oldobjs $old_deplibs"
- 	  $preload && test -f "$symfileobj" \
- 	    && func_append oldobjs " $symfileobj"
- 	  addlibs=$old_convenience
-@@ -9213,6 +9217,7 @@ func_mode_link ()
- 	    done
- 	    dlprefiles=$newdlprefiles
- 	  fi
-+	  func_append dependency_libs " $old_deplibs"
- 	  $RM $output
- 	  # place dlname in correct position for cygwin
- 	  # In fact, it would be nice if we could use this code for all target
-diff --git a/tests/archive-in-archive.at b/tests/archive-in-archive.at
-index d081f57d..b48579ae 100644
---- a/tests/archive-in-archive.at
-+++ b/tests/archive-in-archive.at
-@@ -24,9 +24,6 @@
- AT_SETUP([static library contains static library])
- AT_KEYWORDS([libtool])
- 
--# This test passes with MS lib.
--AT_XFAIL_IF([case $AR in ar-lib\ * | *[[/\\]]ar-lib\ *) false;; *) :;; esac])
--
- AT_DATA([foo.c],
- [
- int foo() { return 1;}
-@@ -51,7 +48,10 @@ AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAG
- AT_CHECK([$LIBTOOL --mode=install cp libbar.la $thisdir], [], [ignore], [ignore])
- eval `$EGREP '^(old_library)=' < libbar.la`
- libbar=$old_library
-+# The old library (libfoo.a) must NOT be nested inside libbar.a.
- AT_CHECK([$AR -t $libbar | $GREP $libfoo],[1],[ignore],[ignore])
--AT_CHECK([$AR -t $libbar | $GREP foo.$OBJEXT],[],[ignore],[ignore])
-+# Objects from libfoo must NOT be extracted into libbar.a either.
-+AT_CHECK([$AR -t $libbar | $GREP foo.$OBJEXT],[1],[ignore],[ignore])
-+# bar's own object must still be present.
- AT_CHECK([$AR -t $libbar | $GREP bar.$OBJEXT],[],[ignore],[ignore])
- AT_CLEANUP
--- 
-2.53.0
-


=====================================
extras/tools/libtool-2.5.4-embed-bitcode.patch → extras/tools/libtool-2.6.2-embed-bitcode.patch
=====================================
@@ -1,4 +1,4 @@
-From 62292dccf7bfdce63e4d700b930cfca44e6d8b83 Mon Sep 17 00:00:00 2001
+From b673e6bd5a4d211e7bb05051656b5acd738fbe4d Mon Sep 17 00:00:00 2001
 From: Alexandre Janniaux <ajanni at videolabs.io>
 Date: Mon, 31 May 2021 10:28:54 +0200
 Subject: [PATCH] ltmain: add support for -fembed-bitcode
@@ -9,22 +9,22 @@ Subject: [PATCH] ltmain: add support for -fembed-bitcode
  2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index fa157775..571552b7 100644
+index af2f756..c514010 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -5349,6 +5349,7 @@ func_mode_link ()
+@@ -5451,6 +5451,7 @@ func_mode_link ()
  	continue
  	;;
        -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \
 +      |-fembed-bitcode|-fembed-bitcode-marker \
-       |-threads|-fopenmp|-fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+       |-threads|$fopenmp_match|fopenmp=*|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
  	func_append compiler_flags " $arg"
  	func_append compile_command " $arg"
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 8d323b3e..9044afc3 100644
+index 96e6c7d..ebb993a 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
-@@ -1156,9 +1156,9 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
+@@ -1275,9 +1275,9 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
    if test yes = "$_lt_dar_can_shared"; then
      output_verbose_link_cmd=func_echo_all
      _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
@@ -35,7 +35,7 @@ index 8d323b3e..9044afc3 100644
 +    _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -dynamiclib \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
      m4_if([$1], [CXX],
  [   if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then
-       _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+       _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs $stdlibflag -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
 -- 
-2.45.2
+2.54.0
 


=====================================
extras/tools/packages.mak
=====================================
@@ -10,7 +10,7 @@ CMAKE_VERSION_MAJ=4.1
 CMAKE_VERSION=$(CMAKE_VERSION_MAJ).2
 CMAKE_URL=https://www.cmake.org/files/v$(CMAKE_VERSION_MAJ)/cmake-$(CMAKE_VERSION).tar.gz
 
-LIBTOOL_VERSION=2.5.4
+LIBTOOL_VERSION=2.6.2
 LIBTOOL_URL=$(GNU)/libtool/libtool-$(LIBTOOL_VERSION).tar.gz
 
 AUTOCONF_VERSION=2.73


=====================================
extras/tools/tools.mak
=====================================
@@ -125,11 +125,9 @@ libtool: libtool-$(LIBTOOL_VERSION).tar.gz
 	$(UNPACK)
 	(cd $(UNPACK_DIR) && chmod u+w build-aux/ltmain.sh)
 	$(APPLY) $(TOOLS)/libtool-2.4.7-bitcode.patch
-	$(APPLY) $(TOOLS)/libtool-2.5.4-clang-libs.patch
 	$(APPLY) $(TOOLS)/libtool-2.4.7-lpthread.patch
-	$(APPLY) $(TOOLS)/libtool-2.5.4-embed-bitcode.patch
+	$(APPLY) $(TOOLS)/libtool-2.6.2-embed-bitcode.patch
 
-	$(APPLY) $(TOOLS)/libtool-2.5.4-unarchive-old-libraries.patch
 	$(APPLY) $(TOOLS)/libtool-2.5.4-ltmain.in-reference-MAGIC_EXE-in-the-main.patch
 	$(APPLY) $(TOOLS)/libtool-2.5.4-libtool.m4-respect-the-provided-LTCFLAGS-LTCC-during.patch
 	$(MOVE)



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/568f13dbe0deac0c6004b8a6118710f10ed2800d

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/568f13dbe0deac0c6004b8a6118710f10ed2800d
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list