1################################################################################ 2# 3# gdk-pixbuf 4# 5################################################################################ 6 7GDK_PIXBUF_VERSION_MAJOR = 2.42 8GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).4 9GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz 10GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR) 11GDK_PIXBUF_LICENSE = LGPL-2.1+ 12GDK_PIXBUF_LICENSE_FILES = COPYING 13GDK_PIXBUF_CPE_ID_VENDOR = gnome 14GDK_PIXBUF_INSTALL_STAGING = YES 15GDK_PIXBUF_DEPENDENCIES = \ 16 host-gdk-pixbuf host-libglib2 host-pkgconf \ 17 libglib2 $(if $(BR2_ENABLE_LOCALE),,libiconv) 18HOST_GDK_PIXBUF_DEPENDENCIES = host-libpng host-pkgconf host-libglib2 19 20GDK_PIXBUF_CONF_OPTS = \ 21 -Dgio_sniffing=false \ 22 -Dinstalled_tests=false \ 23 -Dman=false 24 25HOST_GDK_PIXBUF_CONF_OPTS = \ 26 -Dgio_sniffing=false \ 27 -Dinstalled_tests=false \ 28 -Dintrospection=disabled \ 29 -Dman=false 30 31ifeq ($(BR2_STATIC_LIBS),y) 32GDK_PIXBUF_CONF_OPTS += -Dbuiltin_loaders=all 33endif 34 35ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) 36GDK_PIXBUF_CONF_OPTS += -Dintrospection=enabled 37GDK_PIXBUF_DEPENDENCIES += gobject-introspection 38else 39GDK_PIXBUF_CONF_OPTS += -Dintrospection=disabled 40endif 41 42ifeq ($(BR2_PACKAGE_LIBPNG),y) 43GDK_PIXBUF_CONF_OPTS += -Dpng=true 44GDK_PIXBUF_DEPENDENCIES += libpng 45else 46GDK_PIXBUF_CONF_OPTS += -Dpng=false 47endif 48 49ifeq ($(BR2_PACKAGE_JPEG),y) 50GDK_PIXBUF_CONF_OPTS += -Djpeg=true 51HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=true 52GDK_PIXBUF_DEPENDENCIES += jpeg 53HOST_GDK_PIXBUF_DEPENDENCIES += host-libjpeg 54else 55GDK_PIXBUF_CONF_OPTS += -Djpeg=false 56HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=false 57endif 58 59ifeq ($(BR2_PACKAGE_TIFF),y) 60GDK_PIXBUF_CONF_OPTS += -Dtiff=true 61HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=true 62GDK_PIXBUF_DEPENDENCIES += tiff 63HOST_GDK_PIXBUF_DEPENDENCIES += host-tiff 64else 65GDK_PIXBUF_CONF_OPTS += -Dtiff=false 66HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=false 67endif 68 69# gdk-pixbuf requires the loaders.cache file populated to work properly 70# Rather than doing so at runtime, since the fs can be read-only, do so 71# here after building and installing to target. 72# And since the cache file will contain absolute host directory names we 73# need to sanitize (strip) them. 74ifeq ($(BR2_STATIC_LIBS),) 75define GDK_PIXBUF_UPDATE_CACHE 76 GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \ 77 $(HOST_DIR)/bin/gdk-pixbuf-query-loaders \ 78 > $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache 79 $(SED) "s,$(HOST_DIR)/lib,/usr/lib,g" \ 80 $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache 81endef 82GDK_PIXBUF_POST_INSTALL_TARGET_HOOKS += GDK_PIXBUF_UPDATE_CACHE 83endif 84 85# Target gdk-pixbuf needs loaders.cache populated to build for the 86# thumbnailer. Use the host-built since it matches the target options 87# regarding mime types (which is the used information). 88define GDK_PIXBUF_COPY_LOADERS_CACHE 89 cp -f $(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \ 90 $(@D)/gdk-pixbuf 91endef 92GDK_PIXBUF_PRE_BUILD_HOOKS += GDK_PIXBUF_COPY_LOADERS_CACHE 93 94$(eval $(meson-package)) 95$(eval $(host-meson-package)) 96