summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/cairo/cairo.mk5
-rw-r--r--package/directfb/Config.in6
-rw-r--r--package/directfb/directfb.mk9
3 files changed, 19 insertions, 1 deletions
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
OpenPOWER on IntegriCloud