6badba3fcf1d0810bca9c3f751e271e44d3bb48b
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / libgtk3 / libgtk3.mk
1 ################################################################################
2 #
3 # libgtk3
4 #
5 ################################################################################
6
7 LIBGTK3_VERSION_MAJOR = 3.14
8 LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).11
9 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz
10 LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR)
11 LIBGTK3_LICENSE = LGPLv2+
12 LIBGTK3_LICENSE_FILES = COPYING
13 LIBGTK3_INSTALL_STAGING = YES
14 LIBGTK3_AUTORECONF = YES
15
16 LIBGTK3_CONF_ENV = \
17         ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \
18         ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \
19         PKG_CONFIG_FOR_BUILD=$(HOST_DIR)/usr/bin/pkgconf
20
21 LIBGTK3_CONF_OPTS = \
22         --disable-glibtest \
23         --enable-explicit-deps=no \
24         --enable-gtk2-dependency \
25         --disable-introspection
26
27 LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf
28
29 ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
30 LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi
31
32 LIBGTK3_CONF_OPTS += \
33         --enable-x11-backend \
34         --x-includes=$(STAGING_DIR)/usr/include/X11 \
35         --x-libraries=$(STAGING_DIR)/usr/lib
36 else
37 LIBGTK3_CONF_OPTS += --disable-x11-backend
38 endif
39
40 ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
41 LIBGTK3_DEPENDENCIES += wayland libxkbcommon
42 LIBGTK3_CONF_OPTS += --enable-wayland-backend
43 else
44 LIBGTK3_CONF_OPTS += --disable-wayland-backend
45 endif
46
47 ifeq ($(BR2_PACKAGE_LIBGTK3_BROADWAY),y)
48 LIBGTK3_CONF_OPTS += --enable-broadway-backend
49 else
50 LIBGTK3_CONF_OPTS += --disable-broadway-backend
51 endif
52
53 ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
54 LIBGTK3_CONF_OPTS += --enable-xinerama
55 LIBGTK3_DEPENDENCIES += xlib_libXinerama
56 else
57 LIBGTK3_CONF_OPTS += --disable-xinerama
58 endif
59
60 ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
61 LIBGTK3_CONF_OPTS += --enable-xrandr
62 LIBGTK3_DEPENDENCIES += xlib_libXrandr
63 else
64 LIBGTK3_CONF_OPTS += --disable-xrandr
65 endif
66
67 ifeq ($(BR2_PACKAGE_XLIB_LIBXCURSOR),y)
68 LIBGTK3_DEPENDENCIES += xlib_libXcursor
69 endif
70
71 ifeq ($(BR2_PACKAGE_XLIB_LIBXFIXES),y)
72 LIBGTK3_CONF_OPTS += --enable-xfixes
73 LIBGTK3_DEPENDENCIES += xlib_libXfixes
74 else
75 LIBGTK3_CONF_OPTS += --disable-xfixes
76 endif
77
78 ifeq ($(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),y)
79 LIBGTK3_CONF_OPTS += --enable-xcomposite
80 LIBGTK3_DEPENDENCIES += xlib_libXcomposite
81 else
82 LIBGTK3_CONF_OPTS += --disable-xcomposite
83 endif
84
85 ifeq ($(BR2_PACKAGE_XLIB_LIBXDAMAGE),y)
86 LIBGTK3_CONF_OPTS += --enable-xdamage
87 LIBGTK3_DEPENDENCIES += xlib_libXdamage
88 else
89 LIBGTK3_CONF_OPTS += --disable-xdamage
90 endif
91
92 ifeq ($(BR2_PACKAGE_XLIB_LIBXKBFILE),y)
93 LIBGTK3_CONF_OPTS += --enable-xkb
94 LIBGTK3_DEPENDENCIES += xlib_libxkbfile
95 else
96 LIBGTK3_CONF_OPTS += --disable-xkb
97 endif
98
99 ifeq ($(BR2_PACKAGE_CUPS),y)
100 LIBGTK3_CONF_OPTS += --enable-cups
101 LIBGTK3_CONF_ENV += ac_cv_path_CUPS_CONFIG=$(STAGING_DIR)/usr/bin/cups-config
102 LIBGTK3_DEPENDENCIES += cups
103 else
104 LIBGTK3_CONF_OPTS += --disable-cups
105 endif
106
107 ifeq ($(BR2_PACKAGE_LIBGTK3_DEMO),y)
108 LIBGTK3_DEPENDENCIES += hicolor-icon-theme shared-mime-info
109 else
110 define LIBGTK3_REMOVE_DEMOS
111         $(RM) $(TARGET_DIR)/usr/bin/gtk3-demo \
112                 $(TARGET_DIR)/usr/bin/gtk3-demo-application
113 endef
114 LIBGTK3_POST_INSTALL_TARGET_HOOKS += LIBGTK3_REMOVE_DEMOS
115 endif
116
117 ifeq ($(BR2_PACKAGE_LIBGTK3_TESTS),y)
118 LIBGTK3_CONF_OPTS += --enable-installed-tests
119 else
120 LIBGTK3_CONF_OPTS += --disable-installed-tests
121 endif
122
123 define LIBGTK3_COMPILE_GLIB_SCHEMAS
124         $(HOST_DIR)/usr/bin/glib-compile-schemas \
125                 $(TARGET_DIR)/usr/share/glib-2.0/schemas
126 endef
127
128 LIBGTK3_POST_INSTALL_TARGET_HOOKS += LIBGTK3_COMPILE_GLIB_SCHEMAS
129
130 # gtk+ >= 3.10 can build a native version of gtk-update-icon-cache if
131 # --enable-gtk2-dependency=no is set when invoking './configure'.
132 #
133 # Unfortunately, if the target toolchain is based on uClibc, the macro
134 # AM_GLIB_GNU_GETTEXT will detect the libintl built for the target and
135 # will add '-lintl' to the default list of libraries for the linker (used
136 # for both native and target builds).
137 #
138 # But no native version of libintl is available (the functions are
139 # provided by glibc). So gtk-update-icon-cache will not build, and
140 # extract-strings neither.
141 #
142 # As a workaround, we build gtk-update-icon-cache on our own, set
143 # --enable-gtk2-dependency=yes and force './configure' to use our version.
144
145 HOST_LIBGTK3_DEPENDENCIES = \
146         host-libglib2 \
147         host-libpng \
148         host-gdk-pixbuf \
149         host-pkgconf
150
151 HOST_LIBGTK3_CFLAGS = \
152         $(shell $(HOST_DIR)/usr/bin/pkgconf \
153         --cflags --libs gdk-pixbuf-2.0)
154
155 define HOST_LIBGTK3_CONFIGURE_CMDS
156         echo "#define GETTEXT_PACKAGE \"gtk30\"" >> $(@D)/gtk/config.h
157         echo "#define HAVE_UNISTD_H 1" >> $(@D)/gtk/config.h
158         echo "#define HAVE_FTW_H 1" >> $(@D)/gtk/config.h
159 endef
160
161 define HOST_LIBGTK3_BUILD_CMDS
162         $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \
163                 $(@D)/gtk/updateiconcache.c \
164                 $(HOST_LIBGTK3_CFLAGS) \
165                 -o $(@D)/gtk/gtk-update-icon-cache
166         $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \
167                 $(@D)/util/extract-strings.c \
168                 $(HOST_LIBGTK3_CFLAGS) \
169                 -o $(@D)/util/extract-strings
170 endef
171
172 define HOST_LIBGTK3_INSTALL_CMDS
173         $(INSTALL) -D -m 0755 $(@D)/gtk/gtk-update-icon-cache \
174                 $(HOST_DIR)/usr/bin/gtk-update-icon-cache
175         $(INSTALL) -D -m 0755 $(@D)/util/extract-strings \
176                 $(HOST_DIR)/usr/bin/extract-strings
177 endef
178
179 $(eval $(autotools-package))
180 $(eval $(host-autotools-package))