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