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.
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
* 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.
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.
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.
'-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.
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.
* Makefile.am: Fix typo.
* doc/libtool.texi: Add missing test case descriptions and specify
option and command where missing in test case descriptions.
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.
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.
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.
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.
* 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.
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
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.
* 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.
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.
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.
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.
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.
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.
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.