postgresql/src/interfaces/libpq
Tom Lane ea53100d56 Build src/port files as a library with -fPIC, and use that in libpq.
libpq and ecpg need shared-library-friendly versions of assorted src/port/
and src/common/ modules.  Up to now, they got those by symlinking the
individual source files and compiling them locally.  That's baroque, and a
pain to maintain, and it results in some amount of duplicated compile work.
It might've made sense when only a couple of files were needed, but the
list has grown and grown and grown :-(

It makes more sense to have the originating directory build a third variant
of libpgport.a/libpgcommon.a containing modules built with $(CFLAGS_SL),
and just link that into the shared library.  Unused files won't get linked,
so the end result should be the same.

This patch makes a down payment on that idea by having src/port/ build
such a library and making libpq use it.  If the buildfarm doesn't expose
fatal problems with the approach, I'll extend it to the other cases.

Discussion: https://postgr.es/m/13022.1538003440@sss.pgh.pa.us
2018-09-27 11:23:43 -04:00
..
po Translation updates 2018-06-25 12:37:18 +02:00
test Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
.gitignore Build src/port files as a library with -fPIC, and use that in libpq. 2018-09-27 11:23:43 -04:00
exports.txt Add PQresultMemorySize function to report allocated size of a PGresult. 2018-09-11 18:45:12 -04:00
fe-auth-scram.c Minor cleanup/future-proofing for pg_saslprep(). 2018-09-08 18:20:36 -04:00
fe-auth.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
fe-auth.h Refactor channel binding code to fetch cbind_data only when necessary 2018-01-04 13:55:12 -05:00
fe-connect.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
fe-exec.c Add PQresultMemorySize function to report allocated size of a PGresult. 2018-09-11 18:45:12 -04:00
fe-lobj.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
fe-misc.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
fe-print.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
fe-protocol2.c In libpq, free any partial query result before collecting a server error. 2018-04-13 12:53:45 -04:00
fe-protocol3.c In libpq, free any partial query result before collecting a server error. 2018-04-13 12:53:45 -04:00
fe-secure-common.c Change libpq's internal uses of PQhost() to inspect host field directly. 2018-08-03 12:12:10 -04:00
fe-secure-common.h Refactor client-side SSL certificate checking code 2018-01-30 22:56:24 -05:00
fe-secure-openssl.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
fe-secure.c Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
libpq-events.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
libpq-events.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
libpq-fe.h Add PQresultMemorySize function to report allocated size of a PGresult. 2018-09-11 18:45:12 -04:00
libpq-int.h Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 12:35:57 -04:00
libpq.rc.in Stamp HEAD as 12devel 2018-06-30 12:47:59 -04:00
Makefile Build src/port files as a library with -fPIC, and use that in libpq. 2018-09-27 11:23:43 -04:00
nls.mk Refactor client-side SSL certificate checking code 2018-01-30 22:56:24 -05:00
pg_service.conf.sample Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
pqexpbuffer.c Implement %m in src/port/snprintf.c, and teach elog.c to rely on that. 2018-09-26 13:31:56 -04:00
pqexpbuffer.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pthread-win32.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
win32.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
win32.h Remove support for bcc and msvc standalone libpq builds 2017-04-11 15:22:21 +02:00

src/interfaces/libpq/README

This directory contains the C version of Libpq, the POSTGRES frontend library.