From 1e95bbc870ccb4dc4ac8d43b0a4ed3661415f148 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 4 Dec 2014 07:58:12 -0500 Subject: [PATCH] Fix SHLIB_PREREQS use in contrib, allowing PGXS builds dblink and postgres_fdw use SHLIB_PREREQS = submake-libpq to build libpq first. This doesn't work in a PGXS build, because there is no libpq to build. So just omit setting SHLIB_PREREQS in this case. Note that PGXS users can still use SHLIB_PREREQS (although it is not documented). The problem here is only that contrib modules can be built in-tree or using PGXS, and the prerequisite is only applicable in the former case. Commit 6697aa2bc25c83b88d6165340348a31328c35de6 previously attempted to address this by creating a somewhat fake submake-libpq target in Makefile.global. That was not the right fix, and it was also done in a nonportable way, so revert that. --- contrib/dblink/Makefile | 2 +- contrib/postgres_fdw/Makefile | 2 +- src/Makefile.global.in | 12 +----------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/contrib/dblink/Makefile b/contrib/dblink/Makefile index f5ab1641db..b8d515716d 100644 --- a/contrib/dblink/Makefile +++ b/contrib/dblink/Makefile @@ -4,7 +4,6 @@ MODULE_big = dblink OBJS = dblink.o $(WIN32RES) PG_CPPFLAGS = -I$(libpq_srcdir) SHLIB_LINK = $(libpq) -SHLIB_PREREQS = submake-libpq EXTENSION = dblink DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql @@ -19,6 +18,7 @@ PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) else +SHLIB_PREREQS = submake-libpq subdir = contrib/dblink top_builddir = ../.. include $(top_builddir)/src/Makefile.global diff --git a/contrib/postgres_fdw/Makefile b/contrib/postgres_fdw/Makefile index a9e380d6be..d2b98e10f3 100644 --- a/contrib/postgres_fdw/Makefile +++ b/contrib/postgres_fdw/Makefile @@ -6,7 +6,6 @@ PGFILEDESC = "postgres_fdw - foreign data wrapper for PostgreSQL" PG_CPPFLAGS = -I$(libpq_srcdir) SHLIB_LINK = $(libpq) -SHLIB_PREREQS = submake-libpq EXTENSION = postgres_fdw DATA = postgres_fdw--1.0.sql @@ -18,6 +17,7 @@ PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) else +SHLIB_PREREQS = submake-libpq subdir = contrib/postgres_fdw top_builddir = ../.. include $(top_builddir)/src/Makefile.global diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 63ff50b1dc..a78f4d34f8 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -458,23 +458,13 @@ ifeq ($(PORTNAME),cygwin) libpq_pgport += $(LDAP_LIBS_FE) endif -# If PGXS is not defined, build libpq and libpgport dependencies as required. -# If the build is with PGXS, then these are supposed to be already built and -# installed, and we just ensure that the expected files exist. -ifndef PGXS + submake-libpq: $(MAKE) -C $(libpq_builddir) all -else -submake-libpq: $(libdir)/libpq.so ; -endif -ifndef PGXS submake-libpgport: $(MAKE) -C $(top_builddir)/src/port all $(MAKE) -C $(top_builddir)/src/common all -else -submake-libpgport: $(libdir)/libpgport.a $(libdir)/libpgcommon.a ; -endif .PHONY: submake-libpq submake-libpgport -- 2.40.0