buildrootschalter/package/libgtk2/libgtk2.mk
Thomas Petazzoni 35b4322ee8 libgtk2: bump to version 2.22.0 and undeprecate Gtk/DirectFB
Finally, we bump Gtk from the old and ancient 2.12 version to the
latest 2.22.0 version currently available.

The DirectFB support is Gtk 2.22 compiles again thanks to the work of
Lionel Landwerlin (it was broken in every Gtk version between 2.12 and
2.20). Therefore, Gtk on DirectFB is no longer marked as deprecated.

In addition to this, we :

 * Upgrade the "reduce-dependencies" patch

 * Remove the "configure" and "no-tests" patches which do not seem to
   be useful anymore

 * Add a libtool patch

We also remove references to a non-existant 2.15 gtk version in
libgtk2.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-10-18 09:25:05 -04:00

158 lines
4.7 KiB
Makefile

#############################################################
#
# libgtk2.0
#
#############################################################
LIBGTK2_VERSION_MAJOR:=2.22
LIBGTK2_VERSION_MINOR:=0
LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).$(LIBGTK2_VERSION_MINOR)
LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.bz2
LIBGTK2_SITE = ftp://ftp.gtk.org/pub/gtk/$(LIBGTK2_VERSION_MAJOR)
LIBGTK2_AUTORECONF = NO
LIBGTK2_INSTALL_STAGING = YES
LIBGTK2_INSTALL_TARGET = YES
LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
glib_cv_uscore=no \
ac_cv_func_strtod=yes \
ac_fsusage_space=yes \
fu_cv_sys_stat_statfs2_bsize=yes \
ac_cv_func_closedir_void=no \
ac_cv_func_getloadavg=no \
ac_cv_lib_util_getloadavg=no \
ac_cv_lib_getloadavg_getloadavg=no \
ac_cv_func_getgroups=yes \
ac_cv_func_getgroups_works=yes \
ac_cv_func_chown_works=yes \
ac_cv_have_decl_euidaccess=no \
ac_cv_func_euidaccess=no \
ac_cv_have_decl_strnlen=yes \
ac_cv_func_strnlen_working=yes \
ac_cv_func_lstat_dereferences_slashed_symlink=yes \
ac_cv_func_lstat_empty_string_bug=no \
ac_cv_func_stat_empty_string_bug=no \
vb_cv_func_rename_trailing_slash_bug=no \
ac_cv_have_decl_nanosleep=yes \
jm_cv_func_nanosleep_works=yes \
gl_cv_func_working_utimes=yes \
ac_cv_func_utime_null=yes \
ac_cv_have_decl_strerror_r=yes \
ac_cv_func_strerror_r_char_p=no \
jm_cv_func_svid_putenv=yes \
ac_cv_func_getcwd_null=yes \
ac_cv_func_getdelim=yes \
ac_cv_func_mkstemp=yes \
utils_cv_func_mkstemp_limitations=no \
utils_cv_func_mkdir_trailing_slash_bug=no \
jm_cv_func_gettimeofday_clobber=no \
gl_cv_func_working_readdir=yes \
jm_ac_cv_func_link_follows_symlink=no \
utils_cv_localtime_cache=no \
ac_cv_struct_st_mtim_nsec=no \
gl_cv_func_tzset_clobber=no \
gl_cv_func_getcwd_null=yes \
gl_cv_func_getcwd_path_max=yes \
ac_cv_func_fnmatch_gnu=yes \
am_getline_needs_run_time_check=no \
am_cv_func_working_getline=yes \
gl_cv_func_mkdir_trailing_slash_bug=no \
gl_cv_func_mkstemp_limitations=no \
ac_cv_func_working_mktime=yes \
jm_cv_func_working_re_compile_pattern=yes \
ac_use_included_regex=no gl_cv_c_restrict=no \
ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \
ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \
ac_cv_prog_F77=no \
ac_cv_path_CUPS_CONFIG=no
LIBGTK2_CONF_OPT = --enable-shared \
--enable-static \
--disable-glibtest \
--enable-explicit-deps=no \
--disable-debug
LIBGTK2_DEPENDENCIES = host-pkg-config host-libgtk2 libglib2 cairo pango atk gdk-pixbuf
ifeq ($(BR2_PACKAGE_DIRECTFB),y)
LIBGTK2_CONF_OPT += --with-gdktarget=directfb
LIBGTK2_DEPENDENCIES += directfb
endif
ifeq ($(BR2_PACKAGE_XORG7),y)
LIBGTK2_CONF_OPT += \
--with-x \
--x-includes=$(STAGING_DIR)/usr/include/X11 \
--x-libraries=$(STAGING_DIR)/usr/lib \
--with-gdktarget=x11
LIBGTK2_DEPENDENCIES += xlib_libXcomposite xserver_xorg-server
else
LIBGTK2_CONF_OPT += --without-x
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
LIBGTK2_DEPENDENCIES += libpng
else
LIBGTK2_CONF_OPT += --without-libpng
endif
ifeq ($(BR2_PACKAGE_JPEG),y)
LIBGTK2_DEPENDENCIES += jpeg
else
LIBGTK2_CONF_OPT += --without-libjpeg
endif
ifeq ($(BR2_PACKAGE_TIFF),y)
LIBGTK2_DEPENDENCIES += tiff
else
LIBGTK2_CONF_OPT += --without-libtiff
endif
ifeq ($(BR2_PACKAGE_CUPS),y)
LIBGTK2_DEPENDENCIES += cups
else
LIBGTK2_CONF_OPT += --disable-cups
endif
define LIBGTK2_POST_INSTALL_TWEAKS
$(INSTALL) -m 755 package/libgtk2/S26libgtk2 $(TARGET_DIR)/etc/init.d/
rm -rf $(TARGET_DIR)/usr/share/gtk-2.0/demo $(TARGET_DIR)/usr/bin/gtk-demo
endef
LIBGTK2_POST_INSTALL_TARGET_HOOKS += LIBGTK_POST_INSTALL_TWEAKS
# We do not build a full version of libgtk2 for the host, because that
# requires compiling Cairo, Pango, ATK and X.org for the
# host. Therefore, we patch it to remove dependencies, and we hack the
# build to only build gdk-pixbuf-from-source and
# gtk-update-icon-cache, which are the host tools needed to build Gtk
# for the target.
HOST_LIBGTK2_DEPENDENCIES = host-libglib2 host-libpng host-gdk-pixbuf
HOST_LIBGTK2_AUTORECONF = YES
HOST_LIBGTK2_CONF_OPT = \
--disable-static \
--disable-glibtest \
--without-libtiff \
--without-libjpeg \
--with-gdktarget=none \
--disable-cups \
--disable-debug
define HOST_LIBGTK2_PATCH_REDUCE_DEPENDENCIES_HOOK
toolchain/patch-kernel.sh $(@D) $($(PKG)_DIR_PREFIX)/$($(NOHOSTPKG)_NAME) host-*.patch
endef
HOST_LIBGTK2_POST_PATCH_HOOKS += HOST_LIBGTK2_PATCH_REDUCE_DEPENDENCIES_HOOK
define HOST_LIBGTK2_BUILD_CMDS
$(HOST_MAKE_ENV) make -C $(@D)/gtk gtk-update-icon-cache
endef
define HOST_LIBGTK2_INSTALL_CMDS
cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/usr/bin
endef
$(eval $(call AUTOTARGETS,package,libgtk2))
$(eval $(call AUTOTARGETS,package,libgtk2,host))