buildrootschalter/package/cairo/cairo.mk
Jérôme Pouiller daf4820c85 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: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-13 09:22:27 +02:00

149 lines
4.4 KiB
Makefile

################################################################################
#
# cairo
#
################################################################################
CAIRO_VERSION = 1.12.10
CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz
CAIRO_LICENSE = LGPLv2.1+
CAIRO_LICENSE_FILES = COPYING
CAIRO_SITE = http://cairographics.org/releases
CAIRO_INSTALL_STAGING = YES
CAIRO_AUTORECONF = YES
CAIRO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
glib_cv_uscore=no ac_cv_func_strtod=yes \
ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \
ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \
ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \
ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \
ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \
ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \
ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \
ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \
vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \
jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \
ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \
ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \
ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \
ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \
utils_cv_func_mkdir_trailing_slash_bug=no jm_cv_func_gettimeofday_clobber=no \
gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \
utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \
gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \
gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \
am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \
gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \
ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
ac_use_included_regex=no gl_cv_c_restrict=no
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
CAIRO_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DCAIRO_NO_MUTEX=1"
endif
CAIRO_CONF_OPT = \
--enable-trace=no \
--enable-interpreter=no
CAIRO_DEPENDENCIES = host-pkgconf fontconfig pixman
# 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
CAIRO_CONF_OPT += --disable-directfb
endif
ifeq ($(BR2_PACKAGE_FREETYPE),y)
CAIRO_CONF_OPT += --enable-ft
CAIRO_DEPENDENCIES += freetype
else
CAIRO_CONF_OPT += --disable-ft
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
CAIRO_CONF_OPT += --enable-gobject
CAIRO_DEPENDENCIES += libglib2
else
CAIRO_CONF_OPT += --disable-gobject
endif
ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
CAIRO_CONF_OPT += --enable-glesv2
CAIRO_DEPENDENCIES += libgles
else
CAIRO_CONF_OPT += --disable-glesv2
endif
ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y)
CAIRO_CONF_OPT += --enable-vg
CAIRO_DEPENDENCIES += libopenvg
else
CAIRO_CONF_OPT += --disable-vg
endif
ifeq ($(BR2_PACKAGE_XORG7),y)
CAIRO_CONF_OPT += --enable-xlib --enable-xcb --with-x
CAIRO_DEPENDENCIES += xlib_libX11 xlib_libXext
else
CAIRO_CONF_OPT += --disable-xlib --disable-xcb --without-x
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y)
CAIRO_CONF_OPT += --enable-xlib-xrender
CAIRO_DEPENDENCIES += xlib_libXrender
else
CAIRO_CONF_OPT += --disable-xlib-xrender
endif
ifeq ($(BR2_PACKAGE_CAIRO_PS),y)
CAIRO_CONF_OPT += --enable-ps
CAIRO_DEPENDENCIES += zlib
else
CAIRO_CONF_OPT += --disable-ps
endif
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_SCRIPT),y)
CAIRO_CONF_OPT += --enable-script
else
CAIRO_CONF_OPT += --disable-script
endif
ifeq ($(BR2_PACKAGE_CAIRO_SVG),y)
CAIRO_CONF_OPT += --enable-svg
else
CAIRO_CONF_OPT += --disable-svg
endif
ifeq ($(BR2_PACKAGE_CAIRO_TEE),y)
CAIRO_CONF_OPT += --enable-tee
else
CAIRO_CONF_OPT += --disable-tee
endif
ifeq ($(BR2_PACKAGE_CAIRO_XML),y)
CAIRO_CONF_OPT += --enable-xml
else
CAIRO_CONF_OPT += --disable-xml
endif
$(eval $(autotools-package))