mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
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 6697aa2bc2
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.
This commit is contained in:
@ -4,7 +4,6 @@ MODULE_big = dblink
|
|||||||
OBJS = dblink.o
|
OBJS = dblink.o
|
||||||
PG_CPPFLAGS = -I$(libpq_srcdir)
|
PG_CPPFLAGS = -I$(libpq_srcdir)
|
||||||
SHLIB_LINK = $(libpq)
|
SHLIB_LINK = $(libpq)
|
||||||
SHLIB_PREREQS = submake-libpq
|
|
||||||
|
|
||||||
EXTENSION = dblink
|
EXTENSION = dblink
|
||||||
DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql
|
DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql
|
||||||
@ -21,6 +20,7 @@ PG_CONFIG = pg_config
|
|||||||
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
||||||
include $(PGXS)
|
include $(PGXS)
|
||||||
else
|
else
|
||||||
|
SHLIB_PREREQS = submake-libpq
|
||||||
subdir = contrib/dblink
|
subdir = contrib/dblink
|
||||||
top_builddir = ../..
|
top_builddir = ../..
|
||||||
include $(top_builddir)/src/Makefile.global
|
include $(top_builddir)/src/Makefile.global
|
||||||
|
@ -5,7 +5,6 @@ OBJS = postgres_fdw.o option.o deparse.o connection.o
|
|||||||
|
|
||||||
PG_CPPFLAGS = -I$(libpq_srcdir)
|
PG_CPPFLAGS = -I$(libpq_srcdir)
|
||||||
SHLIB_LINK = $(libpq)
|
SHLIB_LINK = $(libpq)
|
||||||
SHLIB_PREREQS = submake-libpq
|
|
||||||
|
|
||||||
EXTENSION = postgres_fdw
|
EXTENSION = postgres_fdw
|
||||||
DATA = postgres_fdw--1.0.sql
|
DATA = postgres_fdw--1.0.sql
|
||||||
@ -20,6 +19,7 @@ PG_CONFIG = pg_config
|
|||||||
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
||||||
include $(PGXS)
|
include $(PGXS)
|
||||||
else
|
else
|
||||||
|
SHLIB_PREREQS = submake-libpq
|
||||||
subdir = contrib/postgres_fdw
|
subdir = contrib/postgres_fdw
|
||||||
top_builddir = ../..
|
top_builddir = ../..
|
||||||
include $(top_builddir)/src/Makefile.global
|
include $(top_builddir)/src/Makefile.global
|
||||||
|
@ -456,23 +456,13 @@ ifeq ($(PORTNAME),cygwin)
|
|||||||
libpq_pgport += $(LDAP_LIBS_FE)
|
libpq_pgport += $(LDAP_LIBS_FE)
|
||||||
endif
|
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:
|
submake-libpq:
|
||||||
$(MAKE) -C $(libpq_builddir) all
|
$(MAKE) -C $(libpq_builddir) all
|
||||||
else
|
|
||||||
submake-libpq: $(libdir)/libpq.so ;
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef PGXS
|
|
||||||
submake-libpgport:
|
submake-libpgport:
|
||||||
$(MAKE) -C $(top_builddir)/src/port all
|
$(MAKE) -C $(top_builddir)/src/port all
|
||||||
$(MAKE) -C $(top_builddir)/src/common all
|
$(MAKE) -C $(top_builddir)/src/common all
|
||||||
else
|
|
||||||
submake-libpgport: $(libdir)/libpgport.a $(libdir)/libpgcommon.a ;
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: submake-libpq submake-libpgport
|
.PHONY: submake-libpq submake-libpgport
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user