diff options
author | Simon McVittie <smcv@debian.org> | 2018-07-01 17:21:37 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2018-07-01 17:23:43 +0100 |
commit | 5507a16c726ffdcedcf2ae22d4689f94823bf863 (patch) | |
tree | cceb4c6d315d0a0b26aad4a4155ec1939697da99 /examples/meson.build | |
parent | cdb88930da73bdbeb0e6167825121435d7e5e99f (diff) | |
download | pango-5507a16c726ffdcedcf2ae22d4689f94823bf863.tar.gz |
pango.pc.in: Add fribidi to Requires.private
In current versions of pkg-config, the most appropriate place for most
library dependencies is Requires.private. When compared with Requires,
this avoids "overlinking" when an executable is linked to the pango
shared library: in modern OSs, a shared library's library dependencies are
automatically loaded by the dynamic linker along with that shared library.
It would not be correct to omit fribidi from the .pc file either,
because that would break static linking: when linking statically,
it is necessary to list all dependencies explicitly, because static
libraries (unlike shared libraries) do not carry their own dependency
metadata.
Using Requires.private also has the effect of adding fribidi's
CFLAGS to the output of `pkg-config --cflags pango`. That is in fact
unnecessary here, because fribidi is only used internally, so
https://bugs.freedesktop.org/show_bug.cgi?id=105572 proposes a new
dependency type "Requires.internal" which would additionally omit
fribidi from `pkg-config --cflags pango`. However, this is not yet
supported in pkg-config, so it cannot be used yet.
For more details on Requires.private please see this article by the
current Debian pkg-config maintainer and former upstream
pkg-config maintainer:
https://err.no/personal/blog/tech/2008-03-25-18-07_pkg-config,_sonames_and_Requires.private/
and this description of the various dependency types that can exist:
https://bugs.freedesktop.org/show_bug.cgi?id=105572#c1
Fixes: #301
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895235
Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'examples/meson.build')
0 files changed, 0 insertions, 0 deletions