510 Commits

Author SHA1 Message Date
Kirill Makurin
97998eb82a
ltmain.in: Fix file path conversions for MSYS2 and MSVC
The result of cygpath file path conversions are not stored correctly
causing the path conversions to fail on MSYS2 and MSVC.

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

* build-aux/ltmain.in: Replace func_convert_core_msys_to_w32_result
  with func_convert_core_msys_to_w32_with_cygpath_result.
* NEWS: Update.
2026-01-07 20:16:06 +02:00
Ileana Dumitrescu
7c3fb80adc
Update NEWS 2026-01-02 22:11:31 +02:00
Ileana Dumitrescu
e6f9ae8f18
libtool: Update copyright year 2026-01-02 20:09:41 +02:00
Ileana Dumitrescu
c4abf359f8
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2025-09-18 17:16:22 +03:00
Ileana Dumitrescu
e40fdc22cf
version 2.6.0
* NEWS: Record release date.
2025-09-18 16:43:33 +03:00
Ileana Dumitrescu
2a4cc31b66
Add support for ML64
The Microsoft Macro Assembler can be used to assemble and link one
or more assembly-language source files with libtool.

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

* Makefile.am: Pass ML64 flags to tests.
* configure.ac: Add language support for the Microsoft Macro Assembler.
* doc/libtool.texi: Update documentation to include ML64.
* m4/libtool.m4: Enable macro support for ML64.
* tests/flags.at: Add test for ML64 flags.
* tests/infer-tag.at: Add test for ML64 tag.
* NEWS: Update.
2025-09-06 14:25:42 +03:00
Ileana Dumitrescu
4d00c3624d
New Intel OneAPI compiler names
Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78817

* libltdl/libltdl/lt__alloc.h: Change FREE and MEMREASSIGN macros for
  -Wcompound-token-split-by-macro.
* libltdl/libltdl/lt_system.h: Change LT_STMT_START and LT_STMT_END
  macros for -Wcompound-token-split-by-macro.
* libltdl/loaders/loadlibrary.c: Add support for icx, icpx, ifx.
* libltdl/ltdl.c: Fixes for Clang.
* m4/libtool.m4: Add support for icx, icpx, and ifx.
* NEWS: Update.
2025-09-06 14:25:42 +03:00
Ileana Dumitrescu
86ce8b277c
Update NEWS 2025-08-07 20:20:20 +03:00
Ileana Dumitrescu
af7df02434
NEWS: Update for previous commits 2025-08-07 20:20:00 +03:00
Mintsuki
9eb292deb1
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
2025-08-07 20:19:24 +03:00
Ileana Dumitrescu
e6dd1eb7cf
NEWS: Update for bugs fixed 2025-04-15 17:32:50 +03:00
Ileana Dumitrescu
9bc7536bd8
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.
2025-04-11 20:45:14 +03:00
Bruno Haible
b31819c723
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.
2025-04-11 20:41:51 +03:00
Ileana Dumitrescu
c7be1f229c
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.
2025-02-13 17:02:16 +02:00
Ileana Dumitrescu
1fc54e815f
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.
2025-02-13 17:02:15 +02:00
Frédéric Bérat
bc61f9756f
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.
2025-02-13 17:01:38 +02:00
Ileana Dumitrescu
1d871cc45b
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.
2025-02-13 16:57:05 +02:00
Ileana Dumitrescu
b341c9f8d0
libtool: Update copyright year 2025-01-02 16:30:23 +02:00
Ileana Dumitrescu
baa1fe41f9
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2024-11-20 22:08:47 +02:00
Ileana Dumitrescu
db22f7fce7
version 2.5.4
* NEWS: Record release date.
2024-11-20 21:40:14 +02:00
Ileana Dumitrescu
7c45f3b350
NEWS: Update for previous commit 2024-11-20 20:29:04 +02:00
Ileana Dumitrescu
f13692cc20
NEWS: Update for recent commits 2024-11-20 17:36:32 +02:00
Ileana Dumitrescu
e5dfb39aab
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.
2024-11-20 17:36:29 +02:00
Ileana Dumitrescu
6bc5e177b6
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.
2024-11-20 17:36:28 +02:00
Ileana Dumitrescu
4ba29e983c
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.
2024-11-20 17:36:21 +02:00
Ileana Dumitrescu
1bda2465d7
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.
2024-11-20 17:03:12 +02:00
Martin Storsjö
eed74d650a
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.
2024-11-20 16:42:15 +02:00
Richard Purdie
65026af3bc
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.
2024-11-20 16:41:17 +02:00
Ileana Dumitrescu
09aff4a6bc
Update NEWS for recent commits 2024-10-22 20:02:18 +03:00
Markus Mützel
68fbecc49b
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
2024-10-22 20:00:47 +03:00
Sergey Poznyakoff
b6c8850a43
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.
2024-10-22 20:00:02 +03:00
Ileana Dumitrescu
d405ede870
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.
2024-10-22 19:55:50 +03:00
Joshua Root
82f7f52123
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.
2024-10-22 19:45:25 +03:00
Ileana Dumitrescu
dd2c8f9411
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2024-09-25 18:20:25 +03:00
Ileana Dumitrescu
94dd1a2094
version 2.5.3
* NEWS: Record release date.
2024-09-25 17:51:57 +03:00
Ileana Dumitrescu
3ab1239727
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.
2024-09-25 16:34:50 +03:00
Ileana Dumitrescu
138cf5b271
Update NEWS for recent changes 2024-09-18 17:15:57 +03:00
Ileana Dumitrescu
0483b0d83d
Update NEWS for recent changes 2024-09-13 20:21:20 +03:00
Bruno Haible
6c8203d2ae
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.
2024-09-13 20:19:33 +03:00
Bruno Haible
9a8535f4e9
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.
2024-09-13 20:19:33 +03:00
Ileana Dumitrescu
2fe3a3e2a9
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2024-08-29 17:26:50 +03:00
Ileana Dumitrescu
d8d346ef7e
version 2.5.2
* NEWS: Record release date.
2024-08-29 16:58:22 +03:00
Ileana Dumitrescu
32d46d5daa
Update NEWS for recent changes 2024-08-27 18:19:02 +03:00
Ileana Dumitrescu
2b510980a7
Update NEWS for 32-bit mode on FreeBSD/powerpc64 support 2024-08-27 17:10:17 +03:00
Ileana Dumitrescu
22a7e547e9
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2024-07-25 17:32:28 +03:00
Ileana Dumitrescu
1354176bbb
version 2.5.1
* NEWS: Record release date.
2024-07-25 17:05:28 +03:00
Ileana Dumitrescu
383c97a850
NEWS: Update for recent changes 2024-07-19 19:32:52 +03:00
Ileana Dumitrescu
cc511550bb
NEWS: Add news entries for recent changes 2024-06-18 20:37:17 +03:00
Ileana Dumitrescu
dc3f87dd8e
NEWS: Add news entries for recent changes 2024-05-31 17:32:39 +03:00
Ileana Dumitrescu
38c166c89b
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2024-05-13 21:04:21 +03:00