On Fri, Mar 02, 2018 at 11:42:32AM +0000, Magnus Hagander wrote:
> Fix msvc builds for ActivePerl > 5.24
> --- a/src/tools/msvc/Mkvcbuild.pm
> +++ b/src/tools/msvc/Mkvcbuild.pm
> @@ -524,9 +524,11 @@ sub mkvcbuild
> my $perl_path = $solution->{options}->{perl} . '\lib\CORE\*perl*';
>
> # ActivePerl 5.16 provided perl516.lib; 5.18 provided libperl518.a
> + # Starting with ActivePerl 5.24, both perlnn.lib and libperlnn.a are provided.
> + # In this case, prefer .lib.
Sounds reasonable, but ...
> my @perl_libs =
> grep { /perl\d+\.lib$|libperl\d+\.a$/ } glob($perl_path);
> - if (@perl_libs == 1)
> + if (@perl_libs > 0)
> {
> $plperl->AddLibrary($perl_libs[0]);
> }
... the behavior doesn't match the comment. By default, glob() sorts by ASCII
value, so @perl_libs = qw(libperl524.a perl524.lib).