Subject: | Can't find libraries ending in .lib from Strawberry Perl |
ExtUtils::Liblist::Kid::_win32_ext only looks for library files ending
in $Config{lib_ext} that depending on the compiler used to compile perl
(VC or GCC) could be .a or .lib.
AFAIK it is possible to use libraries inside programs or modules
compiled with a different compiler, so the current library search logic
doesn't make sense. _win32_ext should look for libraries ending in both
.a and .lib
As a real case, see this thread in Perlmonks:
http://perlmonks.org/?node_id=791341
The user is trying to compile Language::Prolog::Yaswi under Strawberry
Perl. The module tries to link with SWI-Prolog library but it fails
because that package is compiled with a different compiler.
At a minimum it should be possible to set the desired library extension
from Makefile.PL
Changing inside _win32_ext
$_ .= $libext if !/\Q$libext\E$/i;
to
$_ .= $libext if !/(?:\Q$libext\E|\.lib|\.a)$/i;