aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2010-01-20 04:14:06 +0000
committerAndrew Dunstan <andrew@dunslane.net>2010-01-20 04:14:06 +0000
commit3d3616cc2fae5ef990e1753d93e47c0278cb602e (patch)
treeb87fcdfaf3796cfc5821a715132426e4c5c9ed64 /src
parent62b5c031f6f8f6e6251a64689aecda52c68079f9 (diff)
downloadpostgresql-3d3616cc2fae5ef990e1753d93e47c0278cb602e.tar.gz
postgresql-3d3616cc2fae5ef990e1753d93e47c0278cb602e.zip
Build plperl's new Util.xs
Diffstat (limited to 'src')
-rw-r--r--src/tools/msvc/Mkvcbuild.pm39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 8c716e356f5..b7d5e7ab51b 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -3,7 +3,7 @@ package Mkvcbuild;
#
# Package that generates build files for msvc build
#
-# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.48 2010/01/17 13:21:50 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.49 2010/01/20 04:14:06 adunstan Exp $
#
use Carp;
use Win32;
@@ -87,24 +87,31 @@ sub mkvcbuild
if ($solution->{options}->{perl})
{
+ my $plperlsrc = "src\\pl\\plperl\\";
my $plperl = $solution->AddProject('plperl','dll','PLs','src\pl\plperl');
$plperl->AddIncludeDir($solution->{options}->{perl} . '/lib/CORE');
$plperl->AddDefine('PLPERL_HAVE_UID_GID');
- if (Solution::IsNewer('src\pl\plperl\SPI.c','src\pl\plperl\SPI.xs'))
- {
- print 'Building src\pl\plperl\SPI.c...' . "\n";
- system( $solution->{options}->{perl}
- . '/bin/perl '
- . $solution->{options}->{perl}
- . '/lib/ExtUtils/xsubpp -typemap '
- . $solution->{options}->{perl}
- . '/lib/ExtUtils/typemap src\pl\plperl\SPI.xs >src\pl\plperl\SPI.c');
- if ((!(-f 'src\pl\plperl\SPI.c')) || -z 'src\pl\plperl\SPI.c')
- {
- unlink('src\pl\plperl\SPI.c'); # if zero size
- die 'Failed to create SPI.c' . "\n";
- }
- }
+ foreach my $xs ('SPI.xs', 'Util.xs')
+ {
+ (my $xsc = $xs) =~ s/\.xs/.c/;
+ if (Solution::IsNewer("$plperlsrc$xsc","$plperlsrc$xs"))
+ {
+ print "Building $plperlsrc$xsc...\n";
+ system( $solution->{options}->{perl}
+ . '/bin/perl '
+ . $solution->{options}->{perl}
+ . '/lib/ExtUtils/xsubpp -typemap '
+ . $solution->{options}->{perl}
+ . '/lib/ExtUtils/typemap '
+ . "$plperlsrc$xs "
+ . ">plperlsrc$xsc");
+ if ((!(-f "$plperlsrc$xsc")) || -z "$plperlsrc$xsc")
+ {
+ unlink("$plperlsrc$xsc"); # if zero size
+ die "Failed to create $xsc.\n";
+ }
+ }
+ }
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_safe_ok.pl'))