]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
5 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.

5 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.

7 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

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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

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

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

10 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.

10 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.

10 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

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

10 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.

10 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

10 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

10 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

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

10 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.

10 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.

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

10 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.

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

10 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

10 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'.

10 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.

10 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.

10 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.

10 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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

11 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

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

11 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

11 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

11 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'.

11 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.

11 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.

11 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

11 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

11 months agolibtool.m4: Add run path when linking with tcc
Vincent Lefevre [Fri, 22 May 2015 09:27:13 +0000 (11:27 +0200)] 
libtool.m4: Add run path when linking with tcc

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20622
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814091

11 months agolibtool.texi: Wrong names for structure members
Jonathan Nieder [Sun, 13 May 2012 03:15:01 +0000 (22:15 -0500)] 
libtool.texi: Wrong names for structure members

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

11 months agolibtool.texi: Documentation inconsitent with libltdl3
Jonathan Nieder [Mon, 14 May 2012 02:52:18 +0000 (21:52 -0500)] 
libtool.texi: Documentation inconsitent with libltdl3

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

11 months agolibtool.m4: Avoid word splitting on untrusted inputs
Bruno Haible [Tue, 15 Oct 2024 21:03:00 +0000 (23:03 +0200)] 
libtool.m4: Avoid word splitting on untrusted inputs

If $multilib is set to more than one word, the following error can be
seen during configuration:

test: too many arguments

* m4/libtool.m4: Wrap variable in quotes.

11 months agolibtool.m4: Increment serial and typo/spacing fix
Ileana Dumitrescu [Tue, 15 Oct 2024 15:04:38 +0000 (18:04 +0300)] 
libtool.m4: Increment serial and typo/spacing fix

11 months agolibtool: Handle unset $multilib for Windows targets.
Markus Mützel [Mon, 14 Oct 2024 15:25:07 +0000 (17:25 +0200)] 
libtool: Handle unset $multilib for Windows targets.

If `multilib` is unset (which it apparently is by default), the output
from running a `configure` script contains lines like the following:
```
checking dynamic linker characteristics... ../configure: line 26791: test: yes: unary operator expected
Win32 ld.exe
```

The additional output is not a fatal error. But it could be irritating.

Avoid the unexpected output from `test` by making sure `=` is used as a
binary operator.

* m4/libtool.m4: Prepend "x" on both sides of a comparison with `test`
and the operator `=`.
* NEWS: Update for bug fix.

See also: https://github.com/msys2/MINGW-packages/pull/21905

11 months agoUpdate documentation and version output
Ileana Dumitrescu [Thu, 10 Oct 2024 15:06:36 +0000 (18:06 +0300)] 
Update documentation and version output

* libtoolize.in: Overwrite function in bootstrap for printing version
  information for libtoolize.
* build-aux/ltmain.in: Overwrite function in bootstrap for printing
  version information for libtool.
* doc/libtool.texi: Fix typo and correct references for tests/demo
  subdirectory to the tests/demo.at Autotest file.
* gl/top/README-release.diff: Add documentation for maintainers so
  the CVS repository is properly updated following a stable release.

11 months agoDon't omit directories from the constructed rpath.
Sergey Poznyakoff [Wed, 9 Oct 2024 18:34:01 +0000 (21:34 +0300)] 
Don't omit directories from the constructed rpath.

This fixes bug introduced by 0e1b333324.

* build-aux/ltmain.in: Don't omit paths that are not under $progdir
from the compiled_rpath.  Append them to the end of it.
* NEWS: Update for bug fix.

11 months agoFix errors in distclean and maintainer-clean
Ileana Dumitrescu [Wed, 9 Oct 2024 17:02:28 +0000 (20:02 +0300)] 
Fix errors in distclean and maintainer-clean

The variable, LT_ARGZ_H, can be empty, which causes distclean and
maintainer-clean to error as a directory is attempted to be removed
instead of a file.

When running maintainer-clean for gnulib-tests, the .version file is
missing, which is needed by config.status, so the command will error.

* configure.ac: Update CONFIG_STATUS_DEPENDENCIES to use dotversion so
  that the .version file can be generated if needed.
* libltdl/ltdl.mk: Add conditional with LTARGZH_EXISTS to append path for
  LT_ARGZ_H file to BUILT_SOURCES.
* m4/ltdl.m4: Add AM_CONDITIONAL for LTARGZH_EXISTS that is set to
  true if LT_ARGZ_H is non-empty.
* NO-THANKS: Add 'Michael Pratt' for bug#73672 contribution.
* NEWS: List additional bug fix.

11 months agolibtool.m4: Update '-single_module' detection
Joshua Root [Thu, 28 Sep 2023 06:02:11 +0000 (09:02 +0300)] 
libtool.m4: Update '-single_module' detection

'-single_module' detection is broken with Xcode 15, where a message to
stderr indicates the flag is deprecated, not unsupported.

* m4/libtool.m4: Check macOS versions to see if '-single_module' flag is
  unnecessary.

12 months agomaint: post-release administrivia
Ileana Dumitrescu [Wed, 25 Sep 2024 15:20:25 +0000 (18:20 +0300)] 
maint: post-release administrivia

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

12 months agoversion 2.5.3 v2.5.3
Ileana Dumitrescu [Wed, 25 Sep 2024 14:51:57 +0000 (17:51 +0300)] 
version 2.5.3

* NEWS: Record release date.

12 months agoUpdate tests without aclocal to expect failure
Ileana Dumitrescu [Wed, 25 Sep 2024 13:12:34 +0000 (16:12 +0300)] 
Update tests without aclocal to expect failure

Five tests use aclocal, but do not have a check for whether aclocal is
available to use. This causes reported tests failures in Linux From
Scratch and Darwin builds.

* tests/standalone.at: Add AT_XFAIL_IF check for aclocal for all tests.
* tests/subproject.at: Add AT_XFAIL_IF check for aclocal for last test.

12 months agoUpdate NEWS for recent changes
Ileana Dumitrescu [Wed, 18 Sep 2024 14:14:22 +0000 (17:14 +0300)] 
Update NEWS for recent changes

12 months agolibtool: Update documentation
Ileana Dumitrescu [Wed, 18 Sep 2024 14:04:42 +0000 (17:04 +0300)] 
libtool: Update documentation

* Makefile.am: Fix typo.
* doc/libtool.texi: Add missing test case descriptions and specify
  option and command where missing in test case descriptions.

12 months agoAdd 'aarch64' support to the file magic test
Ileana Dumitrescu [Wed, 11 Sep 2024 17:22:09 +0000 (20:22 +0300)] 
Add 'aarch64' support to the file magic test

The file magic test fails to determine the file type of libraries when
cross-compiling with an aarch64 compiler without additional strings to
search for in an objdump.

* build-aux/ltmain.in: Append 'pe-aarch64' to file_magic in the
lt_cv_deplibs_check_method.
* m4/libtool.m4: Append 'pe-aarch64' to file format check.

12 months agoUpdate NEWS for recent changes
Ileana Dumitrescu [Fri, 13 Sep 2024 17:15:28 +0000 (20:15 +0300)] 
Update NEWS for recent changes

12 months agognulib: Update submodule to recent commit
Ileana Dumitrescu [Fri, 13 Sep 2024 16:54:04 +0000 (19:54 +0300)] 
gnulib: Update submodule to recent commit

12 months agoFix copyrights for recent test files
Ileana Dumitrescu [Fri, 6 Sep 2024 15:33:44 +0000 (18:33 +0300)] 
Fix copyrights for recent test files

* tests/bug_62343.at: Remove years where test file did not exist.
* tests/bug_71489.at: Add missing copyright header.

12 months agolibtoolize: Fix conflicting warnings about AC_PROG_RANLIB
Ileana Dumitrescu [Thu, 5 Sep 2024 18:19:18 +0000 (21:19 +0300)] 
libtoolize: Fix conflicting warnings about AC_PROG_RANLIB

The macro _LT_CMD_OLD_ARCHIVE inlines the definition of AC_PROG_RANLIB,
which seems to be outdated functionality. Running autoscan in a
directory with ltmain.sh produces conflicting warnings with libtoolize
about AC_PROG_RANLIB. Autoconf warns that AC_PROG_RANLIB is missing,
but libtoolize warns that it is obsolete. The outdated warning should
no longer appear after replacing AC_CHECK_TOOL(RANLIB, ranlib, :) with
AC_REQUIRE([AC_PROG_RANLIB]).

* m4/libtool.m4: Use AC_REQUIRE([AC_PROG_RANLIB]).
* Makefile.am: Added in tests/bug_42313.at.
* tests/bug_42313.at: Contains test cases for bug 42313.

12 months agoRename option --with-aix-soname to --enable-aix-soname.
Bruno Haible [Mon, 29 Jan 2024 15:58:48 +0000 (16:58 +0100)] 
Rename option --with-aix-soname to --enable-aix-soname.

Reported at <https://savannah.gnu.org/support/index.php?110674>.

* doc/libtool.texi (LT_INIT): Talk about --enable-aix-soname instead of --with-aix-soname.
* m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): Use AC_ARG_ENABLE instead of
AC_ARG_WITH. In the default case, use _AC_ENABLE_IF, in order to still
recognize the old option --with-aix-soname.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Update comment.
* configure.ac: Update comment.
* NEWS: Mention the change.

12 months agoRename option --with-pic to --enable-pic.
Bruno Haible [Mon, 29 Jan 2024 15:35:17 +0000 (16:35 +0100)] 
Rename option --with-pic to --enable-pic.

Reported at <https://savannah.gnu.org/support/index.php?110674>.

* doc/libtool.texi (LT_INIT): Talk about --enable-pic instead of
--with-pic, and about --disable-pic instead of --without-pic.
(Test descriptions): Likewise.
* m4/ltoptions.m4 (_LT_WITH_PIC): Use AC_ARG_ENABLE instead of
AC_ARG_WITH. In the default case, use _AC_ENABLE_IF, in order to still
recognize the old options --with-pic and --without-pic.
* tests/demo.at: Add a test for --enable-pic, keeping the test for
--with-pic. Test '--disable-pic' instead of '--with-pic=no'.
* tests/with-pic.at: Test --enable-pic instead of --with-pic.
* NEWS: Mention the change.

12 months agolibtool: FSF office address replaced by URL
Ileana Dumitrescu [Tue, 3 Sep 2024 15:02:46 +0000 (18:02 +0300)] 
libtool: FSF office address replaced by URL

* AUTHORS, HACKING, Makefile.am, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/no-bogus-m4-defines, cfg.mk, configure.ac, libltdl/configure.ac,
libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, libltdl/lt__argz.c,
libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c,
libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk,
libltdl/slist.c, tests/am-subdir.at, tests/archive-in-archive.at,
tests/bindir.at, tests/bug_62343.at, tests/cdemo.at, tests/cmdline_wrap.at,
tests/configure-funcs.at, tests/configure-iface.at, tests/convenience.at,
tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at,
tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at,
tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at,
tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at,
tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at,
tests/execute-mode.at, tests/exeext.at, tests/export-def.at,
tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at,
tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at,
tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at,
tests/libtool.at, tests/libtoolize.at, tests/link-order.at,
tests/link-order2.at, tests/loadlibrary.at, tests/localization.at,
tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at,
tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at,
tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at,
tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at,
tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at,
tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at,
tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at,
tests/template.at, tests/testsuite.at, tests/versioning.at,
tests/with-pic.at: Replace FSF address in each file's license block with
a URL that points to licenses online hosted by GNU.

12 months agoDocument situations where -export-symbols does not work.
Bruno Haible [Mon, 2 Sep 2024 09:33:27 +0000 (11:33 +0200)] 
Document situations where -export-symbols does not work.

* doc/libtool.texi (Link mode): Document that -export-symbols does not work on
static libraries. Document the most important platforms where it does not work
on shared libraries.

13 months agomaint: post-release administrivia
Ileana Dumitrescu [Thu, 29 Aug 2024 14:26:50 +0000 (17:26 +0300)] 
maint: post-release administrivia

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

13 months agoversion 2.5.2 v2.5.2
Ileana Dumitrescu [Thu, 29 Aug 2024 13:58:22 +0000 (16:58 +0300)] 
version 2.5.2

* NEWS: Record release date.

13 months agoUpdate NEWS for recent changes
Ileana Dumitrescu [Tue, 27 Aug 2024 15:16:39 +0000 (18:16 +0300)] 
Update NEWS for recent changes

13 months agoREADME-release: Update compiler environment variable
Ileana Dumitrescu [Fri, 23 Aug 2024 16:07:10 +0000 (19:07 +0300)] 
README-release: Update compiler environment variable

When compiling C++ code, CXX should be used to set the compiler
to g++ instead of CC, which is for setting a C compiler.

13 months agolibtool: Fix typos
Tobias Stoeckmann [Tue, 13 Aug 2024 19:56:00 +0000 (22:56 +0300)] 
libtool: Fix typos

Typos found with codespell.

* doc/libtool.texi: Change 'incompatabile' to 'incompatible'.
* doc/notes.texi: Change 'neccesary' to 'necessary'.

13 months agolibtool: Fix test 170 in Cygwin/Mingw32
Ileana Dumitrescu [Fri, 9 Aug 2024 15:39:45 +0000 (18:39 +0300)] 
libtool: Fix test 170 in Cygwin/Mingw32

Test 170 in bug_62343.at is failing to link object files with a library
file. This is fixed by choosing the correct architecture version of a
compiler by using the 'CXX' macro.

tests/bug_62343.at: Replace 'g++' with 'CXX' macro

13 months agoltmain: Use shared objects built in source tree
Sergey Poznyakoff [Tue, 11 Jun 2024 11:20:15 +0000 (13:20 +0200)] 
ltmain: Use shared objects built in source tree

It has been discovered that under certain conditions libtool creates
wrappers that prefer installed versions of the shared objects over
those built in the source tree. As a result, any tests run in the
source tree produce unreliable results.

* build-aux/ltmain.in: Alter to use shared objects in source tree
  instead of installed.
* Makefile.am: Added in tests/bug_71489.at.
* tests/bug_71489.at: Contains test case for bug 71489.

13 months agoUpdate NEWS for 32-bit mode on FreeBSD/powerpc64 support
Ileana Dumitrescu [Tue, 27 Aug 2024 14:10:17 +0000 (17:10 +0300)] 
Update NEWS for 32-bit mode on FreeBSD/powerpc64 support

13 months agoFix libtool wrapper programs in 32-bit mode on FreeBSD/powerpc64.
Bruno Haible [Sat, 24 Aug 2024 11:50:42 +0000 (13:50 +0200)] 
Fix libtool wrapper programs in 32-bit mode on FreeBSD/powerpc64.

* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On FreeBSD/powerpc64, in 32-bit mode,
set shlibpath_var to LD_32_LIBRARY_PATH instead of LD_LIBRARY_PATH.

14 months agomaint: post-release administrivia
Ileana Dumitrescu [Thu, 25 Jul 2024 14:32:28 +0000 (17:32 +0300)] 
maint: post-release administrivia

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

14 months agoversion 2.5.1 v2.5.1
Ileana Dumitrescu [Thu, 25 Jul 2024 14:05:28 +0000 (17:05 +0300)] 
version 2.5.1

* NEWS: Record release date.

14 months agobootstrap: Update submodule to recent commit
Ileana Dumitrescu [Wed, 24 Jul 2024 14:50:15 +0000 (17:50 +0300)] 
bootstrap: Update submodule to recent commit

14 months agognulib: Update submodule to recent commit
Ileana Dumitrescu [Wed, 24 Jul 2024 14:49:46 +0000 (17:49 +0300)] 
gnulib: Update submodule to recent commit

14 months agom4: Increment serial for recent changes
Ileana Dumitrescu [Wed, 24 Jul 2024 14:20:54 +0000 (17:20 +0300)] 
m4: Increment serial for recent changes

* m4/libtool.m4: Incremented serial to 62.
* m4/ltdl.m4: Incremented serial to 23.

14 months agoNEWS: Update for recent changes
Ileana Dumitrescu [Fri, 19 Jul 2024 16:18:31 +0000 (19:18 +0300)] 
NEWS: Update for recent changes

14 months agom4: Support additional flang-based compilers
Ileana Dumitrescu [Wed, 3 Jul 2024 14:58:04 +0000 (17:58 +0300)] 
m4: Support additional flang-based compilers

* m4/libtool.m4: Alter regex to support 'flang-new' and 'ftn'.
* NO-THANKS: Add thanks for Anton Shterenlikht.

14 months agoltmain: Error message improvement
Ileana Dumitrescu [Sat, 29 Jun 2024 12:28:49 +0000 (15:28 +0300)] 
ltmain: Error message improvement

* build-aux/ltmain.in: Append argument to error message to make it
  easier to understand, and edit message of each instance where
  run-paths are not absolute to better reflect the issue occurring
  to the user.

14 months agom4: Disable chained fixups for macOS
Ileana Dumitrescu [Thu, 20 Jun 2024 13:57:26 +0000 (16:57 +0300)] 
m4: Disable chained fixups for macOS

Append '-no_fixup_chains' flag to disable chained fixups since it
is not compatible with '-undefined dynamic_lookup'.

* m4/libtool.m4: AC_VAR_APPEND will handle appending the option to
  the variable, which allows the '+=' extension to be used by shells
  that provide this capability for more efficient scaling. Also, bump
  minimum required version of autoconf from 2.62 to 2.64.
* tests/no-executables.at: Set cache variable for link test.
* NO-THANKS: Add thanks for Carlo Cabrera and Dave Allured.

14 months agolibtool: Alter test to expect pass
Ileana Dumitrescu [Wed, 19 Jun 2024 18:27:03 +0000 (21:27 +0300)] 
libtool: Alter test to expect pass

* tests/duplicate_deps.at: Remove expected failure for testing
  with preserve-dup-deps flag, since it has been fixed.

14 months agoltmain.in: Fix --preserve-dup-deps stripping duplicates
Julien ÉLIE [Sat, 21 Nov 2020 07:43:00 +0000 (08:43 +0100)] 
ltmain.in: Fix --preserve-dup-deps stripping duplicates

Building INN with libtool otherwise failed with unresolved circular
dependencies, even with the use of --preserve-dup-deps.

14 months agolibtool: Correct DLL Installation Path for mingw
trcrsired [Tue, 14 May 2024 19:26:40 +0000 (20:26 +0100)] 
libtool: Correct DLL Installation Path for mingw

When building native GCC for the x86_64-w64-mingw32 host, the
compiler copies its library DLLs to the `bin` directory. However,
in the case of a multilib configuration, both 32-bit and 64-bit
libraries end up in the same `bin` directory, leading to conflicts
where 64-bit DLLs are overridden by their 32-bit counterparts.

This patch addresses the issue by adjusting the installation path
for the libraries. Specifically, it installs the libraries to
separate directories: `lib` for 64-bit and `lib32` for 32-bit. This
behavior aligns with how libraries are installed when creating an
x86_64-w64-mingw32 cross-compiler without copying them to the `bin`
directory if it is a multilib build.

* m4/libtool.m4: Install DLL to $(libdir), not $(libdir)/bin, if
  multilib build.