]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
8 months agognulib: Update submodule to recent commit master
Ileana Dumitrescu [Tue, 22 Oct 2024 15:08:03 +0000 (18:08 +0300)] 
gnulib: Update submodule to recent commit

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

8 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

8 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

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

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

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

8 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

8 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

8 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

8 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

8 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

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

8 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

8 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

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

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

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

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

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

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

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

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

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

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

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

9 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

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

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

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

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

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

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

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

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

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

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

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

10 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

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

10 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

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

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

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

11 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

11 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

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

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

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

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

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

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

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

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

11 months agom4: Fix Wstrict-prototypes warnings
Peter Kokot [Mon, 18 Mar 2024 00:28:15 +0000 (01:28 +0100)] 
m4: Fix Wstrict-prototypes warnings

This changes the C function prototypes to use void where needed. When
building with CFLAGS=-Werror=strict-prototypes or similar, the libtool's
tests can cause false reports and errors in the log files:

    error: function declaration isn't a prototype

* m4/libtool.m4: Specify void for main function prototypes.
* m4/ltdl.m4: Specify void for main and fnord function prototypes.

12 months agoNEWS: Add news entries for recent changes
Ileana Dumitrescu [Tue, 18 Jun 2024 17:32:15 +0000 (20:32 +0300)] 
NEWS: Add news entries for recent changes

12 months agoltmain: Fix testsuite errors for windows
Ileana Dumitrescu [Mon, 17 Jun 2024 13:13:07 +0000 (16:13 +0300)] 
ltmain: Fix testsuite errors for windows

Numerous test failures on windows/cygwin/mingw result with:
did not find the 'nothing' variable

A syntax fix resolves these test failures for 64-bit windows-
based systems.

* build-aux/ltmain.in: Alter syntax in sed command.

12 months agolibtool: Update pxref to remove texinfo warning
Ileana Dumitrescu [Tue, 18 Jun 2024 16:46:26 +0000 (19:46 +0300)] 
libtool: Update pxref to remove texinfo warning

Building the documentation contains this warning:
  libtool.texi:1333: warning: @pxref node name should not contain `.'

Now, users will be linked to the top of the autoconf manual and need
to manually scroll to the section specified.

* doc/libtool.texi: Specify section header instead of duplicating
  autoconf manual name.

12 months agolibtool: Skip passing CXX flags test on NetBSD
Ileana Dumitrescu [Tue, 11 Jun 2024 14:58:47 +0000 (17:58 +0300)] 
libtool: Skip passing CXX flags test on NetBSD

When linking on NetBSD, the test fails to locate a shared version of
gcc, so a static version of the module is generated, which does not pass
the defined checks. A FIXME note has been added for future debugging.

* tests/flags.at: Skip passing CXX flags test on NetBSD.

12 months agolibtool: Add remaining test case descriptions
Ileana Dumitrescu [Fri, 14 Jun 2024 18:02:55 +0000 (21:02 +0300)] 
libtool: Add remaining test case descriptions

* doc/libtool.texi: Add missing test case descriptions.

12 months agolibtool: Add no-undefined flag based on host OS
Ileana Dumitrescu [Sat, 8 Jun 2024 08:43:59 +0000 (11:43 +0300)] 
libtool: Add no-undefined flag based on host OS

Without the no-undefined flag, the test will fail on Mingw and
Cygwin, so the flag will be appended for windows compilation. With
the flag, the test will fail on NetBSD, so the flag is removed.

* tests/bug_62343.at: Add no-undefined flag for windows-based
  compilation and remove otherwise.

12 months agolibtool: Check if -no-canonical-prefixes supported
Ileana Dumitrescu [Fri, 7 Jun 2024 17:02:55 +0000 (20:02 +0300)] 
libtool: Check if -no-canonical-prefixes supported

The compiler fails with the -no-canonical-prefixes flag in certain
environments. Check if the flag is supported in the current environment
and skip the test if it is not supported.

* tests/bug_62343.at: Skip test if -no-canonical-prefixes is unsupported
  in the current environment.

13 months agom4/libtool.m4: Fixed AC_CHECK_PROG call
Richard Purdie [Tue, 4 Jun 2024 17:34:16 +0000 (20:34 +0300)] 
m4/libtool.m4: Fixed AC_CHECK_PROG call

AC_CHECK_TOOL was changed to AC_CHECK_PROG however the arguments are
different and this result is a value of ":". Change this to match the
original intent.

The lack of FILECMD was causing failures for mips64 builds as -m elf was
being passed to LD which isn't supported on our targets.

13 months agotestsuite.at: Replaced $as_echo with AS_ECHO
Ileana Dumitrescu [Tue, 4 Jun 2024 16:48:45 +0000 (19:48 +0300)] 
testsuite.at: Replaced $as_echo with AS_ECHO

* testsuite.at: $as_echo was deprecated in Autoconf commit 2b59b6f8a.
  AS_ECHO uses printf which has been well supported for 15 to 20
  years. Use of $as_echo was resulting in a warning message in the
  testsuite logs, and replacing the deprecated macro removes the
  warning messages.

13 months agoFixed failing test when program-prefix is used
Ileana Dumitrescu [Mon, 3 Jun 2024 17:38:10 +0000 (20:38 +0300)] 
Fixed failing test when program-prefix is used

* tests/libtoolize.at: When -program-prefix is used, stdout for the
  program changes from the expected output. As a result, the test
  fails. Replaced the transformed name to account for program-prefix.

13 months agocfg.mk: Update old_NEWS_hash
Ileana Dumitrescu [Mon, 3 Jun 2024 14:32:07 +0000 (17:32 +0300)] 
cfg.mk: Update old_NEWS_hash

Fixed spacing of latest alpha release 2.5.0.

13 months agoltmain.in: Additional sysroot to prepend to libdir
Ileana Dumitrescu [Fri, 31 May 2024 14:56:09 +0000 (17:56 +0300)] 
ltmain.in: Additional sysroot to prepend to libdir

Addition to commit 3221f9f0fb98d5740ab5d0e8db6a731302520644.

13 months agoNEWS: Add news entries for recent changes
Ileana Dumitrescu [Fri, 31 May 2024 14:32:39 +0000 (17:32 +0300)] 
NEWS: Add news entries for recent changes

13 months agolibtool: pass more flags to the linker
Vincent Lefevre [Fri, 3 May 2019 13:19:19 +0000 (15:19 +0200)] 
libtool: pass more flags to the linker

Resolves bug 17750.

* build-aux/ltmain.in (func_mode_link): In the flags to be passed
through unchanged, also pass -static-* and -fcilkplus.

13 months agoltmain.in: Add missing sysroot to library path
Khem Raj [Sat, 16 Apr 2022 17:58:21 +0000 (18:58 +0100)] 
ltmain.in: Add missing sysroot to library path

When using a sysroot we should append it to libdir, which is helpful in
cross builds as the system is staged in the sysroot. For normal builds,
i.e. when lt_sysroot is not set, it will still behave the same and add
-L/usr/lib to the relink command.

* build-aux/ltmain.in: Prepend sysroot to libdir.

13 months agotests: Skip Fortran/C demo tests
Ileana Dumitrescu [Fri, 24 May 2024 18:13:13 +0000 (21:13 +0300)] 
tests: Skip Fortran/C demo tests

Using clang with fsanitize results in an incompatible ASan runtime.
It results in the warning message "linked against incompatible ASan
runtimes". This only occurs with the mixed Fortran/C demo.

* tests/f77demo.at: Skip tests for clang compiling with fsanitize.
* tests/fcdemo.at: Skip tests for clang compiling with fsanitize.

13 months agoDocument how to debug failing or skipped tests.
Bruno Haible [Tue, 14 May 2024 11:25:51 +0000 (13:25 +0200)] 
Document how to debug failing or skipped tests.

* HACKING (Test Suite): Explain how to debug a range of tests.

13 months agoSupport C++17 compilers in the C++ tests.
Bruno Haible [Tue, 14 May 2024 11:51:39 +0000 (13:51 +0200)] 
Support C++17 compilers in the C++ tests.

* tests/exceptions.at: For C++11 and newer, use the keyword 'noexcept'
instead of the keyword 'throw'.

13 months agolibtoolize: Don't use uninitialized variable.
Bruno Haible [Tue, 14 May 2024 15:37:20 +0000 (17:37 +0200)] 
libtoolize: Don't use uninitialized variable.

* libtoolize.in (func_serial_update): Initialize my_src_serial and
my_dest_serial before use.
* tests/libtoolize.at: Update expected test result.

13 months agoREADME.md: Update for additional git branch
Ileana Dumitrescu [Fri, 17 May 2024 17:34:06 +0000 (20:34 +0300)] 
README.md: Update for additional git branch

A supplementary branch for development and testing has been added. Some
CI checks for different architectures will be done via Github:
 -  https://github.com/gnu-libtool/ci-check

This will be used to help expedite testing and ensure the source code is
ready to be released.

13 months agomaint: post-release administrivia
Ileana Dumitrescu [Mon, 13 May 2024 18:04:21 +0000 (21:04 +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.0 v2.5.0
Ileana Dumitrescu [Mon, 13 May 2024 17:36:50 +0000 (20:36 +0300)] 
version 2.5.0

* NEWS: Record release date.

13 months agoNEWS: Update news for upcoming alpha release
Ileana Dumitrescu [Mon, 13 May 2024 13:49:36 +0000 (16:49 +0300)] 
NEWS: Update news for upcoming alpha release

13 months agoAUTHORS: Update current maintainership of libtool
Ileana Dumitrescu [Sat, 11 May 2024 15:41:19 +0000 (18:41 +0300)] 
AUTHORS: Update current maintainership of libtool

13 months agoNO-THANKS: Added helpful contributers
Ileana Dumitrescu [Sat, 11 May 2024 15:37:04 +0000 (18:37 +0300)] 
NO-THANKS: Added helpful contributers

13 months agoresident: Fixed syntax error with g++ compilation
Ileana Dumitrescu [Sat, 11 May 2024 09:07:13 +0000 (12:07 +0300)] 
resident: Fixed syntax error with g++ compilation

A function used in a test was not returning a value, while an int was
expected so the test would fail to compile.

tests/resident.at: Return the result of atexit().

13 months agobug_62343: Skip test if not building libtool libs
Ileana Dumitrescu [Sat, 11 May 2024 08:19:28 +0000 (11:19 +0300)] 
bug_62343: Skip test if not building libtool libs

When the configure option "--disable-shared" is used, this test will be
skipped since no libtool libs are built.

tests/bug_62343.at: Check if build_libtool_libs is set to no.

13 months agolibtool: Minor syntax and typo fixes
Ileana Dumitrescu [Sat, 11 May 2024 07:52:47 +0000 (10:52 +0300)] 
libtool: Minor syntax and typo fixes

doc/notes.texi: Duplicate "to" removed.
build-aux/ltmain.in: Useless parentheses in cpp directive removed.

13 months agolibtool.m4: Incremented serial
Ileana Dumitrescu [Sat, 11 May 2024 07:29:07 +0000 (10:29 +0300)] 
libtool.m4: Incremented serial

* m4/libtool.m4: Incremented serial for previous changes.

14 months agoltmain.in: Use func_warning for all warnings
Ileana Dumitrescu [Sat, 20 Apr 2024 10:04:33 +0000 (13:04 +0300)] 
ltmain.in: Use func_warning for all warnings

Several warning messages have been updated to use func_warning rather
than echo. This will allow them to be disabled properly.

* build-aux/ltmain.in: Replace echo command with func_warning function.

14 months agolibtool: Document warning output options
Ileana Dumitrescu [Sat, 20 Apr 2024 09:23:17 +0000 (12:23 +0300)] 
libtool: Document warning output options

By default, CATEGORY is set to "all" for all of the warning messages to
be output to standard error. CATEGORY can be set to "none" to disable
warnings.

* doc/libtool.texi: Document "W" or "--warnings=CATEGORY" option.

14 months agolibtool: Pass the "-no-canonical-prefixes" linker flag
Ileana Dumitrescu [Thu, 18 Apr 2024 16:26:55 +0000 (19:26 +0300)] 
libtool: Pass the "-no-canonical-prefixes" linker flag

When using the -no-canonical-prefixes flag in libtool, the flag is
removed from the linking command, causing linking to fail. This adds
the flag to the list of linker flags to be passed through to the
linker.

* build-aux/ltmain.in: Pass -no-canonical-prefixes to the linker.
* Makefile.am: Added in tests/bug_62343.at.
* tests/bug_62343.at: Contains test case for bug 62343.

14 months agolibtool: Remove test_compile
Ileana Dumitrescu [Mon, 8 Apr 2024 19:34:19 +0000 (22:34 +0300)] 
libtool: Remove test_compile

This is cleanup for libtool. The option test_compile is not used in
libtool, and the documentation states that it would probably be dropped
in the future.

* build-aux/ltmain.in: Remove case statement for test_compile.
* doc/libtool.texi: Remove test_compile from documentation.
* m4/libtool.m4: Remove test_compile definition from macro file.

15 months agolibtool: HACKING file list of files not to edit updated
Ileana Dumitrescu [Fri, 5 Apr 2024 18:45:26 +0000 (21:45 +0300)] 
libtool: HACKING file list of files not to edit updated

The HACKING file lists some files not to edit that are part of gnulib.
The contents for this list has been expanded to include various files,
including some m4 files.

* HACKING: Added other symbolic links to list of files not to edit.

15 months agolibtool: Add more test case descriptions
Ileana Dumitrescu [Thu, 28 Mar 2024 17:30:26 +0000 (19:30 +0200)] 
libtool: Add more test case descriptions

The libtool documentation is still lacking several test case
descriptions for tests/*demo.at Autotest files.

* doc/libtool.texi: Add missing test case descriptions.

15 months agolibtool: Fix and remove TODO for improperly sized symbol in TOC
Ileana Dumitrescu [Tue, 26 Mar 2024 18:01:49 +0000 (20:01 +0200)] 
libtool: Fix and remove TODO for improperly sized symbol in TOC

A comment in the libtool manual specifies a TODO for fixing the font
size of the ++ symbol in the TOC. This is fixed by wrapping the
symbol in a @code command, and this TODO can be removed.

* doc/libtool.texi: Wrap ++ in a @code command to fix font in TOC.

15 months agoClang uses -fopenmp=* to allow choosing between libgomp and libomp.
Sam James [Mon, 25 Mar 2024 18:32:30 +0000 (20:32 +0200)] 
Clang uses -fopenmp=* to allow choosing between libgomp and libomp.

* build-aux/ltmain.in: Pass through -fopenmp=*.

15 months agoltmain.in: update QNX version_type handling
Stephen Webb [Fri, 22 Mar 2024 16:49:53 +0000 (12:49 -0400)] 
ltmain.in: update QNX version_type handling

QNX handles ELF SONAME versioning just like most other targets.

15 months agolibtool: Fix documentation for demo compile mode commands
Ileana Dumitrescu [Wed, 20 Mar 2024 15:48:51 +0000 (17:48 +0200)] 
libtool: Fix documentation for demo compile mode commands

The demo compile mode commands in Chapter 3 fail to compile since
the source files include a header file that is not in the header search
list. The config.h file is in the local folder. Before this fix, the
compile mode commands would return errors like below:

main.c:1:10: fatal error: config.h: No such file or directory
    1 | #include <config.h>
      |          ^~~~~~~~~~
compilation terminated.

The '-I' option has been added to the gcc commands to specify that the
local folder should be searched for header files.

* doc/libtool.texi: Add option to demo compile mode commands

15 months agolibtool: Some outdated documentation warnings removed
Ileana Dumitrescu [Fri, 15 Mar 2024 15:53:22 +0000 (17:53 +0200)] 
libtool: Some outdated documentation warnings removed

Documentation for dlopen(3) states that it is thread safe, and it is
defined this way by POSIX.

* doc/libtool.texi: Remove old dlopen multi-threaded support warnings.

15 months agonotes.texi: Specify -lasan with -fsanitize=address in g++
Ileana Dumitrescu [Wed, 13 Mar 2024 17:08:54 +0000 (19:08 +0200)] 
notes.texi: Specify -lasan with -fsanitize=address in g++

When using the flag -fsanitize=address with g++, the user should also
specify -lasan to ensure linking occurs correctly. libtool uses
-nostdlib, and gcc implicitly includes -lasan when -fsanitize=address
is used. However, g++ does not implicitly include -lasan. The
documentation has been updated to reflect this information rather than
adding the -lasan flag to libtool.

* doc/notes.texi: Document that the user should pass -lasan.

16 months agolibtool: Add test case descriptions
Ileana Dumitrescu [Thu, 7 Mar 2024 18:49:16 +0000 (20:49 +0200)] 
libtool: Add test case descriptions

The libtool documentation is lacking several test case descriptions
for tests/*demo.at Autotest files.

* doc/libtool.texi: Add missing test case descriptions.

16 months agolibtool: Documentation refers to demo directory that no longer exists
Ileana Dumitrescu [Wed, 6 Mar 2024 20:03:17 +0000 (22:03 +0200)] 
libtool: Documentation refers to demo directory that no longer exists

The libtool documentation included mention of an old test framework.
The documentation has been reworked to indicate the current test
framework used by libtool, where the tests/*demo directories have been
replaced with tests/*demo.at Autotest files.

* doc/libtool.texi: Clarifies where the example files originate.
* TODO: Remove TODO item related to tests/*demo directories.

16 months agoltmain.in: correct windows compiler preprocessor checks
Ozkan Sezer [Fri, 1 Mar 2024 08:37:28 +0000 (11:37 +0300)] 
ltmain.in: correct windows compiler preprocessor checks

Commit f54924fa5d8d5959038e58adab7c552c3ca495ae seems to have been
wrongly applied.

16 months agoltmain.in: Expand process.h inclusion on Windows
Ileana Dumitrescu [Thu, 29 Feb 2024 13:58:26 +0000 (15:58 +0200)] 
ltmain.in: Expand process.h inclusion on Windows

Multiple compilers on Windows besides the proprietary MSVC compiler
require process.h, and not unistd.h. The inclusion check is expanded
to include these alternative compilers which also require process.h.

* ltmain.in: Replace _MSV_VER with WIN32 and !__GNU_C check