[pango: 1/2] pango.pc.in: Add fribidi to Requires.private
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango: 1/2] pango.pc.in: Add fribidi to Requires.private
- Date: Mon, 16 Jul 2018 00:53:38 +0000 (UTC)
commit 5507a16c726ffdcedcf2ae22d4689f94823bf863
Author: Simon McVittie <smcv debian org>
Date: Sun Jul 1 17:21:37 2018 +0100
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>
pango.pc.in | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/pango.pc.in b/pango.pc.in
index bae2fd33..81c074b1 100644
--- a/pango.pc.in
+++ b/pango.pc.in
@@ -7,6 +7,7 @@ Name: Pango
Description: Internationalized text handling
Version: @VERSION@
Requires: glib-2.0 gobject-2.0
+Requires.private: fribidi
Libs: -L${libdir} -lpango-@PANGO_API_VERSION@
Libs.private: -lm
Cflags: -I${includedir}/pango-1.0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]