summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2011-11-28 07:45:48 -0500
committerAndrew Dunstan <andrew@dunslane.net>2011-11-28 07:45:48 -0500
commit31e9743f1ab9dfc9c3c515b61f27030c93c776be (patch)
tree2eae7d835261a65d6c61653021b90a106834e2e6
parent9b60e40cad723cf904ebd5d4afa5ecd40431534a (diff)
Backpatch "Use the preferred version of xsubpp."
As requested this is backpatched all the way to release 8.2.
-rw-r--r--src/pl/plperl/GNUmakefile5
-rw-r--r--src/tools/msvc/Mkvcbuild.pm6
2 files changed, 8 insertions, 3 deletions
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index ec9c6b4ff7d..de1ac11407b 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -50,6 +50,9 @@ endif
# where to find psql for running the tests
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
@@ -62,7 +65,7 @@ plperl_opmask.h: plperl_opmask.pl
SPI.c: SPI.xs
- $(PERL) $(perl_privlibexp)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
+ $(PERL) $(XSUBPPDIR)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
install: all installdirs install-lib
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 870bfeef070..92a838d76a8 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -12,6 +12,8 @@ use warnings;
use Project;
use Solution;
use Cwd;
+use Config;
+use List::Util qw(first);
use Exporter;
our (@ISA, @EXPORT_OK);
@@ -91,11 +93,11 @@ sub mkvcbuild
$plperl->AddDefine('PLPERL_HAVE_UID_GID');
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";
system( $solution->{options}->{perl}
. '/bin/perl '
- . $solution->{options}->{perl}
- . '/lib/ExtUtils/xsubpp -typemap '
+ . "$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')