On 06.07.21 15:13, Peter Eisentraut wrote:
> This doesn't work.
>
> This patch adds libpgcommon and libpgport to Requires.private. But they
> are not pkg-config names but library names, so they should be added to
> Libs.private.
Then, I must admit that I have misunderstood this patch at first
https://github.com/postgres/postgres/commit/beff361bc1edc24ee5f8b2073a1e5e4c92ea66eb
.
My impression was that PKG_CONFIG_REQUIRES_PRIVATE ends up in
Libs.private because of this line
https://github.com/postgres/postgres/blob/d9809bf8694c17e05537c5dd96cde3e67c02d52a/src/Makefile.shlib#L403
.
After taking a second look, I've noticed that
PKG_CONFIG_REQUIRES_PRIVATE is *filtered out*. But unfortunately, this
currently doesn't work as intended because PKG_CONFIG_REQUIRES_PRIVATE
seems to be unset in Makefile.shlib which leaves Requires.private empty
and doesn't filter out -lcrypto and -lssl for Libs.private.
That must be also the reason why I first believed that
PKG_CONFIG_REQUIRES_PRIVATE is used to populate Libs.private.
Anyway, this issue is orthogonal to my original patch. I'm proposing to
hardcode -lpgcommon and -lpgport in Libs.private instead. Patch is attached.