]> granicus.if.org Git - postgresql/commitdiff
Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is
authorAndrew Dunstan <andrew@dunslane.net>
Thu, 13 May 2010 21:34:55 +0000 (21:34 +0000)
committerAndrew Dunstan <andrew@dunslane.net>
Thu, 13 May 2010 21:34:55 +0000 (21:34 +0000)
where we started supporting MSVC builds.

Security: CVE-2010-1169

src/tools/msvc/mkvcbuild.pl

index 9f4a3c11e872099ddc81555afc7794e55f19d0fe..8bf35aefb4c0b05cb2979774e991ca240b77f9ec 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use Project;
 use Solution;
+use Cwd;
 
 chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
 die 'Must run from root or msvc directory' unless (-d 'src\tools\msvc' && -d 'src');
@@ -58,6 +59,26 @@ if ($solution->{options}->{perl}) {
                        die 'Failed to create SPI.c' . "\n";
                }
        }
+       if (  Solution::IsNewer('src\pl\plperl\plperl_opmask.h','src\pl\plperl\plperl_opmask.pl'))
+       {
+               print 'Building src\pl\plperl\plperl_opmask.h ...' . "\n";
+               
+               my $basedir = getcwd;
+               chdir 'src\pl\plperl';
+               system( $solution->{options}->{perl}
+                               . '/bin/perl '
+                               . 'plperl_opmask.pl '
+                               .       'plperl_opmask.h');
+               chdir $basedir;
+               if ((!(-f 'src\pl\plperl\plperl_opmask.h')) || -z 'src\pl\plperl\plperl_opmask.h')
+               {
+                       unlink('src\pl\plperl\plperl_opmask.h'); # if zero size
+                       die 'Failed to create plperl_opmask.h' . "\n";
+               }
+       }
+       $plperl->AddReference($postgres);
+       my @perl_libs = grep {/perl\d+.lib$/ }
+         glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');
        $plperl->AddReference($postgres);
        $plperl->AddLibrary($solution->{options}->{perl} . '\lib\CORE\perl58.lib');
 }