Skip to content

Commit 0346442

Browse files
committed
Build perlchunks.h for plperl on MSVC
1 parent c79640e commit 0346442

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

src/tools/msvc/Mkvcbuild.pm

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ package Mkvcbuild;
33
#
44
# Package that generates build files for msvc build
55
#
6-
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.44 2009/11/12 00:13:00 tgl Exp $
6+
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.45 2010/01/09 14:45:47 adunstan Exp $
77
#
88
use Carp;
99
use Win32;
1010
use strict;
1111
use warnings;
1212
use Project;
1313
use Solution;
14+
use Cwd;
15+
use File::Copy;
1416

1517
use Exporter;
1618
our (@ISA, @EXPORT_OK);
@@ -103,6 +105,31 @@ sub mkvcbuild
103105
die 'Failed to create SPI.c' . "\n";
104106
}
105107
}
108+
if ( Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_perlboot.pl')
109+
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_bad.pl')
110+
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_ok.pl'))
111+
{
112+
print 'Building src\pl\plperl\perlchunks.h ...' . "\n";
113+
my $basedir = getcwd;
114+
chdir 'src\pl\plperl';
115+
system( $solution->{options}->{perl}
116+
. '/bin/perl '
117+
. 'text2macro.pl '
118+
. '--strip="^(\#.*|\s*)$$" '
119+
. 'plc_perlboot.pl plc_safe_bad.pl plc_safe_ok.pl '
120+
. '>perlchunks.htmp');
121+
chdir $basedir;
122+
if ((!(-f 'src\pl\plperl\perlchunks.htmp')) || -z 'src\pl\plperl\perlchunks.htmp')
123+
{
124+
unlink('src\pl\plperl\perlchunks.htmp'); # if zero size
125+
die 'Failed to create perlchunks.h' . "\n";
126+
}
127+
else
128+
{
129+
move('src\pl\plperl\perlchunks.htmp','src\pl\plperl\perlchunks.h');
130+
}
131+
132+
}
106133
$plperl->AddReference($postgres);
107134
my @perl_libs = grep {/perl\d+.lib$/ }
108135
glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');

0 commit comments

Comments
 (0)