summaryrefslogtreecommitdiffstats
path: root/package/cairo
diff options
context:
space:
mode:
Diffstat (limited to 'package/cairo')
-rw-r--r--package/cairo/Config.in24
-rw-r--r--package/cairo/cairo.mk42
2 files changed, 60 insertions, 6 deletions
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 2c924cf70..bd2845b3c 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -1,11 +1,8 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
select BR2_PACKAGE_PKGCONFIG
- select BR2_PACKAGE_LIBPNG
- select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
- depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7||BR2_PACKAGE_TINYX||BR2_PACKAGE_DIRECTFB
help
Cairo is a 2D graphics library with support for multiple
output devices. Currently supported output targets include
@@ -14,3 +11,24 @@ config BR2_PACKAGE_CAIRO
OpenGL (through glitz), Quartz, and XCB.
http://cairographics.org/
+
+if BR2_PACKAGE_CAIRO
+
+config BR2_PACKAGE_CAIRO_PS
+ bool "postscript support"
+ select BR2_PACKAGE_ZLIB
+
+config BR2_PACKAGE_CAIRO_PDF
+ bool "pdf support"
+ select BR2_PACKAGE_ZLIB
+
+config BR2_PACKAGE_CAIRO_PNG
+ bool "png support"
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_ZLIB
+
+config BR2_PACKAGE_CAIRO_SVG
+ bool "svg support"
+ select BR2_PACKAGE_CAIRO_PNG
+
+endif
diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
index 99893ea98..0814f9cb3 100644
--- a/package/cairo/cairo.mk
+++ b/package/cairo/cairo.mk
@@ -42,11 +42,47 @@ CAIRO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
ac_cv_path_GLIB_GENMARSHAL=$(HOST_GLIB)/bin/glib-genmarshal
+CAIRO_DEPENDENCIES = uclibc pkgconfig fontconfig pixman
+
ifeq ($(BR2_PACKAGE_DIRECTFB),y)
- CAIRO_CONF_OPT = --disable-xlib --without-x --enable-directfb
- CAIRO_DEPENDENCIES_EXTRA = directfb
+ CAIRO_CONF_OPT += --enable-directfb
+ CAIRO_DEPENDENCIES += directfb
+else
+ CAIRO_CONF_OPT += --disable-directfb
+endif
+
+ifneq ($(BR2_PACKAGE_XSERVER_none),y)
+ CAIRO_CONF_OPT += --enable-xlib --with-x
+ CAIRO_DEPENDENCIES += $(XSERVER)
+else
+ CAIRO_CONF_OPT += --disable-xlib --without-x
+endif
+
+ifeq ($(BR2_PACKAGE_CAIRO_PS),y)
+ CAIRO_CONF_OPT += --enable-ps
+ CAIRO_DEPENDENCIES += zlib
+else
+ CAIRO_CONF_OPT += --disable-ps
endif
-CAIRO_DEPENDENCIES = uclibc gettext libintl pkgconfig zlib libpng fontconfig $(CAIRO_DEPENDENCIES_EXTRA) pixman $(XSERVER)
+ifeq ($(BR2_PACKAGE_CAIRO_PDF),y)
+ CAIRO_CONF_OPT += --enable-pdf
+ CAIRO_DEPENDENCIES += zlib
+else
+ CAIRO_CONF_OPT += --disable-pdf
+endif
+
+ifeq ($(BR2_PACKAGE_CAIRO_PNG),y)
+ CAIRO_CONF_OPT += --enable-png
+ CAIRO_DEPENDENCIES += libpng
+else
+ CAIRO_CONF_OPT += --disable-png
+endif
+
+ifeq ($(BR2_PACKAGE_CAIRO_SVG),y)
+ CAIRO_CONF_OPT += --enable-svg
+else
+ CAIRO_CONF_OPT += --disable-svg
+endif
$(eval $(call AUTOTARGETS,package,cairo))