[Buildroot] [PATCH 11/12] directfb: allow SVG support

Peter Korsgaard jacmet at uclibc.org
Sat Sep 13 07:23:13 UTC 2014


>>>>> "Jérôme" == Jérôme Pouiller <jezz at sysmic.org> writes:

 > DirectFB SVG support rely on Cairo and Cairo depends on DirectFB.
 > Since Cairo DirectFB backend is marked as experimental, this patch choose to
 > disable this backend when DirectFB SVG support is enable.

 > In add, this patch may solve some tricky situations between DirectFB and Cairo
 > (see http://sysmic.org/~jezz/results/c2f11fc0) and improve build reproducibility.

 > Signed-off-by: Jérôme Pouiller <jezz at sysmic.org>
 > ---
 >  package/cairo/cairo.mk       | 5 ++++-
 >  package/directfb/Config.in   | 5 +++++
 >  package/directfb/directfb.mk | 7 +++++++
 >  3 files changed, 16 insertions(+), 1 deletion(-)

 > diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
 > index a4c71b6..bcc0c26 100644
 > --- a/package/cairo/cairo.mk
 > +++ b/package/cairo/cairo.mk
 > @@ -48,7 +48,10 @@ CAIRO_CONF_OPT = \
 
 >  CAIRO_DEPENDENCIES = host-pkgconf fontconfig pixman
 
 > -ifeq ($(BR2_PACKAGE_DIRECTFB),y)
 > +# DirectFB svg support rely on Cairo and Cairo DirectFB support depends on
 > +# DirectFB. Break circular dependency by disabling DirectFB support in Cairo
 > +# (which is experimental)
 > +ifeq ($(BR2_PACKAGE_DIRECTFB)x$(BR2_PACKAGE_DIRECTFB_SVG),yx)
 >  	CAIRO_CONF_OPT += --enable-directfb
 >  	CAIRO_DEPENDENCIES += directfb
 >  else
 > diff --git a/package/directfb/Config.in b/package/directfb/Config.in
 > index e3c93a1..dc01228 100644
 > --- a/package/directfb/Config.in
 > +++ b/package/directfb/Config.in
 > @@ -125,6 +125,11 @@ config BR2_PACKAGE_DIRECTFB_PNG
 >  	default y
 >  	select BR2_PACKAGE_LIBPNG
 
 > +config BR2_PACKAGE_DIRECTFB_SVG
 > +	bool "enable SVG support"
 > +	default y
 > +	select BR2_PACKAGE_CAIRO

cairo depends on BR2_ARCH_HAS_ATOMICS, so this should also do so.

I suspect this also needs the SVG backend of cairo. From config.log:

configure:19926: checking for libsvg-cairo >= 0.1.6
configure:19936: result: not found
configure:19939: WARNING:
*** SVG-Cairo at least 0.1.6 not found -- SVG image provider will not be built.

So it actually needs libsvg-cairo (which pulls in cairo and the svg
backend of cairo).

It also needs some help to find the cairo includes:

make[5]: Entering directory '/home/peko/source/buildroot/output/build/directfb-1.6.3/interfaces/IDirectFBImageProvider'
  CC       idirectfbimageprovider_dfiff.lo
  CC       idirectfbimageprovider_bmp.lo
  CC       idirectfbimageprovider_pnm.lo
  CC       idirectfbimageprovider_svg.lo
  CC       idirectfbimageprovider_mpeg2.lo
idirectfbimageprovider_svg.c:46:19: fatal error: cairo.h: No such file or directory
compilation terminated.
Makefile:817: recipe for target 'idirectfbimageprovider_svg.lo' failed
make[5]: *** [idirectfbimageprovider_svg.lo] Error 1
make[5]: *** Waiting for unfinished jobs....

Committed with that fixed, thanks.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list