GNOME Bugzilla – Bug 695889
libs: many headers don't compile by themselves
Last modified: 2013-08-18 19:45:28 UTC
Created attachment 238945 [details] script to test header compilation If you include individual headers, I expect that they aren't missing definitions all by themselves, i.e., they include the correct header files. This is not true for a large number of gstreamer headers. See attached script.
Is this important for anything? I wouldn't mind declaring inclusion of individual headers deprecated like the glib folks did a while back.
Mainly because gst/video/gstvideoencoder.h, gst/video/gstvideodecoder.h, and gst/video/gstvideoutils.h are all broken right now, because of circular dependencies.
We added single includes for all libs, some bindings need that. In the course of these problems came up IIRC. It's apparently not so easy to resolve for some reason.
Anybody planning to solve this? Is it important enough to keep the bug open?
Well, it breaks people's existing code, which isn't very nice.. I'll try to fix it in a simple/dumb way..
Let's hope this doesn't break something else :) commit c449ae6343acbc127744223e18caeaf68d80421c Author: Tim-Philipp Müller <tim@centricular.net> Date: Fri Aug 16 13:59:35 2013 +0100 rtsp: fix direct includes https://bugzilla.gnome.org/show_bug.cgi?id=695889 commit c0defba2d2eafdcb71fa813fb7383e96eb1df39f Author: Tim-Philipp Müller <tim@centricular.net> Date: Fri Aug 16 13:55:33 2013 +0100 pbutils: fix direct includes https://bugzilla.gnome.org/show_bug.cgi?id=695889 commit 2f05268517c7214273cb5837780c45236fa17018 Author: Tim-Philipp Müller <tim@centricular.net> Date: Fri Aug 16 13:47:31 2013 +0100 video: make direct includes work again Not nice to break people's code if we can avoid it. Could add a warning in the next cycle, and then require single includes in the cycle after. https://bugzilla.gnome.org/show_bug.cgi?id=695889 commit 6b070784c4cb5a6d8c9499525d522ce7f670c9ea Author: Tim-Philipp Müller <tim@centricular.net> Date: Fri Aug 16 13:06:58 2013 +0100 audio: make direct includes work again Not nice to break people's code if we can avoid it. Could add a warning in the next cycle, and then require single includes in the cycle after. https://bugzilla.gnome.org/show_bug.cgi?id=695889 commit 001e08e5a463a3c6d71d3b9500bf4a13cc493c97 Author: Tim-Philipp Müller <tim@centricular.net> Date: Fri Aug 16 14:12:32 2013 +0100 tests: add test-header-compile script https://bugzilla.gnome.org/show_bug.cgi?id=695889
David, I took your script, splashed an LGPL header on top of it, and put it into tests/icles/ with some changes so it runs against the local tree. I hope that's fine with you.
Tim, yes, of course. Thanks.