mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
Backpatch "Use the preferred version of xsubpp."
As requested this is backpatched all the way to release 8.2.
This commit is contained in:
@ -52,6 +52,9 @@ endif
|
|||||||
# where to find psql for running the tests
|
# where to find psql for running the tests
|
||||||
PSQLDIR = $(bindir)
|
PSQLDIR = $(bindir)
|
||||||
|
|
||||||
|
# where to find xsubpp for building XS.
|
||||||
|
XSUBPPDIR = $(shell $(PERL) -e 'use List::Util qw(first); print first { -r "$$_/ExtUtils/xsubpp" } @INC')
|
||||||
|
|
||||||
include $(top_srcdir)/src/Makefile.shlib
|
include $(top_srcdir)/src/Makefile.shlib
|
||||||
|
|
||||||
|
|
||||||
@ -64,7 +67,7 @@ plperl_opmask.h: plperl_opmask.pl
|
|||||||
|
|
||||||
|
|
||||||
SPI.c: SPI.xs
|
SPI.c: SPI.xs
|
||||||
$(PERL) $(perl_privlibexp)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
|
$(PERL) $(XSUBPPDIR)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
|
||||||
|
|
||||||
# When doing a VPATH build, copy over the .sql and .out files so that the
|
# When doing a VPATH build, copy over the .sql and .out files so that the
|
||||||
# test script can find them. See comments in src/test/regress/GNUmakefile.
|
# test script can find them. See comments in src/test/regress/GNUmakefile.
|
||||||
|
@ -5,6 +5,8 @@ use warnings;
|
|||||||
use Project;
|
use Project;
|
||||||
use Solution;
|
use Solution;
|
||||||
use Cwd;
|
use Cwd;
|
||||||
|
use Config;
|
||||||
|
use List::Util qw(first);
|
||||||
|
|
||||||
chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
|
chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
|
||||||
die 'Must run from root or msvc directory' unless (-d 'src\tools\msvc' && -d 'src');
|
die 'Must run from root or msvc directory' unless (-d 'src\tools\msvc' && -d 'src');
|
||||||
@ -52,8 +54,9 @@ if ($solution->{options}->{perl}) {
|
|||||||
$plperl->AddIncludeDir($solution->{options}->{perl} . '/lib/CORE');
|
$plperl->AddIncludeDir($solution->{options}->{perl} . '/lib/CORE');
|
||||||
$plperl->AddDefine('PLPERL_HAVE_UID_GID');
|
$plperl->AddDefine('PLPERL_HAVE_UID_GID');
|
||||||
if (Solution::IsNewer('src\pl\plperl\SPI.c','src\pl\plperl\SPI.xs')) {
|
if (Solution::IsNewer('src\pl\plperl\SPI.c','src\pl\plperl\SPI.xs')) {
|
||||||
|
my $xsubppdir = first { -e "$_\\ExtUtils\\xsubpp" } @INC;
|
||||||
print 'Building src\pl\plperl\SPI.c...' . "\n";
|
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');
|
system($solution->{options}->{perl} . '/bin/perl ' . "$xsubppdir/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') {
|
if ((!(-f 'src\pl\plperl\SPI.c')) || -z 'src\pl\plperl\SPI.c') {
|
||||||
unlink('src\pl\plperl\SPI.c'); # if zero size
|
unlink('src\pl\plperl\SPI.c'); # if zero size
|
||||||
die 'Failed to create SPI.c' . "\n";
|
die 'Failed to create SPI.c' . "\n";
|
||||||
|
Reference in New Issue
Block a user