]> granicus.if.org Git - postgresql/commitdiff
Fix msvc builds for ActivePerl > 5.24
authorMagnus Hagander <magnus@hagander.net>
Fri, 2 Mar 2018 11:40:49 +0000 (12:40 +0100)
committerMagnus Hagander <magnus@hagander.net>
Fri, 2 Mar 2018 11:40:49 +0000 (12:40 +0100)
From this version ActivePerl ships both a .lib and a .a file for the
perl library, which our code would detect as there being no library
available. Instead, we should pick the .lib version and use that.

Report and suggested fix in bug #15065

Author: Heath Lord

src/tools/msvc/Mkvcbuild.pm

index d8c279ab92642d5a26366a293771f72b72c708d3..123292f48d8f3bfce1d42299a8ca31f8d9ffa4f3 100644 (file)
@@ -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.
                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]);
                }