|
1 | 1 | # -*-makefile-*-
|
2 |
| -# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.209 2005/01/26 19:23:59 tgl Exp $ |
| 2 | +# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.210 2005/03/24 19:33:32 momjian Exp $ |
3 | 3 |
|
4 | 4 | #------------------------------------------------------------------------------
|
5 | 5 | # All PostgreSQL makefiles include this file and use the variables it sets,
|
@@ -306,7 +306,17 @@ libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
|
306 | 306 | libpq_builddir =$(top_builddir)/src/interfaces/libpq
|
307 | 307 | endif
|
308 | 308 |
|
309 |
| -libpq = -L$(libpq_builddir) -lpq |
| 309 | +# Force clients to pull symbols from the non-shared library libpgport |
| 310 | +# rather than pulling some libpgport symbols from libpq just because |
| 311 | +# libpq uses those functions too. This makes applications less |
| 312 | +# dependent on changes in libpq's usage of pgport. To do this we link to |
| 313 | +# pgport before libpq. This does cause duplicate -lpgport's to appear |
| 314 | +# on client link lines. |
| 315 | +ifdefPGXS |
| 316 | +libpq = -L$(libdir) -lpgport -L$(libpq_builddir) -lpq |
| 317 | +else |
| 318 | +libpq = -L$(top_builddir)/src/port -lpgport -L$(libpq_builddir) -lpq |
| 319 | +endif |
310 | 320 |
|
311 | 321 | # If doing static linking, shared library dependency can't be
|
312 | 322 | # used so we specify pthread libs for every usage of libpq
|
|