After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 520756 - different registry backend configurations cause build errors
different registry backend configurations cause build errors
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal blocker
: 0.10.18
Assigned To: Stefan Sauer (gstreamer, gtkdoc dev)
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-03-06 14:07 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2008-03-07 11:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
implement the plan (3.59 KB, patch)
2008-03-06 14:37 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
reviewed Details | Review
implementa the plan properly (3.83 KB, patch)
2008-03-06 18:28 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
none Details | Review
implement the plan properly (4.81 KB, patch)
2008-03-06 18:45 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
committed Details | Review

Description Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-06 14:07:11 UTC
After some discussion on irc we concluded that instead of adding GST_USING_BINARY_REGISTRY, we clean the mess:

a) Remove the _binary_{read|write}_cache declarations from gstregistry.h. They could not have been used as they we're relying on a define from config.h. keep the xml ones with a fixme for backwards compat.

b) Add empty stubs for the gst_registry_xml versions of the functions when building the binary registry (in the end of gstbinraryregistry.c with a fixme) so that they're still available in the ABI, to avoid breaking any *existing* gst-python which might have been compiled to use them

todo:
* gst-python can provide stub wrappers
* core can deprecate the xml_{read|write}_cache for next release
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-06 14:37:33 UTC
Created attachment 106686 [details] [review]
implement the plan
Comment 2 Tim-Philipp Müller 2008-03-06 14:59:27 UTC
In configure.ac there are two more GST_USING_BINARY_REGISTRY_DEFINE if I'm not mistaken (the undef in the else branch and the AC_SUBST), and the @GST_USING_BINARY_REGISTRY_DEFINE@ in gst/gstconfig.h.in should be removed again too, I think.

Also, why are the xml bits are declared again in the #else branch in gst/gst_private.h?
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-06 18:28:00 UTC
Created attachment 106702 [details] [review]
implementa the plan properly

The xml bits in the #else branch are a comment to hint where they should be if we could move them out of registry.h.
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-06 18:45:58 UTC
Created attachment 106707 [details] [review]
implement the plan properly

Also remove from win32 file and gstconfig.h.in
Comment 5 Tim-Philipp Müller 2008-03-07 10:03:10 UTC
Looks good to me now.
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-07 11:13:51 UTC
2008-03-07  Stefan Kost  <ensonic@users.sf.net>

	* configure.ac:
	* gst/gst_private.h:
	* gst/gstconfig.h.in:
	* gst/gstregistry.h:
	* gst/gstregistrybinary.c:
	* win32/common/gstconfig.h:
	  Move registry backend API to private headers where we can. Add
	  fixme-0.11 comments for the others. Add stubs for the xml backend when
	  using the binary to ensure they functions exists (they should not be
	  used though). Fixes #520756.