pkg-config Requires.private entries should be comma-separated

Started by Peter Eisentrautabout 3 years ago2 messageshackers
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

While comparing the .pc (pkg-config) files generated by the make and
meson builds, I noticed that the Requires.private entries use different
delimiters. The make build uses spaces, the meson build uses commas.
The pkg-config documentation says that it should be comma-separated, but
apparently about half the .pc in the wild use just spaces.

The pkg-config source code acknowledges that both commas and spaces work:

https://github.com/freedesktop/pkg-config/blob/master/parse.c#L273
https://github.com/pkgconf/pkgconf/blob/master/libpkgconf/dependency.c#L286

I think for consistency we should change the make build to use commas
anyway. See attached patch.

Attachments:

0001-pkg-config-Requires.private-entries-should-be-comma-.patchtext/plain; charset=UTF-8; name=0001-pkg-config-Requires.private-entries-should-be-comma-.patchDownload+3-4
#2Andres Freund
andres@anarazel.de
In reply to: Peter Eisentraut (#1)
Re: pkg-config Requires.private entries should be comma-separated

Hi,

On 2023-03-15 08:51:04 +0100, Peter Eisentraut wrote:

While comparing the .pc (pkg-config) files generated by the make and meson
builds, I noticed that the Requires.private entries use different
delimiters. The make build uses spaces, the meson build uses commas. The
pkg-config documentation says that it should be comma-separated, but
apparently about half the .pc in the wild use just spaces.

The pkg-config source code acknowledges that both commas and spaces work:

https://github.com/freedesktop/pkg-config/blob/master/parse.c#L273
https://github.com/pkgconf/pkgconf/blob/master/libpkgconf/dependency.c#L286

I think for consistency we should change the make build to use commas
anyway. See attached patch.

Makes sense.

Greetings,

Andres Freund