Re: Let's stop with the retail rebuilds of src/port/ files already

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2018-09-26T23:13:31Z
Lists: pgsql-hackers
Hi,

On 2018-09-26 19:10:40 -0400, Tom Lane wrote:
> I'm getting tired of having to make fixes like ce4887bd0.  I think
> we should rearrange things so that src/port/ and src/common/ compile
> all their files a third time using shared-library-friendly switches,
> put them into new .a files, and have libpq and the ecpg libraries
> just include those libraries instead of what they're doing now.

> This would result in compiling some of the port+common files uselessly,
> since they'd never actually get pulled in by any shared library.
> But I think we're approaching the point where we might have a net savings
> of build time anyway, due to not having to compile the same files multiple
> times in different subdirectories.  And it'd sure be a savings of
> developer brain-cells and sanity.

+1

Greetings,

Andres Freund


Commits

  1. Build src/common files as a library with -fPIC.

  2. Remove pqsignal() from libpq's official exports list.

  3. Build src/port files as a library with -fPIC, and use that in libpq.