Skip to content

Commit e53724f

Browse files
committed
Backpatch "Use the preferred version of xsubpp."
As requested this is backpatched all the way to release 8.2.
1 parent d2202a6 commit e53724f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/pl/plperl/GNUmakefile

+4-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ endif
5252
# where to find psql for running the tests
5353
PSQLDIR = $(bindir)
5454

55+
# where to find xsubpp for building XS.
56+
XSUBPPDIR = $(shell $(PERL) -e 'use List::Util qw(first); print first { -r "$$_/ExtUtils/xsubpp" } @INC')
57+
5558
include $(top_srcdir)/src/Makefile.shlib
5659

5760

@@ -64,7 +67,7 @@ plperl_opmask.h: plperl_opmask.pl
6467

6568

6669
SPI.c: SPI.xs
67-
$(PERL) $(perl_privlibexp)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
70+
$(PERL) $(XSUBPPDIR)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
6871

6972
# When doing a VPATH build, copy over the .sql and .out files so that the
7073
# test script can find them. See comments in src/test/regress/GNUmakefile.

src/tools/msvc/mkvcbuild.pl

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Project;
66
use Solution;
77
use Cwd;
8+
use Config;
9+
use List::Util qw(first);
810

911
chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
1012
die 'Must run from root or msvc directory' unless (-d 'src\tools\msvc' && -d 'src');
@@ -52,8 +54,9 @@
5254
$plperl->AddIncludeDir($solution->{options}->{perl} . '/lib/CORE');
5355
$plperl->AddDefine('PLPERL_HAVE_UID_GID');
5456
if (Solution::IsNewer('src\pl\plperl\SPI.c','src\pl\plperl\SPI.xs')) {
57+
my $xsubppdir = first { -e "$_\\ExtUtils\\xsubpp" } @INC;
5558
print 'Building src\pl\plperl\SPI.c...' . "\n";
56-
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');
59+
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');
5760
if ((!(-f 'src\pl\plperl\SPI.c')) || -z 'src\pl\plperl\SPI.c') {
5861
unlink('src\pl\plperl\SPI.c'); # if zero size
5962
die 'Failed to create SPI.c' . "\n";

0 commit comments

Comments
 (0)