2007-01-11 09:42:34 +01:00
|
|
|
#############################################################
|
|
|
|
#
|
|
|
|
# libgtk2.0
|
|
|
|
#
|
|
|
|
#############################################################
|
2009-01-18 11:57:23 +01:00
|
|
|
LIBGTK2_VERSION_MAJOR:=2.12
|
|
|
|
LIBGTK2_VERSION_MINOR:=12
|
|
|
|
LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).$(LIBGTK2_VERSION_MINOR)
|
|
|
|
|
2008-03-06 19:15:42 +01:00
|
|
|
LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.bz2
|
2009-01-18 11:57:23 +01:00
|
|
|
LIBGTK2_SITE = ftp://ftp.gtk.org/pub/gtk/$(LIBGTK2_VERSION_MAJOR)
|
2008-03-06 19:15:42 +01:00
|
|
|
LIBGTK2_AUTORECONF = NO
|
|
|
|
LIBGTK2_INSTALL_STAGING = YES
|
|
|
|
LIBGTK2_INSTALL_TARGET = YES
|
2007-01-11 09:42:34 +01:00
|
|
|
|
2008-03-06 19:15:42 +01:00
|
|
|
LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
|
2008-07-06 08:25:06 +02:00
|
|
|
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 \
|
2008-03-06 19:15:42 +01:00
|
|
|
ac_use_included_regex=no gl_cv_c_restrict=no \
|
2009-03-18 22:22:17 +01:00
|
|
|
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 \
|
2008-07-06 08:25:06 +02:00
|
|
|
ac_cv_prog_F77=no \
|
2008-08-04 21:07:05 +02:00
|
|
|
ac_cv_path_CUPS_CONFIG=no
|
2007-01-15 00:26:15 +01:00
|
|
|
|
2008-12-26 16:36:09 +01:00
|
|
|
LIBGTK2_CONF_OPT = --enable-shared \
|
2008-03-06 19:15:42 +01:00
|
|
|
--enable-static \
|
2008-07-06 08:25:06 +02:00
|
|
|
--disable-glibtest \
|
|
|
|
--enable-explicit-deps=no \
|
2009-03-16 21:58:01 +01:00
|
|
|
--disable-debug
|
2007-01-15 00:26:15 +01:00
|
|
|
|
2009-10-27 23:16:44 +01:00
|
|
|
LIBGTK2_DEPENDENCIES = host-pkg-config host-libgtk2 libglib2 cairo pango atk
|
2007-01-15 00:26:15 +01:00
|
|
|
|
2008-03-06 19:15:42 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_DIRECTFB),y)
|
|
|
|
LIBGTK2_CONF_OPT += --with-gdktarget=directfb
|
2008-12-26 16:36:12 +01:00
|
|
|
LIBGTK2_DEPENDENCIES += directfb
|
2008-03-06 19:15:42 +01:00
|
|
|
endif
|
2007-01-15 00:26:15 +01:00
|
|
|
|
2009-07-17 15:42:40 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_XORG7),y)
|
2008-07-06 08:25:06 +02:00
|
|
|
LIBGTK2_CONF_OPT += \
|
|
|
|
--with-x \
|
2007-09-12 06:37:31 +02:00
|
|
|
--x-includes=$(STAGING_DIR)/usr/include/X11 \
|
|
|
|
--x-libraries=$(STAGING_DIR)/usr/lib \
|
2008-03-06 19:15:42 +01:00
|
|
|
--with-gdktarget=x11
|
2009-07-17 16:26:29 +02:00
|
|
|
LIBGTK2_DEPENDENCIES += xlib_libXcomposite xserver_xorg-server
|
2008-03-06 19:15:42 +01:00
|
|
|
else
|
|
|
|
LIBGTK2_CONF_OPT += --without-x
|
|
|
|
endif
|
2007-01-11 09:42:34 +01:00
|
|
|
|
2009-01-18 11:57:23 +01:00
|
|
|
# Buildroot does not support JPEG2000 library
|
|
|
|
ifeq ($(LIBGTK2_VERSION_MAJOR),2.15)
|
|
|
|
LIBGTK2_CONF_OPT += --without-libjasper
|
|
|
|
endif
|
2008-12-26 16:36:12 +01:00
|
|
|
|
|
|
|
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
|
2007-01-11 09:42:34 +01:00
|
|
|
|
2010-09-01 22:40:38 +02:00
|
|
|
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
|
|
|
|
|
libgtk2: break the dependency of host-libgtk2 on host-cairo
Making a full build of libgtk2 for the host is a pain, since it
requires host-cairo, which it turns requires a full X.org stack to be
compiled for the host.
Moreover, building libgtk2 for the host completely is useless: we only
need gdk-pixbuf-csource and gtk-update-icon-cache.
In this patch, we add a new
host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied
to libgtk2 when being built for the host. This patch removes a lot of
dependencies in configure.in, which allows to:
* run make and make install in gdk-pixbuf/, which compiles and
installs the gdk-pixbuf library and the gdk-pixbuf-csource utility
* run make gtk-update-icon-cache in gtk/, which compiles the
gtk-update-icon-cache utility, which is then installed manually
The compilation and installation steps of libgtk2 for the host are
therefore overriden, so as to not use the default behaviour, which
would attempt to build the full gtk library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-21 13:11:00 +01:00
|
|
|
# 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.
|
|
|
|
|
2010-02-24 21:44:44 +01:00
|
|
|
HOST_LIBGTK2_DEPENDENCIES = host-libglib2 host-libpng
|
libgtk2: break the dependency of host-libgtk2 on host-cairo
Making a full build of libgtk2 for the host is a pain, since it
requires host-cairo, which it turns requires a full X.org stack to be
compiled for the host.
Moreover, building libgtk2 for the host completely is useless: we only
need gdk-pixbuf-csource and gtk-update-icon-cache.
In this patch, we add a new
host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied
to libgtk2 when being built for the host. This patch removes a lot of
dependencies in configure.in, which allows to:
* run make and make install in gdk-pixbuf/, which compiles and
installs the gdk-pixbuf library and the gdk-pixbuf-csource utility
* run make gtk-update-icon-cache in gtk/, which compiles the
gtk-update-icon-cache utility, which is then installed manually
The compilation and installation steps of libgtk2 for the host are
therefore overriden, so as to not use the default behaviour, which
would attempt to build the full gtk library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-21 13:11:00 +01:00
|
|
|
HOST_LIBGTK2_AUTORECONF = YES
|
2009-11-06 19:15:16 +01:00
|
|
|
HOST_LIBGTK2_CONF_OPT = \
|
2009-03-18 22:22:17 +01:00
|
|
|
--disable-static \
|
|
|
|
--disable-glibtest \
|
|
|
|
--without-libtiff \
|
|
|
|
--without-libjpeg \
|
libgtk2: break the dependency of host-libgtk2 on host-cairo
Making a full build of libgtk2 for the host is a pain, since it
requires host-cairo, which it turns requires a full X.org stack to be
compiled for the host.
Moreover, building libgtk2 for the host completely is useless: we only
need gdk-pixbuf-csource and gtk-update-icon-cache.
In this patch, we add a new
host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied
to libgtk2 when being built for the host. This patch removes a lot of
dependencies in configure.in, which allows to:
* run make and make install in gdk-pixbuf/, which compiles and
installs the gdk-pixbuf library and the gdk-pixbuf-csource utility
* run make gtk-update-icon-cache in gtk/, which compiles the
gtk-update-icon-cache utility, which is then installed manually
The compilation and installation steps of libgtk2 for the host are
therefore overriden, so as to not use the default behaviour, which
would attempt to build the full gtk library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-21 13:11:00 +01:00
|
|
|
--with-gdktarget=none \
|
2009-03-18 22:22:17 +01:00
|
|
|
--disable-cups \
|
2009-11-06 19:15:16 +01:00
|
|
|
--disable-debug
|
2009-03-18 22:22:17 +01:00
|
|
|
|
libgtk2: break the dependency of host-libgtk2 on host-cairo
Making a full build of libgtk2 for the host is a pain, since it
requires host-cairo, which it turns requires a full X.org stack to be
compiled for the host.
Moreover, building libgtk2 for the host completely is useless: we only
need gdk-pixbuf-csource and gtk-update-icon-cache.
In this patch, we add a new
host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied
to libgtk2 when being built for the host. This patch removes a lot of
dependencies in configure.in, which allows to:
* run make and make install in gdk-pixbuf/, which compiles and
installs the gdk-pixbuf library and the gdk-pixbuf-csource utility
* run make gtk-update-icon-cache in gtk/, which compiles the
gtk-update-icon-cache utility, which is then installed manually
The compilation and installation steps of libgtk2 for the host are
therefore overriden, so as to not use the default behaviour, which
would attempt to build the full gtk library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-21 13:11:00 +01:00
|
|
|
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)/gdk-pixbuf
|
|
|
|
$(HOST_MAKE_ENV) make -C $(@D)/gtk gtk-update-icon-cache
|
|
|
|
endef
|
|
|
|
|
|
|
|
define HOST_LIBGTK2_INSTALL_CMDS
|
|
|
|
$(HOST_MAKE_ENV) make -C $(@D)/gdk-pixbuf install
|
|
|
|
cp $(@D)/gtk/gtk-update-icon-cache $(HOST_DIR)/usr/bin
|
|
|
|
endef
|
|
|
|
|
2009-11-06 19:15:16 +01:00
|
|
|
$(eval $(call AUTOTARGETS,package,libgtk2))
|
|
|
|
$(eval $(call AUTOTARGETS,package,libgtk2,host))
|