Commit daf4820c authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Peter Korsgaard
Browse files

directfb: allow SVG support

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: default avatarJérôme Pouiller <jezz@sysmic.org>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent efba6339
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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
+6 −0
Original line number Diff line number Diff line
@@ -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
+9 −0
Original line number Diff line number Diff line
@@ -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