aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2010-05-13 21:34:55 +0000
committerAndrew Dunstan <andrew@dunslane.net>2010-05-13 21:34:55 +0000
commitc96fa415b82c4845304d9d73ff096621e9aea89a (patch)
tree21ad115835a89cebaafeac54016b23eee87a93bb
parent05b75b9624b359e89770b7867bf01e188ad43d54 (diff)
downloadpostgresql-c96fa415b82c4845304d9d73ff096621e9aea89a.tar.gz
postgresql-c96fa415b82c4845304d9d73ff096621e9aea89a.zip
Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is
where we started supporting MSVC builds. Security: CVE-2010-1169
-rw-r--r--src/tools/msvc/mkvcbuild.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tools/msvc/mkvcbuild.pl b/src/tools/msvc/mkvcbuild.pl
index 9f4a3c11e87..8bf35aefb4c 100644
--- a/src/tools/msvc/mkvcbuild.pl
+++ b/src/tools/msvc/mkvcbuild.pl
@@ -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');
}