postgresql/src/makefiles
Tom Lane f6f75539d2 Prevent accidental linking of system-supplied copies of libpq.so etc.
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
2018-07-09 17:23:32 -04:00
..
Makefile Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Makefile.aix Fix PGXS support for building loadable modules on AIX. 2012-10-09 21:04:06 -04:00
Makefile.cygwin Don't use deprecated dllwrap on Cygwin. 2014-02-01 16:13:32 -05:00
Makefile.darwin Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Makefile.freebsd Remove allow_nonpic_in_shlib 2012-12-18 01:13:59 -05:00
Makefile.hpux Split the LDFLAGS make variable into two parts: LDFLAGS is now used for 2010-07-05 18:54:38 +00:00
Makefile.irix Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Makefile.linux Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:56 -04:00
Makefile.netbsd Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:56 -04:00
Makefile.openbsd Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:56 -04:00
Makefile.osf Split the LDFLAGS make variable into two parts: LDFLAGS is now used for 2010-07-05 18:54:38 +00:00
Makefile.sco Split the LDFLAGS make variable into two parts: LDFLAGS is now used for 2010-07-05 18:54:38 +00:00
Makefile.solaris Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Makefile.unixware Split the LDFLAGS make variable into two parts: LDFLAGS is now used for 2010-07-05 18:54:38 +00:00
Makefile.win32 Blind attempt at fixing the non-MSVC Windows builds 2013-02-22 11:51:15 -03:00
pgxs.mk Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:32 -04:00