123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- ################################################################################
- #
- # cairo
- #
- ################################################################################
- CAIRO_VERSION = 1.16.0
- CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz
- CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library)
- CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
- CAIRO_SITE = http://cairographics.org/releases
- CAIRO_INSTALL_STAGING = YES
- # 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
- CAIRO_IGNORE_CVES += CVE-2018-19876
- # relocation truncated to fit: R_68K_GOT16O
- ifeq ($(BR2_m68k_cf),y)
- CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot"
- endif
- ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
- CAIRO_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DCAIRO_NO_MUTEX=1"
- endif
- # cairo can use C++11 atomics when available, so we need to link with
- # libatomic for the architectures who need libatomic.
- ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
- CAIRO_CONF_ENV += LIBS="-latomic"
- endif
- CAIRO_CONF_OPTS = \
- --enable-trace=no \
- --enable-interpreter=no
- CAIRO_DEPENDENCIES = host-pkgconf fontconfig pixman
- # Just the bare minimum to make other host-* packages happy
- HOST_CAIRO_CONF_OPTS = \
- --enable-trace=no \
- --enable-interpreter=no \
- --disable-directfb \
- --enable-ft \
- --enable-gobject \
- --disable-glesv2 \
- --disable-vg \
- --disable-xlib \
- --disable-xcb \
- --without-x \
- --disable-xlib-xrender \
- --disable-ps \
- --disable-pdf \
- --enable-png \
- --enable-script \
- --disable-svg \
- --disable-tee \
- --disable-xml
- HOST_CAIRO_DEPENDENCIES = \
- host-freetype \
- host-fontconfig \
- host-libglib2 \
- host-libpng \
- host-pixman \
- host-pkgconf
- # 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_OPTS += --enable-directfb
- CAIRO_DEPENDENCIES += directfb
- else
- CAIRO_CONF_OPTS += --disable-directfb
- endif
- ifeq ($(BR2_PACKAGE_FREETYPE),y)
- CAIRO_CONF_OPTS += --enable-ft
- CAIRO_DEPENDENCIES += freetype
- else
- CAIRO_CONF_OPTS += --disable-ft
- endif
- ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
- CAIRO_CONF_OPTS += --enable-gobject
- CAIRO_DEPENDENCIES += libglib2
- else
- CAIRO_CONF_OPTS += --disable-gobject
- endif
- # Can use GL or GLESv2 but not both
- ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
- CAIRO_CONF_OPTS += --enable-gl --disable-glesv2
- CAIRO_DEPENDENCIES += libgl
- else
- ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
- CAIRO_CONF_OPTS += --disable-gl --enable-glesv2
- CAIRO_DEPENDENCIES += libgles
- else
- CAIRO_CONF_OPTS += --disable-gl --disable-glesv2
- endif
- endif
- ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y)
- CAIRO_CONF_OPTS += --enable-vg
- CAIRO_DEPENDENCIES += libopenvg
- else
- CAIRO_CONF_OPTS += --disable-vg
- endif
- ifeq ($(BR2_PACKAGE_LZO),y)
- CAIRO_DEPENDENCIES += lzo
- endif
- ifeq ($(BR2_PACKAGE_XORG7),y)
- CAIRO_CONF_OPTS += --enable-xlib --enable-xcb --with-x
- CAIRO_DEPENDENCIES += xlib_libX11 xlib_libXext
- else
- CAIRO_CONF_OPTS += --disable-xlib --disable-xcb --without-x
- endif
- ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y)
- CAIRO_CONF_OPTS += --enable-xlib-xrender
- CAIRO_DEPENDENCIES += xlib_libXrender
- else
- CAIRO_CONF_OPTS += --disable-xlib-xrender
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_PS),y)
- CAIRO_CONF_OPTS += --enable-ps
- CAIRO_DEPENDENCIES += zlib
- else
- CAIRO_CONF_OPTS += --disable-ps
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_PDF),y)
- CAIRO_CONF_OPTS += --enable-pdf
- CAIRO_DEPENDENCIES += zlib
- else
- CAIRO_CONF_OPTS += --disable-pdf
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_PNG),y)
- CAIRO_CONF_OPTS += --enable-png
- CAIRO_DEPENDENCIES += libpng
- else
- CAIRO_CONF_OPTS += --disable-png
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_SCRIPT),y)
- CAIRO_CONF_OPTS += --enable-script
- else
- CAIRO_CONF_OPTS += --disable-script
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_SVG),y)
- CAIRO_CONF_OPTS += --enable-svg
- else
- CAIRO_CONF_OPTS += --disable-svg
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_TEE),y)
- CAIRO_CONF_OPTS += --enable-tee
- else
- CAIRO_CONF_OPTS += --disable-tee
- endif
- ifeq ($(BR2_PACKAGE_CAIRO_XML),y)
- CAIRO_CONF_OPTS += --enable-xml
- else
- CAIRO_CONF_OPTS += --disable-xml
- endif
- $(eval $(autotools-package))
- $(eval $(host-autotools-package))
|