xref: /OK3568_Linux_fs/buildroot/package/gdk-pixbuf/gdk-pixbuf.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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