Bug 373

Summary: Support for building gstreamer without libxml
Product: buildroot Reporter: Will Newton <will.newton>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: enhancement CC: buildroot
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:
Attachments: Add support for building gstreamer without libxml2
Add support for building gstreamer without libxml2
Add support for building gstreamer without libxml2

Description Will Newton 2009-06-04 12:50:10 UTC
Created attachment 375 [details]
Add support for building gstreamer without libxml2

Hi,

This patch adds support for building gstreamer without XML enabled, which saves the space needed for libxml2 on the target. The default build behaviour should be unchanged.
Comment 1 Sven Neumann 2009-06-04 13:48:06 UTC
Just out of interest, what functionality will be missing then?
Comment 2 Will Newton 2009-06-04 13:49:50 UTC
At the moment plugin registry and load/save of pipelines. It should be possible to use the binary registry and just lose load/save but I'm not sure if gstreamer can be built that way yet.
Comment 3 Markus Heidelberg 2009-06-04 19:12:02 UTC
It seems to be more common to simply use something like BR2_PACKAGE_GSTREAMER_XML instead of BR2_PACKAGE_GSTREAMER_WITH_XML, i.e. without the "_WITH".

You shouldn't introduce a new variable GSTREAMER_XML_DEP, but do
GSTREAMER_DEPENDENCIES += libxml2
similar to GSTREAMER_CONF_OPT +=
Having libxml2 behind host-pkgconfig doesn't matter.

In gst-plugins-good 
Comment 4 Markus Heidelberg 2009-06-04 19:21:05 UTC
In the gst-plugins-good package there is a plugin called "annodex (XML Library)". I guess it should now select BR2_PACKAGE_GSTREAMER_XML instead of BR2_PACKAGE_LIBXML2 (or both?).
Comment 5 Will Newton 2009-06-05 14:24:19 UTC
Created attachment 377 [details]
Add support for building gstreamer without libxml2


Hopefully this takes all the comments above into account.
Comment 6 Markus Heidelberg 2009-06-05 16:35:05 UTC
(In reply to comment #5)
> Hopefully this takes all the comments above into account.

The config option name and the dependency variable cleanup, yes. But what about the annodex plugin?
Oh, and personally I like "ifeq" more than "ifneq", especially if the true condition is the default.
And while I'm nitpicking: the "enable" is superfluous, it's all about enabling and disabling in this configuration system. And I'd rather keep the description short (XML dependency) and move further information (registry ...) into a help section. But now I'll be quiet :)
Comment 7 Will Newton 2009-06-08 14:10:42 UTC
Created attachment 381 [details]
Add support for building gstreamer without libxml2


I've tweaked it a bti further to take into account comments. I haven't added the annodex change because I'm not sure it's worth it. It would only help a user who disabled the libxml2 dependency explicitly and then selected the annodex plugin that used libxml2.
Comment 8 Markus Heidelberg 2009-06-08 21:09:19 UTC
(In reply to comment #7)
> Created an attachment (id=381) [details]
> Add support for building gstreamer without libxml2
> 
> 
> I've tweaked it a bti further to take into account comments. I haven't added
> the annodex change because I'm not sure it's worth it. It would only help a
> user who disabled the libxml2 dependency explicitly and then selected the
> annodex plugin that used libxml2.

I wasn't sure about the annodex plugin myself, that's why I wrote "I guess ...". Given that BR2_PACKAGE_GSTREAMER_LIBXML2 can be seen as an option to disable registry and load/save with the side effect that libxml2 is not a dependency anymore, I guess annodex doesn't have to be adjusted.

So I'm fine with this.
Comment 9 Peter Korsgaard 2009-06-18 09:01:22 UTC
Thanks, fixed in git