diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2010-01-20 04:14:06 +0000 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2010-01-20 04:14:06 +0000 |
commit | 3d3616cc2fae5ef990e1753d93e47c0278cb602e (patch) | |
tree | b87fcdfaf3796cfc5821a715132426e4c5c9ed64 /src | |
parent | 62b5c031f6f8f6e6251a64689aecda52c68079f9 (diff) | |
download | postgresql-3d3616cc2fae5ef990e1753d93e47c0278cb602e.tar.gz postgresql-3d3616cc2fae5ef990e1753d93e47c0278cb602e.zip |
Build plperl's new Util.xs
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/msvc/Mkvcbuild.pm | 39 |
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')) |