summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalev Lember <kalevlember@gmail.com>2012-04-13 18:30:30 +0300
committerKalev Lember <kalevlember@gmail.com>2012-04-13 21:02:41 +0300
commita847eb8017259f0ba2e5a1be3afdd2016d2a2542 (patch)
tree11a397d2f0f4b28148de840bb22ac524bb26d11f
parent48f133279b36ac24822c4e428d6aafd2919fb9b0 (diff)
downloadgobject-introspection-a847eb8017259f0ba2e5a1be3afdd2016d2a2542.tar.gz
Move libffi and gmodule to Requires.private in .pc files
The intention of the change is to clean up unnecessary linking with libffi and gmodule in g-i consumers as they typically don't use any libffi/gmodule symbols. Listing libffi and gmodule in pkg-config Requires meant that every consumer that wanted to link with -lgirepository also got -lffi and -lgmodule-2.0, which caused ld to emit unnecessary DT_NEEDED entries. Moving the deps to Requires.private removes the internal dependencies from 'pkg-config --libs', but keeps them in --libs --static output. The change won't affect --cflags and the include directories necessary for <ffi.h> will still be listed. https://bugzilla.gnome.org/show_bug.cgi?id=674065
-rw-r--r--gobject-introspection-1.0.pc.in6
-rw-r--r--gobject-introspection-no-export-1.0.pc.in6
2 files changed, 8 insertions, 4 deletions
diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
index f0827864..9613fec1 100644
--- a/gobject-introspection-1.0.pc.in
+++ b/gobject-introspection-1.0.pc.in
@@ -14,8 +14,10 @@ girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-Requires: glib-2.0 gobject-2.0 gmodule-2.0 @FFI_PC_PACKAGES@
-Libs: -L${libdir} -lgirepository-1.0 @FFI_PC_LIBS@
+Requires: glib-2.0 gobject-2.0
+Requires.private: gmodule-2.0 @FFI_PC_PACKAGES@
+Libs: -L${libdir} -lgirepository-1.0
+Libs.private: @FFI_PC_LIBS@
Name: gobject-introspection
Description: GObject Introspection
diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
index c798890e..a6d6cc6d 100644
--- a/gobject-introspection-no-export-1.0.pc.in
+++ b/gobject-introspection-no-export-1.0.pc.in
@@ -13,8 +13,10 @@ girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-Requires: glib-2.0 gobject-2.0 gmodule-no-export-2.0 @FFI_PC_PACKAGES@
-Libs: -L${libdir} -lgirepository-1.0 @FFI_PC_LIBS@
+Requires: glib-2.0 gobject-2.0
+Requires.private: gmodule-no-export-2.0 @FFI_PC_PACKAGES@
+Libs: -L${libdir} -lgirepository-1.0
+Libs.private: @FFI_PC_LIBS@
Name: gobject-introspection
Description: GObject Introspection