GNOME Bugzilla – Bug 794603
Meson: Should use generator for all pc files
Last modified: 2018-11-03 11:02:43 UTC
Currently gstreamer-*-1.0.pc are created using a .pc.in listing dependencies manually. That's error prone. Meson has a generator that automatically pull dependencies from a library() object and generate the .pc for it. I'm going to depend on a yet to be merged PR in meson: https://github.com/mesonbuild/meson/pull/3284
Created attachment 370021 [details] [review] Meson: Use pc file generator
Created attachment 370636 [details] [review] Meson: Use pc file generator for libs in core
Created attachment 370637 [details] [review] Meson: Use pc file generator for libs in bad
Created attachment 370638 [details] [review] Meson: Use pc file generator for libs in base
Created attachment 370639 [details] [review] Meson: Use pc file generator for libs in core
Created attachment 370640 [details] [review] Meson: Use pc file generator for libs in core
Created attachment 370641 [details] [review] Meson: Use pc file generator for libs in base
Created attachment 370642 [details] [review] Meson: Use pc file generator for libs in bad
Meson 0.46 has been released with the API used by those patches. Review would be appreciated.
The descriptions are gone now, or more generic like 'gstreamer: gstnet-1.0'. It also seems that we now no longer create -uninstalled.pc files, which is something Guillaume and others wanted to maintain, so you can build gst with meson and still link against it with autotools, see bug #776810. I don't particularly mind dropping this, but it should be a conscious and considered decision then :)
(In reply to Tim-Philipp Müller from comment #10) > The descriptions are gone now, or more generic like 'gstreamer: gstnet-1.0'. What's the use of those descriptions anyway? If it's important it can be copy pasted, just easy boring task given the number of PC files we have. > It also seems that we now no longer create -uninstalled.pc files, which is > something Guillaume and others wanted to maintain, so you can build gst with > meson and still link against it with autotools, see bug #776810. I haven't looked how uninstalled PC files are different, could need support in meson generator.
Descriptions are shown in pkg-config --list-all for example. Not a deal-breaker for me, but a "would be nice".
Opened an issue on meson to gen uninstalled pc files: https://github.com/mesonbuild/meson/issues/3472 Meson should already have all the info needed to build against an uninstalled library it built, so it makes sense for it to generate the pc file, IMO.
Note that gst-build currently uses *-uninstalled.pc files, so that would need to be fixed somehow before this is merged. Either by merging that Meson PR, or by changing gst-uninstalled.py to use an alternative method of making .pc files available and usable in the environment.
I marked all patches here as obsolete because they had merge conflicts. I have up to date branches locally, waiting for gitlab migration to push them as branch.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/common/issues/2.