From daf4820c8527c54dfbc44d4982ad04dff9650e04 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Fri, 12 Sep 2014 17:50:10 +0200 Subject: [PATCH] directfb: allow SVG support MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. [Peter: propagate atomics dependency, needs libsvg-cairo, add cairo includes] Signed-off-by: Jérôme Pouiller Signed-off-by: Peter Korsgaard --- package/cairo/cairo.mk | 5 ++++- package/directfb/Config.in | 6 ++++++ package/directfb/directfb.mk | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index a4c71b6816..bcc0c262fd 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 e3c93a12ef..d53f7567e1 100644 --- a/package/directfb/Config.in +++ b/package/directfb/Config.in @@ -125,6 +125,12 @@ config BR2_PACKAGE_DIRECTFB_PNG default y select BR2_PACKAGE_LIBPNG +config BR2_PACKAGE_DIRECTFB_SVG + bool "enable SVG support" + depends on BR2_ARCH_HAS_ATOMICS # cairo + default y + select BR2_PACKAGE_LIBSVG_CAIRO + config BR2_PACKAGE_DIRECTFB_DITHER_RGB16 bool "enable advanced dithering of RGB16 surfaces" help diff --git a/package/directfb/directfb.mk b/package/directfb/directfb.mk index 3ae7f3e9f2..32144ec299 100644 --- a/package/directfb/directfb.mk +++ b/package/directfb/directfb.mk @@ -116,6 +116,15 @@ else DIRECTFB_CONF_OPT += --disable-jpeg endif +ifeq ($(BR2_PACKAGE_DIRECTFB_SVG),y) +DIRECTFB_CONF_OPT += --enable-svg +# needs some help to find cairo includes +DIRECTFB_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/cairo" +DIRECTFB_DEPENDENCIES += libsvg-cairo +else +DIRECTFB_CONF_OPT += --disable-svg +endif + ifeq ($(BR2_PACKAGE_DIRECTFB_IMLIB2),y) DIRECTFB_CONF_OPT += --enable-imlib2 DIRECTFB_DEPENDENCIES += imlib2 -- 2.30.2