diff options
author | Andrew Dunstan | 2015-05-03 13:10:47 +0000 |
---|---|---|
committer | Andrew Dunstan | 2015-05-03 13:10:47 +0000 |
commit | f802c6ddba143bd88512b5fc34e84ae0b4883284 (patch) | |
tree | b2ddb0a842ce440911aebf7047bad98eb8b5879b | |
parent | b6b2149e48aa61981ae0199c963d5145a37c258c (diff) |
Enable transforms modules to build and run with Mingw builds.
These modules were all missing essential Windows scaffolding, including
resources files and descriptions, and links to the relevant library
import files. This latter item means that the modules can't be built
with pgxs on Windows, as we don't install the import files. If we ever
decide to install them this restriction could probably be removed.
Also, as with plperl we need to make sure that perl's CORE directory is
last on the include list, as on Windows it appears to contain some
headers with names that clash with names of some headers we include.
-rw-r--r-- | contrib/hstore_plperl/Makefile | 15 | ||||
-rw-r--r-- | contrib/hstore_plpython/Makefile | 8 | ||||
-rw-r--r-- | contrib/ltree_plpython/Makefile | 8 |
3 files changed, 26 insertions, 5 deletions
diff --git a/contrib/hstore_plperl/Makefile b/contrib/hstore_plperl/Makefile index e7fbf23871..19a8ab4493 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 @@ -22,7 +23,15 @@ include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif -# see plperl ifeq ($(PORTNAME), win32) +# these settings are the same as for plperl override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment +# This means we need an in-tree build on Windows, not a pgxs build +SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a) endif + +# As with plperl we need to make sure that the CORE directory is included +# last, probably because it sometimes contains some header files with names +# that clash with some of ours, or with some that we include, notably on +# Windows. +override CPPFLAGS := $(CPPFLAGS) -I$(perl_archlibexp)/CORE diff --git a/contrib/hstore_plpython/Makefile b/contrib/hstore_plpython/Makefile index f5a6a882b5..6125ea4d2c 100644 --- a/contrib/hstore_plpython/Makefile +++ b/contrib/hstore_plpython/Makefile @@ -1,7 +1,8 @@ # contrib/hstore_plpython/Makefile MODULE_big = hstore_plpython$(python_majorversion) -OBJS = hstore_plpython.o +OBJS = hstore_plpython.o $(WIN32RES) +PGFILEDESC = "hstore_plpython - hstore transform for plpython" PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plpython $(python_includespec) -I$(top_srcdir)/contrib/hstore @@ -22,6 +23,11 @@ include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif +ifeq ($(PORTNAME), win32) +# This means we need an in-tree build on Windows, not a pgxs build +SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plpython/libpython*.a) $(wildcard ../../src/pl/plpython/libplpython*.a) +endif + REGRESS_OPTS = --load-extension=hstore ifeq ($(python_majorversion),2) REGRESS_OPTS += --load-extension=plpythonu --load-extension=hstore_plpythonu diff --git a/contrib/ltree_plpython/Makefile b/contrib/ltree_plpython/Makefile index c358cfa88b..a0c107c2c3 100644 --- a/contrib/ltree_plpython/Makefile +++ b/contrib/ltree_plpython/Makefile @@ -1,7 +1,8 @@ # contrib/ltree_plpython/Makefile MODULE_big = ltree_plpython$(python_majorversion) -OBJS = ltree_plpython.o +OBJS = ltree_plpython.o $(WIN32RES) +PGFILEDESC = "ltree_plpython - ltree transform for plpython" PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plpython $(python_includespec) -I$(top_srcdir)/contrib/ltree @@ -22,6 +23,11 @@ include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif +ifeq ($(PORTNAME), win32) +# This means we need an in-tree build on Windows, not a pgxs build +SHLIB_LINK += $(wildcard ../../src/pl/plpython/libpython*.a) +endif + REGRESS_OPTS = --load-extension=ltree ifeq ($(python_majorversion),2) REGRESS_OPTS += --load-extension=plpythonu --load-extension=ltree_plpythonu |