aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-03-24 19:33:32 +0000
committerBruce Momjian <bruce@momjian.us>2005-03-24 19:33:32 +0000
commit8269ad4ffee49ba4fb3441198ab09cd835bdde24 (patch)
tree61f5fb3ffae56ace968064f6864a1006da30dd0b
parent208ec47ba33289d4c18b2ad2feb6a9e7b88c58c5 (diff)
downloadpostgresql-8269ad4ffee49ba4fb3441198ab09cd835bdde24.tar.gz
postgresql-8269ad4ffee49ba4fb3441198ab09cd835bdde24.zip
Force PG client applications to link to non-shared libpgport before
linking to libpq. This insulates applications from changes in libpq's usage of libpgport functions. Backpatched to 8.0.X.
-rw-r--r--src/Makefile.global.in14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index e2814752e74..609b080cfce 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -1,5 +1,5 @@
# -*-makefile-*-
-# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.209 2005/01/26 19:23:59 tgl Exp $
+# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.210 2005/03/24 19:33:32 momjian Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@@ -306,7 +306,17 @@ libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
libpq_builddir = $(top_builddir)/src/interfaces/libpq
endif
-libpq = -L$(libpq_builddir) -lpq
+# Force clients to pull symbols from the non-shared library libpgport
+# rather than pulling some libpgport symbols from libpq just because
+# libpq uses those functions too. This makes applications less
+# dependent on changes in libpq's usage of pgport. To do this we link to
+# pgport before libpq. This does cause duplicate -lpgport's to appear
+# on client link lines.
+ifdef PGXS
+libpq = -L$(libdir) -lpgport -L$(libpq_builddir) -lpq
+else
+libpq = -L$(top_builddir)/src/port -lpgport -L$(libpq_builddir) -lpq
+endif
# If doing static linking, shared library dependency can't be
# used so we specify pthread libs for every usage of libpq