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
This commit is contained in:
Andrew Dunstan 2010-05-13 21:33:00 +00:00
parent 20db9591b2
commit 2a73ee59db
1 changed files with 19 additions and 4 deletions

View File

@ -3,7 +3,7 @@ package Mkvcbuild;
# #
# Package that generates build files for msvc build # Package that generates build files for msvc build
# #
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.56 2010/05/13 15:56:22 mha Exp $ # $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.57 2010/05/13 21:33:00 adunstan Exp $
# #
use Carp; use Carp;
use Win32; use Win32;
@ -118,8 +118,7 @@ sub mkvcbuild
} }
} }
if ( Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_perlboot.pl') if ( Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_perlboot.pl')
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_bad.pl') ||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_trusted.pl'))
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_ok.pl'))
{ {
print 'Building src\pl\plperl\perlchunks.h ...' . "\n"; print 'Building src\pl\plperl\perlchunks.h ...' . "\n";
my $basedir = getcwd; my $basedir = getcwd;
@ -128,7 +127,7 @@ sub mkvcbuild
. '/bin/perl ' . '/bin/perl '
. 'text2macro.pl ' . 'text2macro.pl '
. '--strip="^(\#.*|\s*)$$" ' . '--strip="^(\#.*|\s*)$$" '
. 'plc_perlboot.pl plc_safe_bad.pl plc_safe_ok.pl ' . 'plc_perlboot.pl plc_trusted.pl '
. '>perlchunks.h'); . '>perlchunks.h');
chdir $basedir; chdir $basedir;
if ((!(-f 'src\pl\plperl\perlchunks.h')) || -z 'src\pl\plperl\perlchunks.h') if ((!(-f 'src\pl\plperl\perlchunks.h')) || -z 'src\pl\plperl\perlchunks.h')
@ -137,6 +136,22 @@ sub mkvcbuild
die 'Failed to create perlchunks.h' . "\n"; die 'Failed to create perlchunks.h' . "\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); $plperl->AddReference($postgres);
my @perl_libs = my @perl_libs =
grep {/perl\d+.lib$/ }glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); grep {/perl\d+.lib$/ }glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');