GNOME Bugzilla – Bug 765856
g-i: use only "ges/ges.h" as c-include for introspection
Last modified: 2016-05-02 07:04:47 UTC
I tried to generate binding for vala using gir and current gir files includes all header files from ges/ which causes vala compilation to fail due to incomplete types: /usr/include/gstreamer-1.0/ges/ges-base-effect-clip.h:52:20: erreur : field ‘parent’ has incomplete type GESOperationClip parent; ^ /usr/include/gstreamer-1.0/ges/ges-base-effect-clip.h:67:25: erreur : field ‘parent_class’ has incomplete type GESOperationClipClass parent_class; ^ Problem is includes are in alphabetical order and ges-base-effect-clip.h is included before ges-operation-clip.h which defines types, and there is certainly other definition problems. In C, we shall only include "ges/ges.h" so for introspection, instead of using all headers, I propose to only use "ges/ges.h", like in GStreamer core.
Created attachment 327080 [details] [review] g-i: use only "ges/ges.h" as c-include for introspection Proposed patch
Makes sense I think, and matches what we do elsewhere: commit 4257605141268f61a3a92d566ea350d5bd0ac368 Author: Aurélien Zanelli <aurelien.zanelli@darkosphere.fr> Date: Sat Apr 30 18:20:00 2016 +0200 g-i: use only "ges/ges.h" as c-include for introspection This is the only header which shall be included by user. Otherwise some language using gir to generate binding, e.g Vala, will includes all headers files in alphabetical order which causes compilation errors due to incomplete type. https://bugzilla.gnome.org/show_bug.cgi?id=765856