1################################################################################ 2# 3# libgtk2 4# 5################################################################################ 6 7LIBGTK2_VERSION_MAJOR = 2.24 8LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).33 9LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.xz 10LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJOR) 11LIBGTK2_INSTALL_STAGING = YES 12LIBGTK2_LICENSE = LGPL-2.0+ 13LIBGTK2_LICENSE_FILES = COPYING 14LIBGTK2_CPE_ID_VENDOR = gnome 15LIBGTK2_CPE_ID_PRODUCT = gtk 16# For 0001-reduce-dependencies.patch 17LIBGTK2_AUTORECONF = YES 18 19LIBGTK2_CONF_ENV = \ 20 ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/bin/gtk-update-icon-cache \ 21 ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/bin/gdk-pixbuf-csource \ 22 DB2HTML=false 23 24LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no 25 26LIBGTK2_DEPENDENCIES = host-pkgconf host-libgtk2 libglib2 cairo pango atk \ 27 gdk-pixbuf $(TARGET_NLS_DEPENDENCIES) 28 29LIBGTK2_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) 30 31# Xorg dependencies 32LIBGTK2_CONF_OPTS += \ 33 --with-x \ 34 --x-includes=$(STAGING_DIR)/usr/include/X11 \ 35 --x-libraries=$(STAGING_DIR)/usr/lib \ 36 --with-gdktarget=x11 37LIBGTK2_DEPENDENCIES += \ 38 fontconfig xlib_libX11 xlib_libXext xlib_libXrender 39 40ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) 41LIBGTK2_CONF_OPTS += --enable-introspection 42LIBGTK2_DEPENDENCIES += gobject-introspection 43else 44LIBGTK2_CONF_OPTS += --disable-introspection 45endif 46 47ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) 48LIBGTK2_CONF_OPTS += --enable-xinerama 49LIBGTK2_DEPENDENCIES += xlib_libXinerama 50else 51LIBGTK2_CONF_OPTS += --disable-xinerama 52endif 53 54ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y) 55LIBGTK2_CONF_OPTS += --with-xinput=yes 56LIBGTK2_DEPENDENCIES += xlib_libXi 57else 58LIBGTK2_CONF_OPTS += --with-xinput=no 59endif 60 61ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y) 62LIBGTK2_DEPENDENCIES += xlib_libXrandr 63endif 64 65ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y) 66LIBGTK2_DEPENDENCIES += xlib_libXcursor 67endif 68 69ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y) 70LIBGTK2_DEPENDENCIES += xlib_libXfixes 71endif 72 73ifeq ($(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),y) 74LIBGTK2_DEPENDENCIES += xlib_libXcomposite 75endif 76 77ifeq ($(BR2_PACKAGE_XLIB_LIBXDAMAGE),y) 78LIBGTK2_DEPENDENCIES += xlib_libXdamage 79endif 80 81ifeq ($(BR2_PACKAGE_LIBPNG),y) 82LIBGTK2_DEPENDENCIES += libpng 83else 84LIBGTK2_CONF_OPTS += --without-libpng 85endif 86 87ifeq ($(BR2_PACKAGE_JPEG),y) 88LIBGTK2_DEPENDENCIES += jpeg 89else 90LIBGTK2_CONF_OPTS += --without-libjpeg 91endif 92 93ifeq ($(BR2_PACKAGE_TIFF),y) 94LIBGTK2_DEPENDENCIES += tiff 95else 96LIBGTK2_CONF_OPTS += --without-libtiff 97endif 98 99ifeq ($(BR2_PACKAGE_CUPS),y) 100LIBGTK2_CONF_OPTS += CUPS_CONFIG="$(STAGING_DIR)/usr/bin/cups-config" 101LIBGTK2_DEPENDENCIES += cups 102else 103LIBGTK2_CONF_OPTS += --disable-cups 104endif 105 106ifeq ($(BR2_PACKAGE_LIBGTK2_DEMO),) 107define LIBGTK2_POST_INSTALL_TWEAKS 108 rm -rf $(TARGET_DIR)/usr/share/gtk-2.0/demo $(TARGET_DIR)/usr/bin/gtk-demo 109endef 110 111LIBGTK2_POST_INSTALL_TARGET_HOOKS += LIBGTK2_POST_INSTALL_TWEAKS 112endif 113 114# We do not build a full version of libgtk2 for the host, because that 115# requires compiling Cairo, Pango, ATK and X.org for the 116# host. Therefore, we patch it to remove dependencies, and we hack the 117# build to only build gdk-pixbuf-from-source and 118# gtk-update-icon-cache, which are the host tools needed to build Gtk 119# for the target. 120 121HOST_LIBGTK2_DEPENDENCIES = host-libglib2 host-libpng host-gdk-pixbuf 122HOST_LIBGTK2_CONF_OPTS = \ 123 --disable-static \ 124 --disable-glibtest \ 125 --without-libtiff \ 126 --without-libjpeg \ 127 --with-gdktarget=none \ 128 --disable-cups 129 130define HOST_LIBGTK2_BUILD_CMDS 131 $(HOST_MAKE_ENV) make -C $(@D)/gtk gtk-update-icon-cache 132endef 133 134define HOST_LIBGTK2_INSTALL_CMDS 135 cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/bin 136endef 137 138$(eval $(autotools-package)) 139$(eval $(host-autotools-package)) 140