Hi, I'm trying to write my first PostgreSQL C extension. I used the pgxn-utils skeleton as a base and specified some external libraries in SHLIB_LINK. However, this variable was ignored when linking the library (using pgxs from current git master).
After spending quite a bit of time trying to understand the Makefile spaghetti, I noticed that the contrib extensions are using MODULE_big instead of MODULES. When I converted my makefile, it indeed started working as expected. Is there any reason that pgxs ignores SHLIB_LINK when building MODULES? Seems like a pretty unlikely use case that someone would want to use MODULE_big and MODULES in the same makefile, so there should to be no ambiguity -- if SHLIB_LINK is set then it should be used. This does NOT work: MODULES = src/pg_journal SHLIB_LINK = -lsystemd-journal -lsystemd-id128 And this does: OBJS = src/pg_journal.o MODULE_big = pg_journal SHLIB_LINK = -lsystemd-journal -lsystemd-id128 Here's the github repository for this extension: https://github.com/intgr/pg_journal (the makefile there currently uses a workaround) Regards, Marti -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers