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