]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
2 weeks agognulib: Update submodule master
Ileana Dumitrescu [Wed, 6 Aug 2025 14:53:35 +0000 (17:53 +0300)] 
gnulib: Update submodule

2 weeks agocfg.mk: Ignore sc_codespell checks
Ileana Dumitrescu [Wed, 6 Aug 2025 14:11:13 +0000 (17:11 +0300)] 
cfg.mk: Ignore sc_codespell checks

2 weeks agognulib: Update submodule
Ileana Dumitrescu [Wed, 6 Aug 2025 13:49:22 +0000 (16:49 +0300)] 
gnulib: Update submodule

2 weeks agolibtool.m4: Bump serial
Ileana Dumitrescu [Tue, 5 Aug 2025 16:39:47 +0000 (19:39 +0300)] 
libtool.m4: Bump serial

2 weeks agoUpdate NEWS
Ileana Dumitrescu [Tue, 5 Aug 2025 16:36:25 +0000 (19:36 +0300)] 
Update NEWS

2 weeks agotests: Remove CPPFLAGS from some compile commands
Ileana Dumitrescu [Thu, 24 Jul 2025 15:16:44 +0000 (18:16 +0300)] 
tests: Remove CPPFLAGS from some compile commands

* tests/flags.at, tests/infer-tag.at: Remove unneeded CPPFLAGS from
  OBJC & OBJCXX compile commands.

2 weeks agotests/bug_71489.at: Split into two test cases
Ileana Dumitrescu [Thu, 24 Jul 2025 14:50:49 +0000 (17:50 +0300)] 
tests/bug_71489.at: Split into two test cases

2 weeks agolibltdl: Fix libltdl early failures for multi-arch
Pierre Ossman [Tue, 1 Apr 2025 13:47:44 +0000 (16:47 +0300)] 
libltdl: Fix libltdl early failures for multi-arch

Since there could be multiple files for libltdl to try dlopening,
libltdl should not fail after the first attempted file.

Reported: https://savannah.gnu.org/support/?111214

* libltdl/ltdl.c: Change return if dlopen() fails.
* libltdl/ltdl.mk: Update serial.

2 weeks agoltmain.in: Fix reordering --as-needed
Pierre Ossman [Tue, 1 Apr 2025 13:44:51 +0000 (16:44 +0300)] 
ltmain.in: Fix reordering --as-needed

Libtool was reordering flags like, --as-needed, which broke its usage,
since the relevant libraries were no longer following the flag.

Reported: https://savannah.gnu.org/support/?111213

* build-aux/ltmain.in: Add check for --as-needed and --no-as-needed
  flags.

2 weeks agom4: Fix flang -Wl flags on FreeBSD
Gleb Popov [Tue, 1 Jul 2025 18:15:30 +0000 (21:15 +0300)] 
m4: Fix flang -Wl flags on FreeBSD

2 weeks agomaint: fix Automake warning
Collin Funk [Mon, 7 Jul 2025 03:23:35 +0000 (20:23 -0700)] 
maint: fix Automake warning

* Makefile.am (prologue): Remove macro.
(THANKS): Use the perl command directly.

2 weeks agoltmain.in: Handle clang's target architecture flag
Ileana Dumitrescu [Mon, 14 Jul 2025 15:39:21 +0000 (18:39 +0300)] 
ltmain.in: Handle clang's target architecture flag

* build-aux/ltmain.in: Pass clang's '--target' flag for specifying
  architecture through libtool unchanged.

2 weeks agolibtool: Forward slash escaping check on Windows
Evgeny Grin [Fri, 4 Jul 2025 15:02:31 +0000 (18:02 +0300)] 
libtool: Forward slash escaping check on Windows

Without cygpath, Window's 'cmd' may hang with a single slash (when transforming)
and may hang with two slashes (when not transforming).

Reported: https://savannah.gnu.org/support/index.php?110901

* build-aux/ltmain.in: Use one or two slashes with Window's command
  prompt based on cached value in lt_cv_cmd_slashes.
* m4/libtool.m4: Cache whether one or two slashes are needed with
  Window's command prompt, when cygpath is not installed in path.

2 weeks agolibtool.m4: Fix missing quotes for lt_ar_flags
Ileana Dumitrescu [Thu, 19 Jun 2025 14:01:11 +0000 (17:01 +0300)] 
libtool.m4: Fix missing quotes for lt_ar_flags

lt_ar_flags are unquoted, which causes failures when additional options
are passed to ARFLAGS.

Reported: https://savannah.gnu.org/support/?111257

* m4/libtool.m4: Make lt_ar_flags declare as quoted.

2 weeks agolibtool: Support MSYS and MSYS2 file path conversions
Ileana Dumitrescu [Mon, 16 Jun 2025 18:06:51 +0000 (21:06 +0300)] 
libtool: Support MSYS and MSYS2 file path conversions

MSYS does not have cygpath installed by default, so during configure,
a check for cygpath is cached. If cygpath is not found, Window's command
prompt will be used with a forward slash escape on the 'c' flag:
"cmd //c".

Reported: https://savannah.gnu.org/support/?110901

* build-aux/ltmain.in: Choose file path conversion for MSYS(2) by
  whether cygpath is installed.
* m4/libtool.m4: Cache whether cygpath is installed in user path.

2 weeks agolibltdl: Undeclared reference to access on Windows
Kirill Makurin [Thu, 5 Jun 2025 16:22:42 +0000 (16:22 +0000)] 
libltdl: Undeclared reference to access on Windows

On native Windows (MSVC/mingw), access is declared in io.h, which is
not included.

* Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78701

* libltdl/ltdl.h: Include io.h on Windows platforms.
* libltdl/ltdl.mk: Update serial.

2 weeks agoltmain.in: Temporary comment update.
Ileana Dumitrescu [Fri, 6 Jun 2025 13:45:06 +0000 (16:45 +0300)] 
ltmain.in: Temporary comment update.

On MSYS2, file path conversion will no longer result in libtool hanging,
but the original MSYS will not be able to do file path conversions
without cygpath. Original MSYS support for file path conversions will be
re-added before commit 1377b68b4aed0d6ee3c390131eb763d26e5b642d migrates
to master.

Reported: https://savannah.gnu.org/support/index.php?110901

* build-aux/ltmain.in: Update comment from MSYS to MSYS2.

2 weeks agonotes.texi: Inform users about MSVC configuration
Ileana Dumitrescu [Fri, 6 Jun 2025 13:37:57 +0000 (16:37 +0300)] 
notes.texi: Inform users about MSVC configuration

When building libltdl with the MSVC toolchain, Fortran checks can cause
issues with finding symbols, but users can avoid this by setting the
Fortran compiler environment variables to "no".

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78682

* doc/notes.texi: Add item.

2 weeks agotests: Skip failing tests on MSVC
Ileana Dumitrescu [Wed, 7 May 2025 14:39:36 +0000 (17:39 +0300)] 
tests: Skip failing tests on MSVC

Test 'deplibs without file command' fails on MSVC with a 'hard failure'.
Since this test was created for MinGW, skipping for now.

Test 'Libtool stress test.' fails on MSVC when the cl compiler cannot
open an expsym file, which appears to exist but is empty.

* tests/deplibs-mingw.at: Add check for MSVC build to skip test.
* tests/stresstest.at: Add check for MSVC build to skip test.

2 weeks agoinherited_flags.at: Fix test on MSVC
Ileana Dumitrescu [Thu, 17 Apr 2025 14:28:50 +0000 (17:28 +0300)] 
inherited_flags.at: Fix test on MSVC

* tests/inherited_flags.at: Modify grep to limit search range.

2 weeks agolibtool: Fix MSVC cl.exe .exp extension collision
Mitch [Mon, 2 Dec 2024 20:47:48 +0000 (22:47 +0200)] 
libtool: Fix MSVC cl.exe .exp extension collision

MSVC's compiler uses the .exp entension for their own export format,
which causes a build failure when a subsequent build is run. The
MSVC compiler, cl.exe, errors for an invalid file format. This is fixed
by using a similar extension name to avoid the naming collision.

Reported: https://savannah.gnu.org/support/?111157

* build-aux/ltmain.in: Replace .exp extension with .expsym.
* m4/libtool.m4: Replace .exp extension with .expsym.

2 weeks agoltmain.in: Add 'S_ISDIR' definition for MSVC
Ileana Dumitrescu [Wed, 26 Mar 2025 15:19:39 +0000 (17:19 +0200)] 
ltmain.in: Add 'S_ISDIR' definition for MSVC

Several test failures occur from fix for sr #111191 with MSVC, which is
fixed by defining S_ISDIR with a different variable name, MSVC_ISDIR.

  error LNK2019: unresolved external symbol S_ISDIR referenced in func check_executable

* build-aux/ltmain.in: Define and use macro MSVC_ISDIR.

2 weeks agoltmain.in: Fix hang with cmd.exe in MSYS
Ileana Dumitrescu [Wed, 19 Feb 2025 16:58:16 +0000 (18:58 +0200)] 
ltmain.in: Fix hang with cmd.exe in MSYS

Translating file paths from MSYS to W32 has been causing libtool to
indefinitely hang when 'cmd.exe //c' is called. Instead, 'cygpath' is
packaged on MSYS, so it will now handle the path conversion.

* build-aux/ltmain.in: Replace 'cmd.exe //c' with 'cygpath' usage.

2 weeks agolibtoolize.at: Update checks based on linker used
Ileana Dumitrescu [Mon, 30 Dec 2024 15:55:30 +0000 (17:55 +0200)] 
libtoolize.at: Update checks based on linker used

If mklink is used for symlinking files, the expout will not match, so
stdout is used instead.

* tests/libtoolize.at: Use stdout for checks instead of expout on MSVC.

2 weeks agolibtool.m4: preload valid C symbol names only
Michael Haubenwallner [Tue, 16 May 2017 09:49:05 +0000 (11:49 +0200)] 
libtool.m4: preload valid C symbol names only

* m4/libtool.m4 (global_symbol_to_import, global_symbol_to_cdecl,
global_symbol_to_c_name_address,
global_symbol_to_c_name_address_lib_prefix): List valid C symbol names
only in lt_<modname>_LTX_preloaded_symbols array.

2 weeks agolibtool.m4: For MS dumpbin drop CR first.
Michael Haubenwallner [Thu, 11 May 2017 12:10:17 +0000 (14:10 +0200)] 
libtool.m4: For MS dumpbin drop CR first.

On Cygwin, gawk-4.1.4-3 and newer do not treat the input stream as text
any more, leaving us behind with carriage return in symbol names.
* m4/libtool.m4 (lt_cv_sys_global_symbol_pipe): In AWK script for MS
dumpbin drop CR first.

2 weeks agolibtoolize.in: Create symlinks with mklink for MSVC
Ileana Dumitrescu [Wed, 11 Dec 2024 16:43:47 +0000 (18:43 +0200)] 
libtoolize.in: Create symlinks with mklink for MSVC

Symlink files are not generated properly with 'ln -s' for MSVC to
process, so mklink is used, which swaps the argument order of target
and link_name. This also requires absolute paths, generated with the
use of cygpath.

* libtoolize.in: Check if linking with mklink and update processing.

2 weeks agotests: Include check for __CYGWIN__ for crossbuilds
Ileana Dumitrescu [Wed, 11 Dec 2024 16:43:47 +0000 (18:43 +0200)] 
tests: Include check for __CYGWIN__ for crossbuilds

* tests/demo.at, tests/lt_dlexit.at: Add __CYGWIN__ to check for
crossbuilds of build cygwin with host mingw and the MSVC toolchain.

2 weeks agotagdemo.at: Update for MSVC
Ileana Dumitrescu [Wed, 11 Dec 2024 16:43:47 +0000 (18:43 +0200)] 
tagdemo.at: Update for MSVC

* tests/tagdemo.at: Remove namespace support check, add iostream.h
support check, and make iostream the default include, not iostream.h.

2 weeks agolibtool: Alter expected line endings in testsuite
Ileana Dumitrescu [Mon, 7 Apr 2025 16:55:23 +0000 (19:55 +0300)] 
libtool: Alter expected line endings in testsuite

When comparing expected output in LT_AT_CHECK_EXECUTE, several tests
fail with mismatched line endings. This patch should fix Windows
environments that have CRLF text line endings disabled and only use
the LF character for line endings.

* tests/testsuite.at: Removed '\r' from awk's printf command.

2 weeks agotestsuite.at: Update testsuite config for MSVC
Ileana Dumitrescu [Wed, 11 Dec 2024 16:43:47 +0000 (18:43 +0200)] 
testsuite.at: Update testsuite config for MSVC

* tests/testsuite.at: Make symlink tool mlink for MSVC.

2 weeks agolibtool: Fix mishandling compiler flags with MSVC tools
Ileana Dumitrescu [Tue, 7 Jan 2025 17:34:11 +0000 (19:34 +0200)] 
libtool: Fix mishandling compiler flags with MSVC tools

With MSVC, linker flags were not properly being linked in during a
compile command. A check has been added to verify if there are linker
flags set and then use a different command when linking.

Fixes applied for bug#74175.

* build-aux/ltmain.in: Fix command parser for '-Wl' option for MSVC.
* m4/libtool.m4: Fix MSVC compile commands.
* tests/flags.at: Use '$GREP --' instead of '$FGREP' when comparing with
  stdout.

2 weeks agoNEWS: Update for previous commits
Ileana Dumitrescu [Mon, 19 May 2025 16:42:34 +0000 (19:42 +0300)] 
NEWS: Update for previous commits

2 weeks agoAllow statically linking compiler support libraries when linking a library
Martin Storsjö [Mon, 19 Aug 2019 10:34:51 +0000 (13:34 +0300)] 
Allow statically linking compiler support libraries when linking a library

For cases with deplibs_check_method="file_magic ..." (as it is for mingw),
there were previously no way that a static library could be accepted
here.

2 weeks agoPick up clang_rt static archives compiler internal libraries
Manoj Gupta [Wed, 10 Oct 2018 07:50:23 +0000 (10:50 +0300)] 
Pick up clang_rt static archives compiler internal 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.
https://crbug.com/749263
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866

2 weeks agolibtool: Update documentation
Ileana Dumitrescu [Fri, 16 May 2025 16:08:18 +0000 (19:08 +0300)] 
libtool: Update documentation

For many GNU/Linux systems, the shared library cache is not updated
after a "make install". Some reasoning is outlined in the
documentation now for users with instruction for how to update
the shared library cache if desired.

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78321

* build-aux/ltmain.in: Add informational note during build.
* doc/notes.texi: Update.

2 weeks agodoc: Explain how to specify library dependencies.
Bruno Haible [Tue, 6 May 2025 15:00:51 +0000 (17:00 +0200)] 
doc: Explain how to specify library dependencies.

* doc/libtool.texi (Link mode): Explain how to specify dependencies to
already installed libraries.

2 weeks agoMove mlibc case matches above GNU/Linux (and similar) ones.
Mintsuki [Sun, 27 Apr 2025 19:01:12 +0000 (21:01 +0200)] 
Move mlibc case matches above GNU/Linux (and similar) ones.

This allows a *-linux-mlibc host to correctly match with the mlibc userland
rather than having the GNU/Linux (and similar) userland match override it.

NEWS: Update

4 months agoNEWS: Update for bugs fixed
Ileana Dumitrescu [Tue, 15 Apr 2025 14:32:50 +0000 (17:32 +0300)] 
NEWS: Update for bugs fixed

4 months agom4: Update serials for modified files
Ileana Dumitrescu [Fri, 11 Apr 2025 17:57:53 +0000 (20:57 +0300)] 
m4: Update serials for modified files

4 months agolibtool: Add configuration options for CXX linking
Ileana Dumitrescu [Tue, 25 Mar 2025 15:57:44 +0000 (17:57 +0200)] 
libtool: Add configuration options for CXX linking

Add configuration options to choose whether to use '-nostdlib' when
linking C++ shared libraries and modules.

* m4/libtool.m4: Replace '-nostdlib' with variable '$stdlibflag' and
  set '$output_verbose_link_cmd' to be empty when enabling standard
  library linking for C++ modules.
* m4/ltoptions.m4: Add new configuration options, --enable-cxx-stdlib
  and --disable-cxx-stdlib, and add LT_INIT options, cxx-stdlib and
  no-cxx-stdlib.
* doc/libtool.texi: Update for new configuration options.
* NEWS: Update.

4 months agolibtool.m4: Fix postdeps in NetBSD
Anthony Mallet [Sun, 23 Mar 2025 12:56:14 +0000 (13:56 +0100)] 
libtool.m4: Fix postdeps in NetBSD

commit:c7be1f229 addresses an issue with building C++ modules on NetBSD, by
removing -lgcc_s and -lgcc. This may sometimes not work correctly, depending
on the architecture, as libgcc_s.so and libgcc.a may contain required code to
properly link the shared object. On NetBSD, libgcc.a is compiled with -fPIC
and can be linked to a shared object without any issue.

Reported: https://savannah.gnu.org/support/index.php?111210

4 months agoltmain.in: Supporting -S and -t flags from install-sh
Julien ÉLIE [Thu, 20 Mar 2025 22:15:45 +0000 (00:15 +0200)] 
ltmain.in: Supporting -S and -t flags from install-sh

Libtool silently discards options for install-sh that have not been
specified. Now the install directory and a suffix for backing up
files can be specified to be passed through libtool.

Reported: https://savannah.gnu.org/patch/index.php?10510

* build-aux/ltmain.in: Recognize -S and -t flags from install-sh.

4 months agolibtool.m4: Fix for invalid postdeps
Christian Feld [Mon, 10 Feb 2025 10:53:07 +0000 (10:53 +0000)] 
libtool.m4: Fix for invalid postdeps

Omitting lines starting with 'Driving:' fixes the invalid postdeps
observed with FC.

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76177

* m4/libtool.m4: Omit lines that start with 'Driving:' when setting
  output_verbose_link_cmd.

4 months agoNew program libtool-next-version.
Bruno Haible [Wed, 26 Feb 2025 14:07:39 +0000 (15:07 +0100)] 
New program libtool-next-version.

* libtool-next-version.in: New file, based on
gnulib/build-aux/libtool-next-version.
* doc/libtool.texi (Updating version info): Add sub-nodes
'Manual version info update', 'Guided version info update',
'Invoking libtool-next-version'. Note, line breaks use
partial semantic newlines.
* Makefile.am (BUILT_SOURCES): Add libtool-next-version.
(libtoolnextv_in): New variable.
(EXTRA_DIST): Add it.
(bin_SCRIPTS): Add libtool-next-version.
(libtool-next-version): New target.
(libtoolnextv_1): New variable. New target.
(dist_man1_MANS): Add it.
* NEWS: Update.

4 months agodarwin.at: Avoid skipping macOS test
Ileana Dumitrescu [Tue, 25 Feb 2025 20:10:12 +0000 (22:10 +0200)] 
darwin.at: Avoid skipping macOS test

The test for 'darwin fat compile' is being skipped on 64-bit machines,
since the architecture option was specifying i386 (deprecated on macOS).

Reported: https://savannah.gnu.org/support/?111158

* tests/darwin.at: Update to use architecture arm64 instead of i386.

4 months agoltmain.in: Fix mistaking a directory as an executable
Takashi Yano [Wed, 19 Feb 2025 23:37:27 +0000 (01:37 +0200)] 
ltmain.in: Fix mistaking a directory as an executable

find_executable() can return a directory of the same name as the target
executable if the directory is found earlier in the PATH, which causes
check_executable() to fail.

Reported: https://savannah.gnu.org/support/?111191

* build-aux/ltmain.in: Check if directory is found before executable
  in the PATH.

6 months agom4: Update serials for modified files
Ileana Dumitrescu [Thu, 13 Feb 2025 15:27:45 +0000 (17:27 +0200)] 
m4: Update serials for modified files

6 months agolibtool.m4: Update NetBSD postdeps for shared libraries
Ileana Dumitrescu [Mon, 10 Feb 2025 19:28:06 +0000 (21:28 +0200)] 
libtool.m4: Update NetBSD postdeps for shared libraries

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70978

* m4/libtool.m4: Linking a shared version of 'gcc' is not possible on
  NetBSD, since the shared version of the library is 'gcc_s'. postdeps
  have been updated to remove gcc.
* NEWS: Update.

6 months agoRevert "libtool: Skip passing CXX flags test on NetBSD"
Ileana Dumitrescu [Mon, 10 Feb 2025 19:25:00 +0000 (21:25 +0200)] 
Revert "libtool: Skip passing CXX flags test on NetBSD"

This reverts commit 2da3546a0de5c952a2ffd20db6ff310a32a6f373.

6 months agoltmain.in: Increase revision limit to 19 digits
Ileana Dumitrescu [Tue, 28 Jan 2025 14:23:54 +0000 (16:23 +0200)] 
ltmain.in: Increase revision limit to 19 digits

Current, age, and revision values for a library seem to have been chosen
arbitrarily, which is limiting users to a 5 digit maximum. Now, users
can set revision to at most 19 digits, which is referencing Unix epoch
time in nanoseconds.

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75880

* build-aux/ltmain.in: Update revision check to allow up to 19 digits.
* tests/versioning.at: Add more version checks to test.
* NEWS: Update.

6 months agoltoptions.m4: Make aix-soname assignment more clear
Ileana Dumitrescu [Sat, 18 Jan 2025 13:46:34 +0000 (15:46 +0200)] 
ltoptions.m4: Make aix-soname assignment more clear

The option --with-aix-soname=svr4 does not work the same as using
LT_INIT([aix-soname=svr4]), since the configure script is reordered
depending on which is used. The reordering causes 'enable_shared'
to not be set before processing for 'aix-soname' when using LT_INIT.

For LT_INIT([aix-soname=svr4]) to be set as intended, 'shared' must
be set before 'aix-soname=svr4', like LT_INIT([shared aix-soname=svr4]).

* m4/ltoptions.m4: Warn user if 'enable_shared' has not been set when
  setting 'aix-soname' and add configuration messages to show which
  variant of shared library versioning has been set for 'aix-soname'.
* doc/libtool.texi: Update to specify need for 'shared' to be used
  before 'aix-soname' for LT_INIT.

6 months agolibtool.texi: Update tagging documentation
Karl Berry [Sun, 10 Dec 2023 18:06:03 +0000 (11:06 -0700)] 
libtool.texi: Update tagging documentation

* doc/libtool.texi: Failure to infer a tag results in a fatal error,
  not in defaulting to tag CC.

6 months agoltmain.in: Compiler dependencies wrongly deduplicated
Frédéric Bérat [Thu, 3 Feb 2022 15:26:55 +0000 (16:26 +0100)] 
ltmain.in: Compiler dependencies wrongly deduplicated

Removing duplicate compiler dependencies causes linking problems on
linux with GCC libraries. This deduplication optimization is no longer
used for linux hosts.

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75462

* build-aux/ltmain.in: Add linux to list of hosts that do not remove
  duplicate compiler dependencies.
* NEWS: Update.

6 months agolibtool: Add tagging support for OBJC and OBJCXX
Ileana Dumitrescu [Fri, 10 Jan 2025 17:54:28 +0000 (19:54 +0200)] 
libtool: Add tagging support for OBJC and OBJCXX

Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67754

* Makefile.am: Set environment variables for tests.
* configure.ac: Add language support for Objective-C and Objective-C++.
* build-aux/ltmain.in: Update help message for tags available.
* m4/libtool.m4: Add tagging support for OBJC and OBJCXX.
* tests/flags.at: Add tests for passing OBJC and OBJCXX flags.
* tests/infer-tag.at: Add tests for inferring OBJC and OBJCXX tags.
* doc/libtool.texi: Update documentation.
* NEWS: Update.

6 months agodemo.at: Skip test if deplibs_check_method is not pass_all
Ileana Dumitrescu [Tue, 7 Jan 2025 15:07:53 +0000 (17:07 +0200)] 
demo.at: Skip test if deplibs_check_method is not pass_all

The test 'deplibs_check_method' was designed to verify pass_all
works as expected. Many warnings occur for systems that do not
have deplibs_check_method set to pass_all, so this test is skipped
on those.

* tests/demo.at: Add check for deplibs_check_method=pass_all.

6 months agoltmain.in: Update info supplied to user for --tag usage
Ileana Dumitrescu [Sat, 4 Jan 2025 12:53:13 +0000 (14:53 +0200)] 
ltmain.in: Update info supplied to user for --tag usage

* build-aux/ltmain.in: Make error message more explicit for users,
  and add tag name information to help menu.
* tests/infer-tag.at: Add testcase for unsupported compiler use.

6 months agoltmain.in: Replace old warnings with documentation
Ileana Dumitrescu [Fri, 6 Dec 2024 14:28:02 +0000 (16:28 +0200)] 
ltmain.in: Replace old warnings with documentation

Without the ability to disable these old warnings individually, they
are migrating to the relevant section of the documentation to inform
new users that may not know. These warnings have been present for
two decades, so existing users should be aware of this functionality.

* build-aux/ltmain.in: Remove old warnings.
* doc/libtool.texi: Document contents of warning messages.

6 months agolibtool.texi: Document '--no-warnings' in manual
Ileana Dumitrescu [Fri, 6 Dec 2024 14:24:07 +0000 (16:24 +0200)] 
libtool.texi: Document '--no-warnings' in manual

7 months agolibtool: Update copyright year
Ileana Dumitrescu [Thu, 2 Jan 2025 14:30:23 +0000 (16:30 +0200)] 
libtool: Update copyright year

7 months agognulib: Update submodule
Ileana Dumitrescu [Thu, 2 Jan 2025 14:26:27 +0000 (16:26 +0200)] 
gnulib: Update submodule

9 months agomaint: post-release administrivia
Ileana Dumitrescu [Wed, 20 Nov 2024 20:08:47 +0000 (22:08 +0200)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

9 months agoversion 2.5.4 v2.5.4
Ileana Dumitrescu [Wed, 20 Nov 2024 19:40:14 +0000 (21:40 +0200)] 
version 2.5.4

* NEWS: Record release date.

9 months agobootstrap: Reflect changes from submodule update
Ileana Dumitrescu [Wed, 20 Nov 2024 18:39:32 +0000 (20:39 +0200)] 
bootstrap: Reflect changes from submodule update

9 months agoNEWS: Update for previous commit
Ileana Dumitrescu [Wed, 20 Nov 2024 18:29:04 +0000 (20:29 +0200)] 
NEWS: Update for previous commit

9 months agolibtool: Replace support for ironclad* with *-mlibc
mintsuki [Wed, 20 Nov 2024 17:34:58 +0000 (18:34 +0100)] 
libtool: Replace support for ironclad* with *-mlibc

The main Ironclad kernel-based distribution (Gloire) uses the mlibc
C library for its userland, and that is what commit
bd15931e57f5171732a1a911cbbad9b5e03d0308 was intended to support.
There is no reason this support should be Ironclad-specific, as there
are many other OSes that use mlibc, most prominently "Managarm",
which is already supported by gnu-config.

9 months agolibltdl: Bump version for minor bugfix during cleaning
Ileana Dumitrescu [Wed, 20 Nov 2024 15:30:20 +0000 (17:30 +0200)] 
libltdl: Bump version for minor bugfix during cleaning

9 months agobootstrap: Update submodule to recent commit
Ileana Dumitrescu [Wed, 20 Nov 2024 14:20:59 +0000 (16:20 +0200)] 
bootstrap: Update submodule to recent commit

9 months agognulib: Update submodule to recent commit
Ileana Dumitrescu [Wed, 20 Nov 2024 14:16:21 +0000 (16:16 +0200)] 
gnulib: Update submodule to recent commit

9 months agoNEWS: Update for recent commits
Ileana Dumitrescu [Tue, 19 Nov 2024 19:31:53 +0000 (21:31 +0200)] 
NEWS: Update for recent commits

9 months agolibtool: add support for wasm32-emscripten
Khalid Masum [Wed, 15 May 2024 11:03:30 +0000 (17:03 +0600)] 
libtool: add support for wasm32-emscripten

This patch adds support for emscripten compiler for shared compilation.

* build-aux/ltmain.in: clone link-mode handling for emscripten from
unixware7.
* m4/libtool.m4: translate emscripten specific flags for shared module
building.

9 months agolibtool: Add support for SerenityOS
Tim Schumacher [Sun, 29 May 2022 13:01:28 +0000 (15:01 +0200)] 
libtool: Add support for SerenityOS

This hobbyist OS has already been added to `config.sub` (and
`config.guess` respectively) some time ago, but was still lacking
upstream support for building libraries using libtool.

Since it is a relatively up-to-date system with ports of modern
software, "adding support" mostly just means adding empty cases to avoid
falling though to the most basic behavior (that guarantees compatibility
at the expense of disabling everything that might be critical).

* m4/libtool.m4: Add support for SerenityOS.

9 months agolibtool: add support for Ironclad
streaksu [Sat, 2 Dec 2023 21:00:00 +0000 (22:00 +0100)] 
libtool: add support for Ironclad

9 months agoDo not explicitly link dependencies on Haiku.
Adrien Destugues [Sat, 11 Apr 2020 19:12:42 +0000 (21:12 +0200)] 
Do not explicitly link dependencies on Haiku.

This is not needed, the runtime_loader can figure them out.

9 months agoAdjust haiku configuration
Jerome Duval [Sat, 30 Sep 2017 10:12:08 +0000 (12:12 +0200)] 
Adjust haiku configuration

9 months agoltmain.in: Fix handling xlc(1)-specific options
Ileana Dumitrescu [Tue, 19 Nov 2024 18:58:01 +0000 (20:58 +0200)] 
ltmain.in: Fix handling xlc(1)-specific options

Patch supplied on Savannah by user, whr:
  https://savannah.gnu.org/patch/index.php?10126

9 months agolibtool.at: Fix failures for 'test silencing warnings'
Ileana Dumitrescu [Mon, 18 Nov 2024 20:20:05 +0000 (22:20 +0200)] 
libtool.at: Fix failures for 'test silencing warnings'

Replace 'g++' with variable '$CXX' and add version number for flag
'-version-info'.

9 months agolibtool.texi: Remove section 'References'
Ileana Dumitrescu [Mon, 18 Nov 2024 18:50:01 +0000 (20:50 +0200)] 
libtool.texi: Remove section 'References'

The section 'References' only contained old broken links.

* doc/libtool.texi: Remove broken links from documentation.

9 months agolibtool: Fix --no-warnings flag
Ileana Dumitrescu [Mon, 18 Nov 2024 18:19:57 +0000 (20:19 +0200)] 
libtool: Fix --no-warnings flag

Passing --no-warnings to libtool would not suppress warning messages.

* build-aux/ltmain.in: Add 'opt_warning' check before printing out
  warning messages.
* tests/libtool.at: Add simple test for '--no-warnings'.
* NEWS: Update.

9 months agoltmain.in: Fix infinite loop for error messages
Ileana Dumitrescu [Thu, 14 Nov 2024 19:05:12 +0000 (21:05 +0200)] 
ltmain.in: Fix infinite loop for error messages

If an invalid argument is passed to options '--mode' or '--reorder-cache'
after a valid command, error messages will print infinitely:

  $ libtool --help --mode=MODE
  libtool:   error: invalid argument 'MODE' for --mode
  libtool:   error: invalid argument 'MODE' for --mode
  libtool:   error: invalid argument 'MODE' for --mode
  ...

* build-aux/ltmain.in: Remove 'break' in case statement to fix infinite
  loop, and add shift for option '--reorder-cache' to allow more options
  to be processed.

9 months agoltmain.in: Upgrade warnings to errors
Ileana Dumitrescu [Thu, 14 Nov 2024 18:31:55 +0000 (20:31 +0200)] 
ltmain.in: Upgrade warnings to errors

9 months agoltmain.in: Update libtool usage for missing options
Ileana Dumitrescu [Thu, 14 Nov 2024 18:21:41 +0000 (20:21 +0200)] 
ltmain.in: Update libtool usage for missing options

Some options were not listed in the usage output of libtool: --finish,
--no-quiet, and --no-silent.

9 months agolibtool.m4: Fix '-Fe' usage with linking in MSVC
Ileana Dumitrescu [Wed, 13 Nov 2024 17:37:10 +0000 (19:37 +0200)] 
libtool.m4: Fix '-Fe' usage with linking in MSVC

A space after '-Fe' treats a file name as an input file instead of
as the intended output file.

* m4/libtool.m4: Remove space after '-Fe'.
* NO-THANKS: Add Kirill Makurin for bug report 74175.
* NEWS: Update.

9 months agolibtool: Add option to reorder the shared library cache
Ileana Dumitrescu [Mon, 11 Nov 2024 19:24:08 +0000 (21:24 +0200)] 
libtool: Add option to reorder the shared library cache

Add option to reorder the shared library cache in OpenBSD so that user
preferred directories for shared libraries can be used when linking
before directories previously listed in the shared library cache.

This allows for users in OpenBSD to easily switch between versions of
libraries with the same name during testing.

* NEWS: Update for new (OpenBSD) option.
* build-aux/ltmain.in: Add option --reorder-cache=DIRS.
* doc/libtool.texi: Update documentation for new option.
* test/bug_71489.at: Alter test for OpenBSD to utilize new option.

9 months agolibtool: Fix local testing of shared libraries on OpenBSD
Ileana Dumitrescu [Thu, 7 Nov 2024 14:29:19 +0000 (16:29 +0200)] 
libtool: Fix local testing of shared libraries on OpenBSD

On OpenBSD 7.5, the shared library cache is updated with finish_cmds,
which causes the test for 'Use local version' to fail. Simply, installed
versions of shared libraries take precedence over those locally built.

To ensure local versions of shared libraries can be tested properly and
more easily, additional options have been added to libtool to skip
executing finish_cmds, like 'ldconfig -m $libdir' in OpenBSD.

* build-aux/ltmain.in: Add libtool option, '--no-finish.
* doc/libtool.texi: Document new option in libtool.
* NEWS: Update.

9 months agolibtool.m4: Update hardcode_shlibpath_var for OpenBSD
Ileana Dumitrescu [Wed, 30 Oct 2024 18:32:25 +0000 (20:32 +0200)] 
libtool.m4: Update hardcode_shlibpath_var for OpenBSD

When generating an executable in OpenBSD, the executable fails to
generate when shlibpath_var, LD_LIBRARY_PATH, is used solely to
locate dependent libraries.

For hardcoding library paths in OpenBSD, see documentation for
hardcode_direct and hardcode_libdir_flag_spec.

* m4/libtool.m4: Update hardcode_shlibpath_var from 'no' to 'unsupported'
  by removing 'with_gnu_ld=no' for OpenBSD.

9 months agolibtool: Prefer response files over linker scripts for mingw tools
Martin Storsjö [Wed, 10 Oct 2018 07:47:21 +0000 (10:47 +0300)] 
libtool: Prefer response files over linker scripts for mingw tools

The GCC/binutils tools support response files just fine, while
lld (impersonating GNU ld) only supports response files, not
linker scripts. Using a linker script as input just to pass a
list of files is overkill for cases when a response file is enough.

* build-aux/ltmain.in: Move creation of ld script.
* m4/libtool.m4: Add new variable tag for file_list_spec.
* NEWS: Update.

9 months agolibtool: Avoid test failure in OpenBSD
Ileana Dumitrescu [Fri, 25 Oct 2024 16:06:44 +0000 (19:06 +0300)] 
libtool: Avoid test failure in OpenBSD

The following errors can be seen for the 'execute mode' test in OpenBSD:
  build/libtool: test: <: missing second argument
  build/libtool: test: >: missing second argument

The cwrapper in OpenBSD cannot parse these symbols as arguments in
execute mode if there are no other characters with them.

* tests/execute-mode.at: Escape '<' and '>' in OpenBSD.

9 months agolibtool: Use wrapper function for AUTORECONF
Ileana Dumitrescu [Fri, 25 Oct 2024 15:23:58 +0000 (18:23 +0300)] 
libtool: Use wrapper function for AUTORECONF

Update tests to skip if required autotools are not installed for
executing AUTORECONF and to have stdout saved for checks.

* tests/bug_42313.at: Use LT_AT_AUTORECONF instead of AT_CHECK.
* tests/testsuite.at: Save stdout for LT_AT_AUTORECONF.

9 months agolibtool: Test trailing slash in destination
Ileana Dumitrescu [Thu, 24 Oct 2024 17:43:03 +0000 (20:43 +0300)] 
libtool: Test trailing slash in destination

This test is added to ensure path comparisons pass when
installing to a destination, specifically when there is a
trailing slash in the destination.

* tests/destdir.at: Add test for trailing slash in destination.

9 months agoltmain.in: Handle trailing slashes on install commands
Richard Purdie [Sat, 16 Apr 2022 17:58:15 +0000 (18:58 +0100)] 
ltmain.in: Handle trailing slashes on install commands

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.

* build-aux/ltmain.in: Strip trailing slashes on install commands.
* NEWS: Update.

10 months agognulib: Update submodule to recent commit
Ileana Dumitrescu [Tue, 22 Oct 2024 15:08:03 +0000 (18:08 +0300)] 
gnulib: Update submodule to recent commit

10 months agoUpdate NEWS for recent commits
Ileana Dumitrescu [Fri, 18 Oct 2024 14:35:03 +0000 (17:35 +0300)] 
Update NEWS for recent commits

10 months agolibtool.m4: Support for more flang compilers
Alastair McKinstry [Tue, 19 Feb 2019 09:28:49 +0000 (11:28 +0200)] 
libtool.m4: Support for more flang compilers

10 months agoltmain.in: Add error message for unknown version type
Alastair McKinstry [Sat, 12 Jan 2019 11:15:51 +0000 (13:15 +0200)] 
ltmain.in: Add error message for unknown version type

10 months agolibtool: Change how version is derived
Alastair McKinstry [Mon, 21 Mar 2022 10:34:18 +0000 (12:34 +0200)] 
libtool: Change how version is derived

Avoid duplication of '(GNU @PACKAGE@) @VERSION@' in multiple
places by using '$scriptversion'.

* libtoolize.in, build-aux/ltmain.in: Change version from
  '(GNU @PACKAGE@) @VERSION@' to '$scriptversion'.

10 months agolibtool: Add support for netbsdelf
Alastair McKinstry [Sat, 12 Jan 2019 11:05:00 +0000 (13:05 +0200)] 
libtool: Add support for netbsdelf

* m4/libtool.m4: Add support for netbsdelf*-gnu.
* m4/ltdl.m4: Append netbsdelf*-gnu to netbsd* occurrences in case
  statements.

10 months agoMakefile.am: Generate description for 'whatis' command
Alastair McKinstry [Sat, 12 Jan 2019 11:06:29 +0000 (13:06 +0200)] 
Makefile.am: Generate description for 'whatis' command

Add '-n' to 'help2man' for documentation and manpage.

10 months agolibtool.m4: Add spaces before -L in grep searches
Alastair McKinstry [Sat, 8 Sep 2018 17:32:08 +0000 (20:32 +0300)] 
libtool.m4: Add spaces before -L in grep searches

Current searching for "-L" in link paths is over-greedy and
incorrectly handles paths with -L in them.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896861

10 months agolibtool.m4: Avoid a broken AC_TRY_EVAL macro
Vincent Lefevre [Tue, 2 Oct 2018 17:25:29 +0000 (20:25 +0300)] 
libtool.m4: Avoid a broken AC_TRY_EVAL macro

As said in the Autoconf source, the AC_TRY_EVAL macro is dangerous and
undocumented, and should not be used.
In particular, the one related to nm yields binary data in the config.log
file with dash, where "echo \\1" (echo with the argument \1) produces the
control character ^A instead of the usual \1 with most shells (POSIX says
that the result is implementation-defined). See:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910076
This patch attempts to replace this AC_TRY_EVAL occurrence by code with
similar behavior, but using $ECHO instead of echo in order to avoid the
backslash issue.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21309