GNOME Bugzilla – Bug 421480
Make it possible to build without libxml2 with --disable-loadsave and --enable-binary-registry
Last modified: 2007-04-20 12:40:34 UTC
Please describe the problem: Even if one uses --disable-loadsave and --enable-binary-registry one still needs to have libxml2 for GStreamer to build. The attached patches solves this. Some extra comments about the patches: gstreamer.patch: * Removes all references to GST_DISABLE_LOADSAVE_REGISTRY. Instead GST_USING_XML is used where XML support is required. * gst/gstobject.[ch] checks GST_DISABLE_LOADSAVE rather than GST_DISABLE_LOADSAVE_REGISTRY since those functions have nothing to do with the registry AFAIK. * Also fixes an incorrect reference to $GST_GST_DISABLE_DEBUG in configure.ac. gst-plugins-base.patch: * tests/check/elements/playbin.c checks GST_DISABLE_REGISTRY rather than GST_DISABLE_LOADSAVE_REGISTRY since it has no dependencies on the load/save functionality AFAIK. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 85108 [details] [review] Make it possible to build without libxml2 for gstreamer
Created attachment 85109 [details] [review] Make it possible to build without libxml2 for gst-plugins-base
Isn't this the same as bug #413123 ?
They both seem to solve the same problem. However, I think my solution is more complete and also cleans up a number of places where GST_DISABLE_LOADSAVE_REGISTRY is used, but where the correct thing is to test either GST_DISABLE_LOADSAVE or GST_DISABLE_REGISTRY. Two things I noted when I looked at the other report with regard to my solution: 1) Mine does away with GST_DISABLE_LOADSAVE_REGISTRY completely since I am not sure when it should be defined with the binary regitry added to the mix (i.e., should it be defined when neither load/save nor registry is supported, or should it be defined when XML isn't used), and instead adds GST_USING_XML. If it is wanted to keep the old define for backwards compatibility with external plugins, it should be easy enough to just add the define back in gstconfig.h and call it obsolete. 2) I missed adding gstregistrybinary.c to EXTRA_libgstreamer_@GST_MAJORMINOR@_la_SOURCES in gstreamer/gst/Makefile.am.
Fixed in CVS in a slightly different way. @Peter, thanks a lot for the patch still, as I wouldn't have thought about the gst-plugins-base part.