4493 Commits

Author SHA1 Message Date
Ileana Dumitrescu
07adb5007d
NEWS: Update for bugs fixed 2025-04-15 17:32:50 +03:00
Ileana Dumitrescu
409501b0a7
m4: Update serials for modified files 2025-04-11 20:58:24 +03:00
Ileana Dumitrescu
a390f27ff1
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-03-28 18:34:23 +02:00
Anthony Mallet
b26f7c36fb
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
2025-03-28 18:34:16 +02:00
Julien ÉLIE
a83ba2ff5e
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.
2025-03-24 18:46:29 +02:00
Ileana Dumitrescu
c95e4c3559
Makefile.am: Clean new file, libtool-next-version 2025-03-05 17:24:03 +02:00
Ileana Dumitrescu
e352c92fd8
libtool-next-version.in: Make syntactical changes 2025-02-27 18:47:41 +02:00
Christian Feld
f93cf989fa
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.
2025-02-27 18:45:07 +02:00
Ileana Dumitrescu
017e1cf9b3
NEWS: Update for commit c41501afc371842ceccecd8bd6586f8fb85a37c2 2025-02-26 22:07:17 +02:00
Ileana Dumitrescu
7e8ae8b3f2
libtool.texi: Update newlines for previous commit
The documentation follows the traditional method of inserting newlines
before the 80 character limit, with a few exceptions. Now, the
documentation will use some semantic newlines, specifically inserting
newlines for clause breaks (commas, semicolons, colons, and so on).
However, it will only break on symbols, instead of also breaking for
phrases, and it will still utilize the 80 character limit should a
symbol break not exist first.

* doc/libtool.texi: Alter line breaks to use partial semantic newlines.
2025-02-26 21:46:33 +02:00
Bruno Haible
c41501afc3
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'.
* 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.
2025-02-26 20:02:40 +02:00
Ileana Dumitrescu
6b306695ea
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.
2025-02-25 22:17:59 +02:00
Takashi Yano
f4c10752cc
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.
2025-02-20 20:39:14 +02:00
Ileana Dumitrescu
b267d3bd49
m4: Update serials for modified files 2025-02-13 17:29:56 +02:00
Ileana Dumitrescu
4f7704015b
libtool.m4: Fix replacement of postdeps in NetBSD
Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70978

* m4/libtool.m4: Remove 'gcc_s' postdeps, not only 'gcc'.
* NEWS: Update.
2025-02-11 18:04:45 +02:00
Ileana Dumitrescu
8d9a120d0a
libtool.m4: Update NetBSD postdeps for shared libraries
* 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' instances with sed.
2025-02-10 21:57:25 +02:00
Ileana Dumitrescu
60f3f19ff1
Revert "libtool: Skip passing CXX flags test on NetBSD"
This reverts commit 2da3546a0de5c952a2ffd20db6ff310a32a6f373.
2025-02-10 21:57:19 +02:00
Ileana Dumitrescu
7b49ee14f9
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-01-28 16:35:31 +02:00
Ileana Dumitrescu
1457e40faa
Revert "libtool.m4: Avoid warning message in deplibs_check_method"
This reverts commit a08d2989cbee7022d63dc75d2eb9b3e96d3f174e.
2025-01-20 20:23:09 +02:00
Ileana Dumitrescu
34de5bf8bc
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.
2025-01-18 15:46:34 +02:00
Karl Berry
fd591c8a63
libtool.texi: Update tagging documentation
* doc/libtool.texi: Failure to infer a tag results in a fatal error,
  not in defaulting to tag CC.
2025-01-14 17:23:06 +02:00
Ileana Dumitrescu
5638a56f2f
NEWS: Update for previous commit 2025-01-13 19:52:33 +02:00
Frédéric Bérat
18dc06ade3
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.
2025-01-13 19:45:38 +02:00
Ileana Dumitrescu
c010d1e93f
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-01-13 17:33:50 +02:00
Ileana Dumitrescu
723924e9f3
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.
2025-01-07 20:58:15 +02:00
Ileana Dumitrescu
376411905b
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.
2025-01-07 20:56:37 +02:00
Ileana Dumitrescu
74e6c3a828
libtool: Update copyright year 2025-01-02 16:47:53 +02:00
Ileana Dumitrescu
c120f2130e
gnulib: Update submodule 2025-01-02 16:47:45 +02:00
Ileana Dumitrescu
416ff25e14
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.
2024-12-06 16:28:02 +02:00
Ileana Dumitrescu
b73482d0bd
libtool.texi: Document '--no-warnings' in manual 2024-12-06 16:24:07 +02:00
Ileana Dumitrescu
0fe02ce4c5
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:34:36 +02:00
Ileana Dumitrescu
f8e4352439
version 2.5.4
* NEWS: Record release date.
2024-11-20 22:34:29 +02:00
Ileana Dumitrescu
5a4a8ea8b6
bootstrap: Reflect changes from submodule update 2024-11-20 20:43:19 +02:00
Ileana Dumitrescu
5777fd1c19
NEWS: Update for previous commit 2024-11-20 20:43:18 +02:00
mintsuki
b755144e96
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.
2024-11-20 20:43:18 +02:00
Ileana Dumitrescu
a1c003ee77
libltdl: Bump version for minor bugfix during cleaning 2024-11-20 17:32:12 +02:00
Ileana Dumitrescu
46178f427f
bootstrap: Update submodule to recent commit 2024-11-20 16:20:59 +02:00
Ileana Dumitrescu
f9e96cc4f9
gnulib: Update submodule to recent commit 2024-11-20 16:16:21 +02:00
Ileana Dumitrescu
65c7b93ad7
NEWS: Update for recent commits 2024-11-19 21:31:53 +02:00
Khalid Masum
2c4bb57a88
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.
2024-11-19 21:23:41 +02:00
Tim Schumacher
193020a240
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.
2024-11-19 21:23:31 +02:00
streaksu
a1b219a6ce
libtool: add support for Ironclad 2024-11-19 21:23:04 +02:00
Adrien Destugues
50d7b46448
Do not explicitly link dependencies on Haiku.
This is not needed, the runtime_loader can figure them out.
2024-11-19 21:06:25 +02:00
Jerome Duval
0a01348440
Adjust haiku configuration 2024-11-19 21:06:25 +02:00
Ileana Dumitrescu
63560839d3
ltmain.in: Fix handling xlc(1)-specific options
Patch supplied on Savannah by user, whr:
  https://savannah.gnu.org/patch/index.php?10126
2024-11-19 20:58:01 +02:00
Ileana Dumitrescu
5848f0aac5
libtool.at: Fix failures for 'test silencing warnings'
Replace 'g++' with variable '$CXX' and add version number for flag
'-version-info'.
2024-11-19 17:46:30 +02:00
Ileana Dumitrescu
f006a400b6
libtool.texi: Remove section 'References'
The section 'References' only contained old broken links.

* doc/libtool.texi: Remove broken links from documentation.
2024-11-18 20:50:01 +02:00
Ileana Dumitrescu
f4345d86aa
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-18 20:19:57 +02:00
Ileana Dumitrescu
7fd72bec1a
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.
2024-11-14 21:18:33 +02:00
Ileana Dumitrescu
d8fad26c31
ltmain.in: Upgrade warnings to errors 2024-11-14 20:31:55 +02:00