Commit 5da944fb authored by Noah Misch's avatar Noah Misch

Consolidate makefile code for setting top_srcdir, srcdir and VPATH.

Responsibility was formerly split between Makefile.global and pgxs.mk.
As a result of commit b58233c7, in the
PGXS case, these variables were unset while parsing Makefile.global and
callees.  Inclusion of Makefile.custom did not work from PGXS, and the
subtle difference seemed like a recipe for future bugs.  Back-patch to
9.4, where that commit first appeared.
parent e8e86fbc
......@@ -40,9 +40,24 @@ VERSION = @PACKAGE_VERSION@
MAJORVERSION = @PG_MAJORVERSION@
VERSION_NUM = @PG_VERSION_NUM@
# Support for VPATH builds
# (PGXS VPATH support is handled separately in pgxs.mk)
ifndef PGXS
# Set top_srcdir, srcdir, and VPATH.
ifdef PGXS
top_srcdir = $(top_builddir)
# If VPATH is set or Makefile is not in current directory we are building
# the extension with VPATH so we set the variable here.
ifdef VPATH
srcdir = $(VPATH)
else
ifeq ($(CURDIR),$(dir $(firstword $(MAKEFILE_LIST))))
srcdir = .
VPATH =
else
srcdir = $(dir $(firstword $(MAKEFILE_LIST)))
VPATH = $(srcdir)
endif
endif
else # not PGXS
vpath_build = @vpath_build@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
......
......@@ -62,21 +62,6 @@ ifdef PGXS
top_builddir := $(dir $(PGXS))../..
include $(top_builddir)/src/Makefile.global
top_srcdir = $(top_builddir)
# If VPATH is set or Makefile is not in current directory we are building
# the extension with VPATH so we set the variable here.
ifdef VPATH
srcdir = $(VPATH)
else
ifeq ($(CURDIR),$(dir $(firstword $(MAKEFILE_LIST))))
srcdir = .
VPATH =
else
srcdir = $(dir $(firstword $(MAKEFILE_LIST)))
VPATH = $(srcdir)
endif
endif
# These might be set in Makefile.global, but if they were not found
# during the build of PostgreSQL, supply default values so that users
# of pgxs can use the variables.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment