On 05/02/2015 11:05 AM, Andrew Dunstan wrote:

On 05/02/2015 10:40 AM, Peter Eisentraut wrote:
On 5/2/15 10:20 AM, Andrew Dunstan wrote:
Putting the CORE directory at the end of PG_CPPFLAGS doesn't work. Using
the override to put it at the end of CPPFLAGS does work.
It's strange that the include directory order should matter. What is
the explanation for that?  I don't see this documented anywhere.  I
don't see any evidence in the buildfarm that this makes a difference.

The intent of my changes was to unbreak other platforms that had been
broken by these Windows-related changes (which did succeed).



What failures on other platforms? There's not a single buildfarm failure I can see attributable to this. All the recent failures are listed here: <http://www.pgbuildfarm.org/cgi-bin/show_failures.pl>

The evidence in favor of my changes is in my testing. When I do it your way I get errors, when I do it my way I don't.

Note that the override is EXACTLY what is done unconditionally in the plperl GNUmakefile:

   override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS)
   -I$(perl_archlibexp)/CORE


So, contrary to your claims, you have not made this makefile more like plperl's - you've made it less like plperl's, and detrimentally so.


FYI, the attached patch allows jacana to build and test hstore_plperl without error.

cheers

andrew


diff --git a/contrib/hstore_plperl/Makefile b/contrib/hstore_plperl/Makefile
index e7fbf23..b69cb88 100644
--- a/contrib/hstore_plperl/Makefile
+++ b/contrib/hstore_plperl/Makefile
@@ -1,9 +1,10 @@
 # contrib/hstore_plperl/Makefile
 
 MODULE_big = hstore_plperl
-OBJS = hstore_plperl.o
+OBJS = hstore_plperl.o $(WIN32RES)
+PGFILEDESC = "hstore_plperl - hstore transform for plperl"
 
-PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plperl -I$(top_srcdir)/contrib/hstore -I$(perl_archlibexp)/CORE
+PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plperl -I$(top_srcdir)/contrib/hstore
 
 EXTENSION = hstore_plperl hstore_plperlu
 DATA = hstore_plperl--1.0.sql hstore_plperlu--1.0.sql
@@ -25,4 +26,7 @@ endif
 # see plperl
 ifeq ($(PORTNAME), win32)
 override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
+SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
 endif
+
+override CPPFLAGS := $(CPPFLAGS) -I$(perl_archlibexp)/CORE
-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to