From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 5 Sep 2011 00:07:42 +0000 (-0400)
Subject: Guard against using plperl's Makefile without specifying --with-perl.
X-Git-Tag: REL9_0_5~19
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed7eff89fd64021a2b4150c7d2caca488274c80b;p=postgresql

Guard against using plperl's Makefile without specifying --with-perl.

The $(PERL) macro will be set by configure if it finds perl at all,
but $(perl_privlibexp) isn't configured unless you said --with-perl.
This results in confusing error messages if someone cd's into
src/pl/plperl and tries to build there despite the configure omission,
as reported by Tomas Vondra in bug #6198.  Add simple checks to
provide a more useful report, while not disabling other use of the
makefile such as "make clean".

Back-patch to 9.0, which is as far as the patch applies easily.
---

diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index d53811263a..694a9b2189 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -57,17 +57,21 @@ include $(top_srcdir)/src/Makefile.shlib
 plperl.o: perlchunks.h plperl_opmask.h
 
 plperl_opmask.h: plperl_opmask.pl
+	@if [ x"$(perl_privlibexp)" = x"" ]; then echo "configure switch --with-perl was not specified."; exit 1; fi
 	$(PERL) $< $@
 
-perlchunks.h: $(PERLCHUNKS) 
+perlchunks.h: $(PERLCHUNKS)
+	@if [ x"$(perl_privlibexp)" = x"" ]; then echo "configure switch --with-perl was not specified."; exit 1; fi
 	$(PERL) $(srcdir)/text2macro.pl --strip='^(\#.*|\s*)$$' $^ > $@
 
 all: all-lib
 
 SPI.c: SPI.xs
+	@if [ x"$(perl_privlibexp)" = x"" ]; then echo "configure switch --with-perl was not specified."; exit 1; fi
 	$(PERL) $(perl_privlibexp)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
 
 Util.c: Util.xs
+	@if [ x"$(perl_privlibexp)" = x"" ]; then echo "configure switch --with-perl was not specified."; exit 1; fi
 	$(PERL) $(perl_privlibexp)/ExtUtils/xsubpp -typemap $(perl_privlibexp)/ExtUtils/typemap $< >$@
 
 install: all installdirs install-lib