diff options
author | Kalev Lember <kalevlember@gmail.com> | 2012-04-13 18:30:30 +0300 |
---|---|---|
committer | Kalev Lember <kalevlember@gmail.com> | 2012-04-13 21:02:41 +0300 |
commit | a847eb8017259f0ba2e5a1be3afdd2016d2a2542 (patch) | |
tree | 11a397d2f0f4b28148de840bb22ac524bb26d11f | |
parent | 48f133279b36ac24822c4e428d6aafd2919fb9b0 (diff) | |
download | gobject-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.in | 6 | ||||
-rw-r--r-- | gobject-introspection-no-export-1.0.pc.in | 6 |
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 |