On 12 July 2017 at 16:11, Tom Lane <t...@sss.pgh.pa.us> wrote: > Jeroen Ooms <jer...@berkeley.edu> writes: > >> This works but it's a bit of a pain to maintain. I was wondering if >> this hack could be merged so that the standard 'configure >> --enable-static' script would install a static library for libpq >> alongside the shared one. > > FWIW, we used to have support for building static libpq, but > we got rid of it a long time ago. I couldn't find the exact > spot in some desultory trawling of the commit history.
Fwiw I think the real problem is that building static libraries "properly" requires different compiler options -- notably they're not normally built with -fPIC. So that means building every object twice which kind of breaks make's build model which has a simple dependency graph where each object appears once. Some packages do this by inventing a foo-shared.o and foo-static.o but that introduces its own weirdness. I don't know what the downsides would be of creating a static library out of objects built with -fPIC. It might just be a small performance penalty which might be no big deal for libpq. That may be a good compromise. -- greg -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers