Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 6b7ef07

Browse files
committed
Have libpgport link before libpq so that PG client applications are more
immunte to changes in libpq's usage of pgport between major versions.
1 parent 410fede commit 6b7ef07

File tree

14 files changed

+43
-28
lines changed

14 files changed

+43
-28
lines changed

contrib/dbase/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# $PostgreSQL: pgsql/contrib/dbase/Makefile,v 1.6 2004/08/20 20:13:02 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/dbase/Makefile,v 1.7 2005/03/25 18:17:10 momjian Exp $
22

33
PROGRAM = dbf2pg
44
OBJS = dbf.o dbf2pg.o endian.o
55
PG_CPPFLAGS = -I$(libpq_srcdir)
6-
PG_LIBS = $(libpq)
6+
PG_LIBS = $(libpq_pgport)
77

88
# Uncomment this to provide charset translation
99
#PG_CPPFLAGS += -DHAVE_ICONV_H

contrib/findoidjoins/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $PostgreSQL: pgsql/contrib/findoidjoins/Makefile,v 1.16 2004/08/20 20:13:03 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/findoidjoins/Makefile,v 1.17 2005/03/25 18:17:10 momjian Exp $
22

33
PROGRAM = findoidjoins
44
OBJS = findoidjoins.o
55

66
PG_CPPFLAGS = -I$(libpq_srcdir)
7-
PG_LIBS = $(libpq)
7+
PG_LIBS = $(libpq_pgport)
88

99
SCRIPTS = make_oidjoins_check
1010
DOCS = README.findoidjoins

contrib/oid2name/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $PostgreSQL: pgsql/contrib/oid2name/Makefile,v 1.6 2004/08/20 20:13:05 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/oid2name/Makefile,v 1.7 2005/03/25 18:17:11 momjian Exp $
22

33
PROGRAM = oid2name
44
OBJS = oid2name.o
55

66
PG_CPPFLAGS = -I$(libpq_srcdir)
7-
PG_LIBS = $(libpq)
7+
PG_LIBS = $(libpq_pgport)
88

99
DOCS = README.oid2name
1010

contrib/pg_autovacuum/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ PROGRAM = pg_autovacuum
22
OBJS = pg_autovacuum.o dllist.o
33

44
PG_CPPFLAGS = -I$(libpq_srcdir) -DFRONTEND
5-
PG_LIBS = $(libpq)
5+
PG_LIBS = $(libpq_pgport)
66

77
DOCS = README.pg_autovacuum
88

contrib/pg_dumplo/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $PostgreSQL: pgsql/contrib/pg_dumplo/Makefile,v 1.13 2004/08/20 20:13:05 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/pg_dumplo/Makefile,v 1.14 2005/03/25 18:17:11 momjian Exp $
22

33
PROGRAM = pg_dumplo
44
OBJS = main.o lo_export.o lo_import.o utils.o
55

66
PG_CPPFLAGS = -I$(libpq_srcdir)
7-
PG_LIBS = $(libpq)
7+
PG_LIBS = $(libpq_pgport)
88

99
DOCS = README.pg_dumplo
1010

contrib/pgbench/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $PostgreSQL: pgsql/contrib/pgbench/Makefile,v 1.12 2004/08/20 20:13:06 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/pgbench/Makefile,v 1.13 2005/03/25 18:17:11 momjian Exp $
22

33
PROGRAM = pgbench
44
OBJS = pgbench.o
55

66
PG_CPPFLAGS = -I$(libpq_srcdir)
7-
PG_LIBS = $(libpq)
7+
PG_LIBS = $(libpq_pgport)
88

99
DOCS = README.pgbench README.pgbench_jis
1010

contrib/vacuumlo/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $PostgreSQL: pgsql/contrib/vacuumlo/Makefile,v 1.13 2004/08/20 20:13:10 momjian Exp $
1+
# $PostgreSQL: pgsql/contrib/vacuumlo/Makefile,v 1.14 2005/03/25 18:17:12 momjian Exp $
22

33
PROGRAM = vacuumlo
44
OBJS = vacuumlo.o
55

66
PG_CPPFLAGS = -I$(libpq_srcdir)
7-
PG_LIBS = $(libpq)
7+
PG_LIBS = $(libpq_pgport)
88

99
DOCS = README.vacuumlo
1010

src/Makefile.global.in

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*-makefile-*-
2-
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.211 2005/03/24 23:53:48 tgl Exp $
2+
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.212 2005/03/25 18:17:12 momjian Exp $
33

44
#------------------------------------------------------------------------------
55
# All PostgreSQL makefiles include this file and use the variables it sets,
@@ -306,8 +306,10 @@ libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
306306
libpq_builddir = $(top_builddir)/src/interfaces/libpq
307307
endif
308308

309+
# This is for use for libraries linking to libpq. Because libpqport
310+
# isn't created with the same link flags as libpq, it can't be used.
309311
libpq = -L$(libpq_builddir) -lpq
310-
312+
311313
# If doing static linking, shared library dependency can't be
312314
# used so we specify pthread libs for every usage of libpq
313315
ifeq ($(enable_shared), no)
@@ -320,6 +322,19 @@ libpq += $(PTHREAD_LIBS)
320322
endif
321323
endif
322324

325+
# Force clients to pull symbols from the non-shared library libpgport
326+
# rather than pulling some libpgport symbols from libpq just because
327+
# libpq uses those functions too. This makes applications less
328+
# dependent on changes in libpq's usage of pgport. To do this we link to
329+
# pgport before libpq. This does cause duplicate -lpgport's to appear
330+
# on client link lines.
331+
ifdef PGXS
332+
libpq_pgport = -L$(libdir) -lpgport $(libpq)
333+
else
334+
libpq_pgport = -L$(top_builddir)/src/port -lpgport $(libpq)
335+
endif
336+
337+
323338
submake-libpq:
324339
$(MAKE) -C $(libpq_builddir) all
325340

src/bin/initdb/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
66
# Portions Copyright (c) 1994, Regents of the University of California
77
#
8-
# $PostgreSQL: pgsql/src/bin/initdb/Makefile,v 1.48 2004/12/31 22:02:59 pgsql Exp $
8+
# $PostgreSQL: pgsql/src/bin/initdb/Makefile,v 1.49 2005/03/25 18:17:12 momjian Exp $
99
#
1010
#-------------------------------------------------------------------------
1111

@@ -21,7 +21,7 @@ OBJS= initdb.o $(WIN32RES)
2121
all: submake-libpq submake-libpgport initdb
2222

2323
initdb: $(OBJS) $(libpq_builddir)/libpq.a
24-
$(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
24+
$(CC) $(CFLAGS) $(OBJS) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
2525

2626
install: all installdirs
2727
$(INSTALL_PROGRAM) initdb$(X) $(DESTDIR)$(bindir)/initdb$(X)

src/bin/pg_ctl/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
66
# Portions Copyright (c) 1994, Regents of the University of California
77
#
8-
# $PostgreSQL: pgsql/src/bin/pg_ctl/Makefile,v 1.19 2004/12/31 22:03:05 pgsql Exp $
8+
# $PostgreSQL: pgsql/src/bin/pg_ctl/Makefile,v 1.20 2005/03/25 18:17:13 momjian Exp $
99
#
1010
#-------------------------------------------------------------------------
1111

@@ -21,7 +21,7 @@ OBJS= pg_ctl.o $(WIN32RES)
2121
all: submake-libpq submake-libpgport pg_ctl
2222

2323
pg_ctl: $(OBJS) $(libpq_builddir)/libpq.a
24-
$(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
24+
$(CC) $(CFLAGS) $(OBJS) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
2525

2626
install: all installdirs
2727
$(INSTALL_PROGRAM) pg_ctl$(X) $(DESTDIR)$(bindir)/pg_ctl$(X)

src/bin/pg_dump/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
66
# Portions Copyright (c) 1994, Regents of the University of California
77
#
8-
# $PostgreSQL: pgsql/src/bin/pg_dump/Makefile,v 1.59 2005/01/01 20:44:23 tgl Exp $
8+
# $PostgreSQL: pgsql/src/bin/pg_dump/Makefile,v 1.60 2005/03/25 18:17:13 momjian Exp $
99
#
1010
#-------------------------------------------------------------------------
1111

@@ -25,13 +25,13 @@ EXTRA_OBJS = $(top_builddir)/src/backend/parser/keywords.o
2525
all: submake-libpq submake-libpgport submake-backend pg_dump pg_restore pg_dumpall
2626

2727
pg_dump: pg_dump.o common.o pg_dump_sort.o $(OBJS) $(libpq_builddir)/libpq.a
28-
$(CC) $(CFLAGS) pg_dump.o common.o pg_dump_sort.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
28+
$(CC) $(CFLAGS) pg_dump.o common.o pg_dump_sort.o $(OBJS) $(EXTRA_OBJS) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
2929

3030
pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a
31-
$(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
31+
$(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
3232

3333
pg_dumpall: pg_dumpall.o dumputils.o $(libpq_builddir)/libpq.a
34-
$(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(WIN32RES) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
34+
$(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(WIN32RES) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
3535

3636
.PHONY: submake-backend
3737
submake-backend:

src/bin/psql/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
66
# Portions Copyright (c) 1994, Regents of the University of California
77
#
8-
# $PostgreSQL: pgsql/src/bin/psql/Makefile,v 1.52 2005/01/01 20:44:25 tgl Exp $
8+
# $PostgreSQL: pgsql/src/bin/psql/Makefile,v 1.53 2005/03/25 18:17:13 momjian Exp $
99
#
1010
#-------------------------------------------------------------------------
1111

@@ -29,7 +29,7 @@ FLEXFLAGS = -Cfe
2929
all: submake-libpq submake-libpgport psql
3030

3131
psql: $(OBJS) $(libpq_builddir)/libpq.a
32-
$(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
32+
$(CC) $(CFLAGS) $(OBJS) $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
3333

3434
help.o: $(srcdir)/sql_help.h
3535

src/bin/scripts/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
66
# Portions Copyright (c) 1994, Regents of the University of California
77
#
8-
# $PostgreSQL: pgsql/src/bin/scripts/Makefile,v 1.32 2005/01/01 20:44:26 tgl Exp $
8+
# $PostgreSQL: pgsql/src/bin/scripts/Makefile,v 1.33 2005/03/25 18:17:14 momjian Exp $
99
#
1010
#-------------------------------------------------------------------------
1111

@@ -21,7 +21,7 @@ override CPPFLAGS := -DFRONTEND -I$(top_srcdir)/src/bin/pg_dump -I$(top_srcdir)/
2121
all: submake-libpq submake-backend $(PROGRAMS)
2222

2323
%: %.o $(WIN32RES)
24-
$(CC) $(CFLAGS) $^ $(libpq) $(LDFLAGS) $(LIBS) -o $@$(X)
24+
$(CC) $(CFLAGS) $^ $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
2525

2626
createdb: createdb.o common.o dumputils.o $(top_builddir)/src/backend/parser/keywords.o
2727
createlang: createlang.o common.o print.o mbprint.o

src/test/examples/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ top_builddir = ../../..
77
include $(top_builddir)/src/Makefile.global
88

99
override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS)
10-
override LDLIBS := $(libpq) -lpgport $(LDLIBS)
10+
override LDLIBS := $(libpq_pgport) $(LDLIBS)
1111

1212

1313
PROGS = testlibpq testlibpq2 testlibpq3 testlibpq4 testlo

0 commit comments

Comments
 (0)