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
This commit is contained in:
Markus Mützel 2024-10-14 17:25:07 +02:00 committed by Ileana Dumitrescu
parent 3226abb870
commit 68fbecc49b
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354
2 changed files with 3 additions and 1 deletions

2
NEWS
View File

@ -12,6 +12,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool
- Fix bug where the constructed rpath omit directories, instead of - Fix bug where the constructed rpath omit directories, instead of
appending them to the end. appending them to the end.
- Fix configure error for when variable 'multlib' is unset.
* Noteworthy changes in release 2.5.3 (2024-09-25) [stable] * Noteworthy changes in release 2.5.3 (2024-09-25) [stable]

2
m4/libtool.m4 vendored
View File

@ -2584,7 +2584,7 @@ cygwin* | mingw* | windows* | pw32* | cegcc*)
# If user builds GCC with mulitlibs enabled, # If user builds GCC with mulitlibs enabled,
# it should just install on $(libdir) # it should just install on $(libdir)
# not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
if test yes = $multilib; then if test xyes = x$multilib; then
postinstall_cmds='base_file=`basename \$file`~ postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~ dldir=$destdir/`dirname \$dlpath`~