mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Back-patch commit dddfc4cb2, which broke LDFLAGS and related Makefile variables into two parts, one for within-build-tree library references and one for external libraries, to ensure that the order of -L flags has all of the former before all of the latter. This turns out to fix a problem recently noted on buildfarm member peripatus, that we attempted to incorporate code from libpgport.a into a shared library. That will fail on platforms that are sticky about putting non-PIC code into shared libraries. (It's quite surprising we hadn't seen such failures before, since the code in question has been like that for a long time.) I think that peripatus' problem could have been fixed with just a subset of this patch; but since the previous issue of accidentally linking to the wrong copy of a Postgres shlib seems likely to bite people in the field, let's just back-patch the whole change. Now that commit dddfc4cb2 has survived some beta testing, I'm less afraid to back-patch it than I was at the time. This also fixes undesired inclusion of "-DFRONTEND" in pg_config's CPPFLAGS output (in 9.6 and up) and undesired inclusion of "-L../../src/common" in its LDFLAGS output (in all supported branches). Back-patch to v10 and older branches; this is already in v11. Discussion: https://postgr.es/m/20180704234304.bq2dxispefl65odz@ler-imac.local
42 lines
1.3 KiB
Makefile
42 lines
1.3 KiB
Makefile
# contrib/ltree_plpython/Makefile
|
|
|
|
MODULE_big = ltree_plpython$(python_majorversion)
|
|
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 -DPLPYTHON_LIBNAME='"plpython$(python_majorversion)"'
|
|
|
|
EXTENSION = ltree_plpythonu ltree_plpython2u ltree_plpython3u
|
|
DATA = ltree_plpythonu--1.0.sql ltree_plpython2u--1.0.sql ltree_plpython3u--1.0.sql
|
|
|
|
REGRESS = ltree_plpython
|
|
REGRESS_PLPYTHON3_MANGLE := $(REGRESS)
|
|
|
|
ifdef USE_PGXS
|
|
PG_CONFIG = pg_config
|
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
|
include $(PGXS)
|
|
else
|
|
subdir = contrib/ltree_plpython
|
|
top_builddir = ../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
include $(top_srcdir)/contrib/contrib-global.mk
|
|
endif
|
|
|
|
# We must link libpython explicitly
|
|
ifeq ($(PORTNAME), win32)
|
|
# ... see silliness in plpython Makefile ...
|
|
SHLIB_LINK_INTERNAL += $(sort $(wildcard ../../src/pl/plpython/libpython*.a))
|
|
else
|
|
rpathdir = $(python_libdir)
|
|
SHLIB_LINK += $(python_libspec) $(python_additional_libs)
|
|
endif
|
|
|
|
REGRESS_OPTS += --load-extension=ltree
|
|
ifeq ($(python_majorversion),2)
|
|
REGRESS_OPTS += --load-extension=plpythonu --load-extension=ltree_plpythonu
|
|
endif
|
|
EXTRA_INSTALL += contrib/ltree
|
|
|
|
include $(top_srcdir)/src/pl/plpython/regress-python3-mangle.mk
|