GNOME Bugzilla – Bug 499697
Provide better pkg-config files
Last modified: 2008-01-14 13:08:09 UTC
Hi, it would be nice if gst-plugins-base provided better pkg-config files. Currently it only provides one and one has to link the libraries in by hand which causes a problem for Vala bindings. The fix I'd propose would be to have one pkg-config file per library, similar to what is done in core. I'll attach a patch for that later.
With 13 different libs currently this might not be the right way to go though... what do you think? Would this make sense, is there a better solution or should everything be kept as is?
Why do you think that it might not be the right way to go? It would be easier for build systems and language bindings and most projects use one pkg-config file per library. E.g. xcb installs 23 pkg-config files for its libraries.
It seems to be a bit excessive... especially for libs like floatcast that are just one header ;) But OK, will create the patch tomorrow with all the million pkg-config files :)
Even if it's a bit excessive, I think this is a good idea. Very few people get the whole you-have-to-add-the-required--lgstfoo-0.10-thing right from the beginning, and it's hard to find in the docs as well. Adding a .pc file for each of those libs costs us very little and will save beginners a lot of headaches, so I don't see why we shouldn't add them. Besides, in core we have .pc files for each lib as well (controller, base, net, dataprotocol, check).
Created attachment 102508 [details] [review] base-pc.diff Ok, here is the patch... good to commit?
2008-01-14 Sebastian Dröge <slomo@circular-chaos.org> * configure.ac: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-audio-uninstalled.pc.in: * pkgconfig/gstreamer-audio.pc.in: * pkgconfig/gstreamer-cdda-uninstalled.pc.in: * pkgconfig/gstreamer-cdda.pc.in: * pkgconfig/gstreamer-fft-uninstalled.pc.in: * pkgconfig/gstreamer-fft.pc.in: * pkgconfig/gstreamer-floatcast-uninstalled.pc.in: * pkgconfig/gstreamer-floatcast.pc.in: * pkgconfig/gstreamer-interfaces-uninstalled.pc.in: * pkgconfig/gstreamer-interfaces.pc.in: * pkgconfig/gstreamer-netbuffer-uninstalled.pc.in: * pkgconfig/gstreamer-netbuffer.pc.in: * pkgconfig/gstreamer-pbutils-uninstalled.pc.in: * pkgconfig/gstreamer-pbutils.pc.in: * pkgconfig/gstreamer-riff-uninstalled.pc.in: * pkgconfig/gstreamer-riff.pc.in: * pkgconfig/gstreamer-rtp-uninstalled.pc.in: * pkgconfig/gstreamer-rtp.pc.in: * pkgconfig/gstreamer-rtsp-uninstalled.pc.in: * pkgconfig/gstreamer-rtsp.pc.in: * pkgconfig/gstreamer-sdp-uninstalled.pc.in: * pkgconfig/gstreamer-sdp.pc.in: * pkgconfig/gstreamer-tag-uninstalled.pc.in: * pkgconfig/gstreamer-tag.pc.in: * pkgconfig/gstreamer-video-uninstalled.pc.in: * pkgconfig/gstreamer-video.pc.in: Provide one pkg-config file for every gst-plugins-base library. This makes linking to those libraries much more intuitive and provides standard pkg-config behaviour for them. Fixes bug #499697.