Sfoglia il codice sorgente

Merge branch 'misc-fixes5' of git://git.busybox.net/~tpetazzoni/git/buildroot

Peter Korsgaard 15 anni fa
parent
commit
4f05a61b33
39 ha cambiato i file con 592 aggiunte e 109 eliminazioni
  1. 2 0
      package/Config.in
  2. 10 3
      package/Makefile.in
  3. 1 1
      package/automake/automake.mk
  4. 19 13
      package/dosfstools/dosfstools.mk
  5. 1 0
      package/flex/flex.mk
  6. 3 0
      package/games/ace_of_penguins/Config.in
  7. 1 1
      package/games/ace_of_penguins/ace_of_penguins.mk
  8. 1 1
      package/gmpc/gmpc.mk
  9. 1 0
      package/gob2/Config.in
  10. 1 1
      package/gob2/gob2.mk
  11. 9 2
      package/imagemagick/imagemagick.mk
  12. 6 0
      package/intltool/Config.in
  13. 16 0
      package/intltool/intltook.mk
  14. 1 0
      package/iw/iw.mk
  15. 1 1
      package/kexec/kexec.mk
  16. 6 0
      package/libeXosip2/libeXosip2.mk
  17. 200 0
      package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch
  18. 26 3
      package/libgtk2/libgtk2.mk
  19. 5 0
      package/libpng/libpng.mk
  20. 1 1
      package/libsoup/libsoup.mk
  21. 8 0
      package/libxml-parser-perl/Config.in
  22. 34 0
      package/libxml-parser-perl/libxml-parser-perl.mk
  23. 2 0
      package/libxml2/libxml2.mk
  24. 8 0
      package/libxslt/libxslt.mk
  25. 2 0
      package/lvm2/lvm2.mk
  26. 3 2
      package/matchbox/matchbox.mk
  27. 1 1
      package/multimedia/mplayer/mplayer.mk
  28. 3 3
      package/shared-mime-info/shared-mime-info.mk
  29. 3 0
      package/webkit/Config.in
  30. 173 0
      package/webkit/gtk-doc.make
  31. 3 1
      package/webkit/webkit.mk
  32. 2 2
      package/x11r7/libxcb/libxcb.mk
  33. 3 1
      package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk
  34. 1 0
      package/x11r7/xfont_encodings/xfont_encodings.mk
  35. 6 68
      package/x11r7/xfont_font-util/xfont_font-util.mk
  36. 3 0
      package/x11r7/xlib_libfontenc/xlib_libfontenc.mk
  37. 25 0
      package/zlib/zlib.mk
  38. 0 3
      toolchain/ccache/ccache.mk
  39. 1 1
      toolchain/dependencies/dependencies.sh

+ 2 - 0
package/Config.in

@@ -46,6 +46,7 @@ source "package/pkg-config/Config.in"
 source "package/readline/Config.in"
 source "package/valgrind/Config.in"
 source "package/pcre/Config.in"
+source "package/intltool/Config.in"
 
 comment "Other stuff"
 source "package/at/Config.in"
@@ -412,6 +413,7 @@ source "package/ezxml/Config.in"
 source "package/libxml2/Config.in"
 source "package/libxslt/Config.in"
 source "package/xerces/Config.in"
+source "package/libxml-parser-perl/Config.in"
 endmenu
 
 # java support

+ 10 - 3
package/Makefile.in

@@ -228,6 +228,8 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
 		PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
 		PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
+		PERLLIB="$(HOST_DIR)/usr/lib/perl" \
+		LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib" \
 		STAGING_DIR="$(STAGING_DIR)"
 
 TARGET_CONFIGURE_ENV=\
@@ -236,7 +238,9 @@ TARGET_CONFIGURE_ENV=\
 	LDFLAGS="$(TARGET_LDFLAGS)" \
 	FCFLAGS="$(TARGET_FCFLAGS)" \
 
-TARGET_MAKE_ENV=PATH=$(TARGET_PATH)
+TARGET_MAKE_ENV=PATH=$(TARGET_PATH) \
+		LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
+		PERLLIB="$(HOST_DIR)/usr/lib/perl"
 
 HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \
 		AR="$(HOSTAR)" \
@@ -274,11 +278,14 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \
 		ORIGINAL_NM_FOR_TARGET="$(TARGET_NM)" \
 		ORIGINAL_OBJDUMP_FOR_TARGET="$(TARGET_OBJDUMP)" \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
-		PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
+		PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" \
+		PERLLIB="$(HOST_DIR)/usr/lib/perl"
 
 HOST_MAKE_ENV=PATH=$(HOST_PATH) \
+		LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
-		PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
+		PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" \
+		PERLLIB="$(HOST_DIR)/usr/lib/perl"
 
 
 #######################################################################

+ 1 - 1
package/automake/automake.mk

@@ -11,7 +11,7 @@ ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
 AUTOMAKE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
 endif
 
-AUTOMAKE_DEPENDENCIES = autoconf microperl
+AUTOMAKE_DEPENDENCIES = host-autoconf autoconf microperl
 
 HOST_AUTOMAKE_DEPENDENCIES = host-autoconf
 

+ 19 - 13
package/dosfstools/dosfstools.mk

@@ -32,7 +32,8 @@ $(DOSFSTOOLS_DIR)/.built : $(DOSFSTOOLS_DIR)/.unpacked
 	$(STRIPCMD) $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY)
 	touch $@
 
-$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built
+$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): # $(DOSFSTOOLS_DIR)/.built
+	echo foo
 	cp -a $(DOSFSTOOLS_DIR)/$(MKDOSFS_BINARY) $@
 	touch -c $@
 
@@ -44,7 +45,20 @@ $(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built
 	cp -a $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY) $@
 	touch -c $@
 
-dosfstools: $(TARGET_DIR)/$(DOSFSTOOLS_TARGET_BINARY) $(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
+DOSFSTOOLS=
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y)
+DOSFSTOOLS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
+endif
+
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y)
+DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
+endif
+
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y)
+DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY)
+endif
+
+dosfstools: $(DOSFSTOOLS)
 
 dosfstools-clean:
 	rm -f $(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
@@ -60,14 +74,6 @@ dosfstools-dirclean:
 # Toplevel Makefile options
 #
 #############################################################
-ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y)
-TARGETS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
-endif
-
-ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y)
-TARGETS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
-endif
-
-ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y)
-TARGETS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY)
-endif
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS),y)
+TARGETS+=dosfstools
+endif

+ 1 - 0
package/flex/flex.mk

@@ -9,6 +9,7 @@ FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz
 FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz
 FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
 FLEX_DIR:=$(BUILD_DIR)/flex-$(FLEX_VERSION)
+FLEX_INSTALL_STAGING=YES
 
 # lex -> flex
 define FLEX_INSTALL_LEX

+ 3 - 0
package/games/ace_of_penguins/Config.in

@@ -3,6 +3,9 @@ config BR2_PACKAGE_ACE_OF_PENGUINS
 	select BR2_PACKAGE_LIBPNG
 	depends on BR2_PACKAGE_XORG7
 	depends on BR2_PACKAGE_XLIB_LIBXPM
+	# Build system is broken for tools that need to be compiled
+	# on the host
+	depends on BROKEN
 	help
 	  The Ace of Penguins is a set of Unix/X solitaire games based
 	  on the ones available for Windows but with a number of

+ 1 - 1
package/games/ace_of_penguins/ace_of_penguins.mk

@@ -10,6 +10,6 @@ ACE_OF_PENGUINS_AUTORECONF = YES
 ACE_OF_PENGUINS_STAGING = NO
 ACE_OF_PENGUINS_TARGET = YES
 
-ACE_OF_PENGUINS_DEPENDENCIES = libpng xserver_xorg-server xlib_libXpm
+ACE_OF_PENGUINS_DEPENDENCIES = libpng host-libpng xserver_xorg-server xlib_libXpm
 
 $(eval $(call AUTOTARGETS,package/games,ace_of_penguins))

+ 1 - 1
package/gmpc/gmpc.mk

@@ -11,7 +11,7 @@ GMPC_CONF_ENV = ac_cv_lib_curl_curl_global_init=yes \
 		ac_cv_path_GOB2=$(GOB2_HOST_BINARY)
 GMPC_CONF_OPT = --disable-mmkeys
 
-GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2
+GMPC_DEPENDENCIES = libglib2 libgtk2 libglade libcurl libmpd host-gob2 host-intltool
 
 ifeq ($(BR2_PACKAGE_XLIB_LIBSM),y)
 GMPC_DEPENENCIES += xlib_libSM

+ 1 - 0
package/gob2/Config.in

@@ -2,6 +2,7 @@ config BR2_PACKAGE_GOB2
 	bool "gob2"
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_FLEX
+	select BR2_PACKAGE_FLEX_LIBFL
 	select BR2_PACKAGE_BISON
 	help
 	  GOB (GTK+ Object Builder) is a preprocessor which simplifies

+ 1 - 1
package/gob2/gob2.mk

@@ -7,7 +7,7 @@ GOB2_VERSION = 2.0.15
 GOB2_SOURCE = gob2-$(GOB2_VERSION).tar.gz
 GOB2_SITE = http://ftp.5z.com/pub/gob/
 
-GOB2_DEPENDENCIES = libglib2 flex bison host-pkg-config
+GOB2_DEPENDENCIES = libglib2 flex bison host-pkg-config host-flex
 
 HOST_GOB2_DEPENDENCIES = host-libglib2
 

+ 9 - 2
package/imagemagick/imagemagick.mk

@@ -31,6 +31,12 @@ $(IMAGEMAGICK_DIR)/.unpacked: $(DL_DIR)/$(IMAGEMAGICK_SOURCE)
 	$(CONFIG_UPDATE) $(IMAGEMAGICK_DIR)/config
 	touch $@
 
+ifeq ($(BR2_LARGEFILE),y)
+IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=64
+else
+IMAGEMAGICK_CONF_OPTS = ac_cv_sys_file_offset_bits=32
+endif
+
 $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked
 	(cd $(IMAGEMAGICK_DIR); rm -f config.cache; \
 		$(TARGET_CONFIGURE_OPTS) \
@@ -55,6 +61,7 @@ $(IMAGEMAGICK_DIR)/.configured: $(IMAGEMAGICK_DIR)/.unpacked
 		--without-fpx \
 		--without-freetype \
 		--without-x \
+		$(IMAGEMAGICK_CONF_OPTS) \
 	)
 	touch $@
 
@@ -76,8 +83,8 @@ $(IMAGEMAGICK_LIB): $(STAGING_DIR)/usr/lib/libMagickCore.a
 	touch -c $@
 
 $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB)
-	libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders
-	libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters
+	$(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/coders
+	$(IMAGEMAGICK_DIR)/libtool --finish $(TARGET_DIR)/usr/lib/ImageMagick-$(IMAGEMAGICK_MAJOR)/modules-Q16/filters
 	touch $@
 
 $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB)

+ 6 - 0
package/intltool/Config.in

@@ -0,0 +1,6 @@
+config BR2_PACKAGE_INTLTOOL
+       bool "intltool"
+       help
+         Utility scripts for internationalizing XML
+
+	 http://www.freedesktop.org/wiki/Software/intltool

+ 16 - 0
package/intltool/intltook.mk

@@ -0,0 +1,16 @@
+#############################################################
+#
+# intltool
+#
+#############################################################
+INTLTOOL_VERSION:=0.40.6
+INTLTOOL_SOURCE:=intltool-$(INTLTOOL_VERSION).tar.bz2
+INTLTOOL_SITE:=http://ftp.acc.umu.se/pub/GNOME/sources/intltool/0.40/
+
+HOST_INTLTOOL_DEPENDENCIES = host-libxml-parser-perl
+HOST_INTLTOOL_CONF_OPT = \
+  PERLLIB=$(HOST_DIR)/usr/lib/perl
+
+$(eval $(call AUTOTARGETS,package,intltool))
+$(eval $(call AUTOTARGETS,package,intltool,host))
+

+ 1 - 0
package/iw/iw.mk

@@ -11,6 +11,7 @@ IW_DEPENDENCIES = libnl
 IW_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
 IW_CONFIG = $(IW_DIR)/.config
 IW_MAKE_ENV = PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
+	PKG_CONFIG="$(HOST_DIR)/usr/bin/pkg-config" \
 	GIT_DIR=$(IW_DIR)
 
 $(eval $(call AUTOTARGETS,package,iw))

+ 1 - 1
package/kexec/kexec.mk

@@ -3,7 +3,7 @@
 # kexec
 #
 #############################################################
-KEXEC_VERSION = 2.0.0
+KEXEC_VERSION = 2.0.1
 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.bz2
 KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/horms/kexec-tools/
 # no install-strip/install-exec

+ 6 - 0
package/libeXosip2/libeXosip2.mk

@@ -43,27 +43,33 @@ $(LIBEXOSIP2_DIR)/.compiled: $(LIBEXOSIP2_DIR)/.configured
 
 $(STAGING_DIR)/usr/lib/libeXosip2.so: $(LIBEXOSIP2_DIR)/.compiled
 	cp -dpf $(LIBEXOSIP2_DIR)/src/.libs/libeXosip2.so* $(STAGING_DIR)/usr/lib
+	touch $@
 
 $(STAGING_DIR)/usr/lib/libeXosip2.a: $(LIBEXOSIP2_DIR)/.compiled
 	cp -dpf $(LIBEXOSIP2_DIR)/src/.libs/libeXosip2.a $(STAGING_DIR)/usr/lib
 	cp -dpf $(LIBEXOSIP2_DIR)/include/*.h $(STAGING_DIR)/usr/include
+	touch $@
 
 $(STAGING_DIR)/usr/lib/libeXosip2.la: $(LIBEXOSIP2_DIR)/.compiled
 	cp -dpf $(LIBEXOSIP2_DIR)/src/libeXosip2.la $(STAGING_DIR)/usr/lib
 	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libeXosip2.la
+	touch $@
 
 $(STAGING_DIR)/usr/bin/sip_reg: $(LIBEXOSIP2_DIR)/.compiled
 	cp -dpf $(LIBEXOSIP2_DIR)/tools/.libs/sip_reg $(STAGING_DIR)/usr/bin
+	touch $@
 
 
 $(TARGET_DIR)/usr/lib/libeXosip2.so: $(STAGING_DIR)/usr/lib/libeXosip2.so
 	mkdir -p $(TARGET_DIR)/usr/lib
 	cp -dpf $(STAGING_DIR)/usr/lib/libeXosip2.so* $(TARGET_DIR)/usr/lib/
 	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libeXosip2.so*
+	touch $@
 
 $(TARGET_DIR)/usr/bin/sip_reg: $(STAGING_DIR)/usr/bin/sip_reg
 	mkdir -p $(TARGET_DIR)/usr/bin
 	cp -dpf $(STAGING_DIR)/usr/bin/sip_reg $(TARGET_DIR)/usr/bin
+	touch $@
 
 
 

+ 200 - 0
package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch

@@ -0,0 +1,200 @@
+Index: gtk+-2.12.12/configure.in
+===================================================================
+--- gtk+-2.12.12.orig/configure.in	2008-09-13 02:01:07.000000000 +0200
++++ gtk+-2.12.12/configure.in	2010-02-21 10:42:40.000000000 +0100
+@@ -32,9 +32,6 @@
+ 
+ # required versions of other packages
+ m4_define([glib_required_version], [2.13.5])
+-m4_define([pango_required_version], [1.17.3])
+-m4_define([atk_required_version], [1.9.0])
+-m4_define([cairo_required_version], [1.2.0])
+ 
+ 
+ AC_INIT([gtk+], [gtk_version],
+@@ -239,12 +236,12 @@
+   gdktarget=x11
+ fi
+ 
+-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
++AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target],
+ 	gdktarget=$with_gdktarget)
+ 
+ AC_SUBST(gdktarget)
+ case $gdktarget in
+-  x11|win32|quartz|directfb) ;;
++  x11|win32|quartz|directfb|none) ;;
+   *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
+ esac
+ 
+@@ -349,10 +346,7 @@
+ ## the version requirements since those make the module lists 
+ ## annoying to construct
+ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
+-  [glib-2.0 >= glib_required_version dnl
+-   atk >= atk_required_version dnl
+-   pango >= pango_required_version dnl
+-   cairo >= cairo_required_version])
++  [glib-2.0 >= glib_required_version])
+ 
+ if test "$os_win32" != yes; then
+     # libtool option to control which symbols are exported
+@@ -1061,7 +1055,7 @@
+ GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
+ GDK_PIXBUF_XLIB_EXTRA_LIBS=
+ 	
+-X_PACKAGES=fontconfig
++X_PACKAGES=
+ GDK_EXTRA_LIBS="$GDK_WLIBS"
+ GDK_EXTRA_CFLAGS=
+ 	
+@@ -1070,14 +1064,6 @@
+ GTK_DEP_LIBS_FOR_X=
+ 
+ if test "x$gdktarget" = "xx11"; then
+-  #
+-  # We use fontconfig very peripherally when decoding the default
+-  # settings.
+-  #
+-  if $PKG_CONFIG --exists fontconfig; then : ; else
+-    AC_MSG_ERROR([
+-*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
+-  fi
+ 
+   #
+   # Check for basic X packages; we use pkg-config if available
+@@ -1124,16 +1110,6 @@
+   gtk_save_LIBS=$LIBS
+   LIBS="$x_libs_for_checks $LIBS"
+   
+-  # Sanity check for the X11 and Xext libraries. While everything we need from
+-  # Xext is optional, the chances a system has *none* of these things is so
+-  # small that we just unconditionally require it.
+-  AC_CHECK_FUNC(XOpenDisplay, :,
+-                AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
+-  AC_CHECK_FUNC(XextFindDisplay, :,
+-                AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
+-  AC_CHECK_FUNC(XRenderQueryExtension, :,
+-                AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
+-
+   # Check for xReply
+ 
+   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
+@@ -1418,48 +1394,6 @@
+   AM_CONDITIONAL(USE_DIRECTFB, false)
+ fi
+ 
+-
+-# Check for Pango flags
+-
+-if test "x$gdktarget" = "xwin32"; then
+-	PANGO_PACKAGES="pangowin32 pangocairo"
+-else
+-	PANGO_PACKAGES="pango pangocairo"
+-fi
+-
+-AC_MSG_CHECKING(Pango flags)
+-if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
+-        PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
+-        PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
+-
+-        AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
+-else
+-        AC_MSG_ERROR([
+-*** Pango not found. Pango built with Cairo support is required
+-*** to build GTK+. See http://www.pango.org for Pango information.
+-])
+-fi
+-
+-CFLAGS="$CFLAGS $PANGO_CFLAGS"
+-
+-if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
+-        :
+-else
+-	gtk_save_LIBS="$LIBS"
+-        LIBS="$PANGO_LIBS $LIBS"
+-        AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
+-*** Can't link to Pango. Pango is required to build
+-*** GTK+. For more information see http://www.pango.org]))
+-        LIBS="$gtk_save_LIBS"
+-fi
+-
+-CFLAGS="$saved_cflags"
+-LDFLAGS="$saved_ldflags"
+-
+-GDK_PACKAGES="$PANGO_PACKAGES"
+-if test "x$gdktarget" = "xx11"; then
+-  GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
+-fi
+ GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
+ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+ 
+@@ -1468,7 +1402,7 @@
+ # into the pkg-config files
+ #
+ if test $enable_explicit_deps != yes ; then
+-  GDK_PACKAGES="$PANGO_PACKAGES"
++  GDK_PACKAGES=
+   GDK_EXTRA_LIBS=
+ fi
+ 
+@@ -1479,39 +1413,10 @@
+ AC_SUBST(GDK_DEP_CFLAGS)
+ 
+ 
+-########################################
+-# Check for Accessibility Toolkit flags
+-########################################
+-
+-ATK_PACKAGES=atk
+-AC_MSG_CHECKING(ATK flags)
+-if $PKG_CONFIG --exists $ATK_PACKAGES ; then
+-        ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
+-        ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
+-
+-        AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
+-else
+-        AC_MSG_ERROR([
+-*** Accessibility Toolkit not found. Accessibility Toolkit is required
+-*** to build GTK+.
+-])
+-fi
+-
+-if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
+-        :
+-else
+-	gtk_save_LIBS="$LIBS"
+-        LIBS="$ATK_LIBS $LIBS"
+-        AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
+-                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
+-                *** to build GTK+]))
+-        LIBS="$gtk_save_LIBS"
+-fi
+-
+-GTK_PACKAGES="atk cairo"
++GTK_PACKAGES=
+ GTK_EXTRA_LIBS=
+ GTK_EXTRA_CFLAGS= 
+-GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
++GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+ GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+ 
+ if test x"$os_win32" = xyes; then
+@@ -1601,17 +1506,6 @@
+ 
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
+-			  
+-AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
+-*** Can't find cairo-pdf.h. You must build Cairo with the pdf
+-*** backend enabled.]))
+-
+-if test "$os_win32" != "yes"; then
+-  AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
+-*** Can't find cairo-ps.h. You must build Cairo with the 
+-*** postscript backend enabled.]))
+-fi   
+-
+ CPPFLAGS="$gtk_save_cppflags"
+      
+ 			  	

+ 26 - 3
package/libgtk2/libgtk2.mk

@@ -119,17 +119,40 @@ else
 LIBGTK2_CONF_OPT += --disable-cups
 endif
 
-HOST_LIBGTK2_DEPENDENCIES = host-cairo host-libglib2 host-pango host-atk
+# 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_LIBGTK2_AUTORECONF = YES
 HOST_LIBGTK2_CONF_OPT = \
 		--disable-static \
 		--disable-glibtest \
 		--without-libtiff \
 		--without-libjpeg \
-		--with-x \
-		--with-gdktarget=x11 \
+		--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)/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
+
 $(eval $(call AUTOTARGETS,package,libgtk2))
 $(eval $(call AUTOTARGETS,package,libgtk2,host))
 

+ 5 - 0
package/libpng/libpng.mk

@@ -11,7 +11,12 @@ LIBPNG_INSTALL_STAGING = YES
 LIBPNG_CONF_OPT = --without-libpng-compat
 LIBPNG_DEPENDENCIES = host-pkg-config zlib
 
+HOST_LIBPNG_LIBTOOL_PATCH = NO
+HOST_LIBPNG_CONF_OPT = --without-libpng-compat
+HOST_LIBPNG_DEPENDENCIES = host-pkg-config host-zlib
+
 $(eval $(call AUTOTARGETS,package,libpng))
+$(eval $(call AUTOTARGETS,package,libpng,host))
 
 $(LIBPNG_HOOK_POST_INSTALL):
 	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" \

+ 1 - 1
package/libsoup/libsoup.mk

@@ -24,7 +24,7 @@ LIBSOUP_CONF_OPT = \
 	--disable-explicit-deps \
 	--disable-glibtest	\
 	--without-gnome		\
-	--disable-gtk-doc --without-html-dir
+	--disable-gtk-doc
 
 LIBSOUP_DEPENDENCIES = gettext libintl host-pkg-config host-libglib2 libglib2 libxml2
 

+ 8 - 0
package/libxml-parser-perl/Config.in

@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBXML_PARSER_PERL
+       bool "libxml-parser-perl"
+       select BR2_PACKAGE_EXPAT
+       help
+         The Perl XML::Parser module.
+
+	 http://www.cpan.org/modules/by-module/XML/
+

+ 34 - 0
package/libxml-parser-perl/libxml-parser-perl.mk

@@ -0,0 +1,34 @@
+#############################################################
+#
+# libxml-parser-perl
+#
+#############################################################
+LIBXML_PARSER_PERL_VERSION:=2.36
+LIBXML_PARSER_PERL_SOURCE:=XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz
+LIBXML_PARSER_PERL_SITE:=http://www.cpan.org/modules/by-module/XML/
+
+LIBXML_PARSER_PERL_DEPENDENCIES = expat
+HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat
+
+define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS
+ (cd $(@D) ; \
+   perl Makefile.PL \
+        PREFIX=$(HOST_DIR)/usr \
+        EXPATLIBPATH=$(HOST_DIR)/usr/lib \
+        EXPATINCPATH=$(HOST_DIR)/usr/include \
+        INSTALLDIRS=site \
+        INSTALLSITELIB=$(HOST_DIR)/usr/lib/perl \
+ )
+endef
+
+define HOST_LIBXML_PARSER_PERL_BUILD_CMDS
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define HOST_LIBXML_PARSER_PERL_INSTALL_CMDS
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+$(eval $(call GENTARGETS,package,libxml-parser-perl))
+$(eval $(call GENTARGETS,package,libxml-parser-perl,host))
+

+ 2 - 0
package/libxml2/libxml2.mk

@@ -28,6 +28,8 @@ HOST_LIBXML2_CONF_OPT = \
 		--enable-shared --without-debugging --without-python \
 		--without-threads
 
+HOST_LIBXML2_LIBTOOL_PATCH = NO
+
 $(eval $(call AUTOTARGETS,package,libxml2))
 $(eval $(call AUTOTARGETS,package,libxml2,host))
 

+ 8 - 0
package/libxslt/libxslt.mk

@@ -25,7 +25,15 @@ LIBXSLT_CONF_OPT = --with-gnu-ld --enable-shared \
 
 LIBXSLT_DEPENDENCIES = libxml2 $(LIBXSLT_DEPENDENCIES_EXTRA)
 
+HOST_LIBXSLT_CONF_OPT = --enable-shared \
+			--without-debugging \
+			--without-python \
+			--without-threads
+
+HOST_LIBXSLT_DEPENDENCIES = host-libxml2
+
 $(eval $(call AUTOTARGETS,package,libxslt))
+$(eval $(call AUTOTARGETS,package,libxslt,host))
 
 $(LIBXSLT_HOOK_POST_INSTALL):
 	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/xslt-config

+ 2 - 0
package/lvm2/lvm2.mk

@@ -86,9 +86,11 @@ $(LVM2_DIR)/.built: $(LVM2_DIR)/.configured
 
 $(LVM2_TARGET_SBINS) $(LVM2_TARGET_DMSETUP_SBINS): $(LVM2_DIR)/.built
 	cp -a $(STAGING_DIR)/sbin/$(notdir $@) $@
+	touch $@
 
 $(LVM2_TARGET_LIBS): $(LVM2_DIR)/.built
 	cp -a $(STAGING_DIR)/lib/$(notdir $@) $@
+	touch $@
 
 
 ifeq ($(BR2_PACKAGE_LVM2_DMSETUP_ONLY),y)

+ 3 - 2
package/matchbox/matchbox.mk

@@ -141,6 +141,7 @@ $(MATCHBOX_PL_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_PL_SOURCE)
 $(MATCHBOX_DP_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_DP_SOURCE)
 	$(MATCHBOX_CAT) $(DL_DIR)/$(MATCHBOX_DP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
 	$(SED) 's:mbfolder\.png:mbtasks\.png:g' $(MATCHBOX_DP_DIR)/modules/tasks.c
+	toolchain/patch-kernel.sh $(MATCHBOX_DP_DIR) package/ buildroot-libtool.patch
 	touch $(MATCHBOX_DP_DIR)/.unpacked
 
 $(MATCHBOX_FK_DIR)/.unpacked: $(DL_DIR)/$(MATCHBOX_FK_SOURCE)
@@ -218,7 +219,7 @@ else
 endif
 
 
-$(MATCHBOX_LIB_DIR)/.configured: $(MATCHBOX_LIB_DIR)/.unpacked xlib_libXext-install-staging
+$(MATCHBOX_LIB_DIR)/.configured: $(MATCHBOX_LIB_DIR)/.unpacked
 	(cd $(MATCHBOX_LIB_DIR); rm -f config.cache; \
 	$(TARGET_CONFIGURE_OPTS) \
 	./configure $(QUIET) \
@@ -609,7 +610,7 @@ $(TARGET_DIR)/usr/bin/$(MATCHBOX_KB_BIN): $(STAGING_DIR)/usr/bin/$(MATCHBOX_KB_B
 	cp -af $(STAGING_DIR)/usr/share/matchbox/matchbox-keyboard $(TARGET_DIR)/usr/share/matchbox/
 	cp -dpf ./package/matchbox/mb-applet-kbd-wrapper.sh $(TARGET_DIR)/usr/bin/
 
-matchbox: host-pkg-config expat $(MATCHBOX_WM_DEPS) $(MATCHBOX_SNOTIFY_DEPS) $(MATCHBOX_LIB_DEPS) $(TARGET_DIR)/usr/lib/libmb.so $(TARGET_DIR)/usr/bin/$(MATCHBOX_WM_BIN)
+matchbox: host-pkg-config expat xlib_libXext $(MATCHBOX_WM_DEPS) $(MATCHBOX_SNOTIFY_DEPS) $(MATCHBOX_LIB_DEPS) $(TARGET_DIR)/usr/lib/libmb.so $(TARGET_DIR)/usr/bin/$(MATCHBOX_WM_BIN)
 
 matchbox-panel: matchbox $(TARGET_DIR)/usr/bin/$(MATCHBOX_PL_BIN) $(TARGET_DIR)/usr/bin/matchbox-session $(MATCHBOX_PANEL_DEPS)
 

+ 1 - 1
package/multimedia/mplayer/mplayer.mk

@@ -54,7 +54,7 @@ $(MPLAYER_DIR)/.configured: $(MPLAYER_DIR)/.unpacked
 		--as=$(TARGET_CROSS)as \
 		--with-extraincdir=$(STAGING_DIR)/usr/include \
 		--with-extralibdir=$(STAGING_DIR)/lib \
-		--charset=US-ASCII \
+		--charset=UTF-8 \
 		--enable-mad \
 		--enable-fbdev \
 		$(MPLAYER_ENDIAN) \

+ 3 - 3
package/shared-mime-info/shared-mime-info.mk

@@ -12,7 +12,7 @@ SHARED_MIME_INFO_INSTALL_TARGET = NO
 
 SHARED_MIME_INFO_AUTORECONF = NO
 SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint
-SHARED_MIME_INFO_DEPENDENCIES = host-pkg-config host-libglib2 host-libxml2 libxml2 libglib2
+SHARED_MIME_INFO_DEPENDENCIES = host-pkg-config host-libglib2 host-libxml2 host-shared-mime-info libxml2 libglib2
 
 SHARED_MIME_INFO_CONF_OPT = --disable-update-mimedb
 
@@ -28,7 +28,7 @@ $(eval $(call AUTOTARGETS,package,shared-mime-info,host))
 SHARED_MIME_INFO_HOST_BINARY:=$(HOST_DIR)/usr/bin/update-mime-database
 
 # update the shared-mime-info database in the target
-$(SHARED_MIME_INFO_HOOK_POST_INSTALL): host-shared-mime-info
-	$(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime
+$(SHARED_MIME_INFO_HOOK_POST_INSTALL):
+	$(HOST_MAKE_ENV) $(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime
 	$(INSTALL) -D $(STAGING_DIR)/usr/share/mime/mime.cache $(TARGET_DIR)/usr/share/mime/mime.cache
 	touch $@

+ 3 - 0
package/webkit/Config.in

@@ -14,6 +14,9 @@ config BR2_PACKAGE_WEBKIT
 	help
 	  WebKit is an open source, standards compliant web browser engine.
 
+	  Note that WebKit does not build with a toolchain using the
+	  old linuxthreads library.
+
 	  http://webkit.org/
 
 comment "webkit requires a toolchain with C++ support and WCHAR enabled"

+ 173 - 0
package/webkit/gtk-doc.make

@@ -0,0 +1,173 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST = 				\
+	$(content_files)		\
+	$(HTML_IMAGES)			\
+	$(DOC_MAIN_SGML_FILE)		\
+	$(DOC_MODULE)-sections.txt	\
+	$(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+	   $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES = 		 \
+	$(DOC_MODULE).args 	 \
+	$(DOC_MODULE).hierarchy  \
+	$(DOC_MODULE).interfaces \
+	$(DOC_MODULE).prerequisites \
+	$(DOC_MODULE).signals
+
+REPORT_FILES = \
+	$(DOC_MODULE)-undocumented.txt \
+	$(DOC_MODULE)-undeclared.txt \
+	$(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+else
+all-local:
+endif
+
+docs: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+	@echo 'gtk-doc: Scanning header files'
+	@-chmod -R u+w $(srcdir)
+	cd $(srcdir) && \
+	  gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+	if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
+	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+	else \
+	    cd $(srcdir) ; \
+	    for i in $(SCANOBJ_FILES) ; do \
+               test -f $$i || touch $$i ; \
+	    done \
+	fi
+	touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+	@true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+	@echo 'gtk-doc: Rebuilding template files'
+	@-chmod -R u+w $(srcdir)
+	cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+	touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+	@true
+
+tmpl/*.sgml:
+	@true
+
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+	@echo 'gtk-doc: Building XML'
+	@-chmod -R u+w $(srcdir)
+	cd $(srcdir) && \
+	gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
+	touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+	@true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+	@echo 'gtk-doc: Building HTML'
+	@-chmod -R u+w $(srcdir)
+	rm -rf $(srcdir)/html
+	mkdir $(srcdir)/html
+	cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+	test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+	@echo 'gtk-doc: Fixing cross-references'
+	cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+	touch html-build.stamp
+
+##############
+
+clean-local:
+	rm -f *~ *.bak
+	rm -rf .libs
+
+distclean-local:
+	cd $(srcdir) && \
+	  rm -rf xml $(REPORT_FILES) \
+	         $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+maintainer-clean-local: clean
+	cd $(srcdir) && rm -rf xml html
+
+install-data-local:
+	-installfiles=`echo $(srcdir)/html/*`; \
+	if test "$$installfiles" = '$(srcdir)/html/*'; \
+	then echo '-- Nothing to install' ; \
+	else \
+	  $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
+	  for i in $$installfiles; do \
+	    echo '-- Installing '$$i ; \
+	    $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+	  done; \
+	  echo '-- Installing $(srcdir)/html/index.sgml' ; \
+	  $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+	  which gtkdoc-rebase >/dev/null && \
+	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
+	fi
+	
+
+uninstall-local:
+	rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+	@echo "*** gtk-doc must be installed and enabled in order to make dist"
+	@false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+	mkdir $(distdir)/tmpl
+	mkdir $(distdir)/xml
+	mkdir $(distdir)/html
+	-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+	-cp $(srcdir)/xml/*.xml $(distdir)/xml
+	cp $(srcdir)/html/* $(distdir)/html
+	-cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
+	-cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
+	cd $(distdir) && rm -f $(DISTCLEANFILES)
+	-gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs

+ 3 - 1
package/webkit/webkit.mk

@@ -25,10 +25,12 @@ endif
 WEBKIT_CONF_OPT += --disable-video
 
 define WEBKIT_AUTOGEN_PATCH
+$(SED) 's%ACLOCAL_FLAGS=.*%ACLOCAL_FLAGS="-I autotools -I $(STAGING_DIR)/usr/share/aclocal"%' $(WEBKIT_DIR)/autogen.sh
 $(SED) 's/AUTOMAKE_FLAGS=.*/AUTOMAKE_FLAGS="--foreign --add-missing --copy"/' $(WEBKIT_DIR)/autogen.sh
 $(SED) 's/LIBTOOLIZE_FLAGS=.*/LIBTOOLIZE_FLAGS="--force --automake --copy"/' $(WEBKIT_DIR)/autogen.sh
+cp package/webkit/gtk-doc.make $(WEBKIT_DIR)/
 # Don't run the configure step yet
-cd $(WEBKIT_DIR); AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
+cd $(WEBKIT_DIR); $(HOST_CONFIGURE_OPTS) AUTOGEN_CONFIGURE_ARGS=--version ./autogen.sh
 endef
 
 WEBKIT_POST_EXTRACT_HOOKS += WEBKIT_AUTOGEN_PATCH

+ 2 - 2
package/x11r7/libxcb/libxcb.mk

@@ -10,9 +10,9 @@ LIBXCB_SITE = http://xcb.freedesktop.org/dist/
 LIBXCB_INSTALL_STAGING = YES
 
 LIBXCB_AUTORECONF = NO
-LIBXCB_DEPENDENCIES = pthread-stubs xcb-proto xlib_libXdmcp xlib_libXau
+LIBXCB_DEPENDENCIES = host-libxslt pthread-stubs xcb-proto xlib_libXdmcp xlib_libXau
 LIBXCB_CONF_ENV = STAGING_DIR="$(STAGING_DIR)"
-LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb XSLTPROC=/usr/bin/xsltproc
+LIBXCB_MAKE_OPT = XCBPROTO_XCBINCLUDEDIR=$(STAGING_DIR)/usr/share/xcb
 
 $(eval $(call AUTOTARGETS,package/x11r7,libxcb))
 

+ 3 - 1
package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk

@@ -8,6 +8,8 @@ XAPP_MKFONTSCALE_VERSION = 1.0.5
 XAPP_MKFONTSCALE_SOURCE = mkfontscale-$(XAPP_MKFONTSCALE_VERSION).tar.bz2
 XAPP_MKFONTSCALE_SITE = http://xorg.freedesktop.org/releases/individual/app
 XAPP_MKFONTSCALE_AUTORECONF = NO
-XAPP_MKFONTSCALE_DEPENDENCIES = freetype xlib_libX11 xlib_libfontenc
+XAPP_MKFONTSCALE_DEPENDENCIES = zlib freetype xlib_libfontenc xproto_xproto
+HOST_XAPP_MKFONTSCALE_DEPENDENCIES = host-zlib host-freetype host-xlib_libfontenc host-xproto_xproto
 
 $(eval $(call AUTOTARGETS,package/x11r7,xapp_mkfontscale))
+$(eval $(call AUTOTARGETS,package/x11r7,xapp_mkfontscale,host))

+ 1 - 0
package/x11r7/xfont_encodings/xfont_encodings.mk

@@ -9,5 +9,6 @@ XFONT_ENCODINGS_SOURCE = encodings-$(XFONT_ENCODINGS_VERSION).tar.bz2
 XFONT_ENCODINGS_SITE = http://xorg.freedesktop.org/releases/individual/font
 XFONT_ENCODINGS_AUTORECONF = NO
 XFONT_ENCODINGS_MAKE_OPT =
+XFONT_ENCODINGS_DEPENDENCIES = host-xapp_mkfontscale
 
 $(eval $(call AUTOTARGETS,package/x11r7,xfont_encodings))

+ 6 - 68
package/x11r7/xfont_font-util/xfont_font-util.mk

@@ -5,76 +5,14 @@
 ################################################################################
 
 XFONT_FONT_UTIL_VERSION = 1.0.1
-XFONT_FONT_UTIL_NAME = font-util-$(XFONT_FONT_UTIL_VERSION)
 XFONT_FONT_UTIL_SOURCE = font-util-$(XFONT_FONT_UTIL_VERSION).tar.bz2
 XFONT_FONT_UTIL_SITE = http://xorg.freedesktop.org/releases/individual/font
-XFONT_FONT_UTIL_AUTORECONF = NO
-XFONT_FONT_UTIL_DIR=$(BUILD_DIR)/$(XFONT_FONT_UTIL_NAME)
-XFONT_FONT_UTIL_CAT:=$(BZCAT)
+XFONT_FONT_UTIL_DEPENDENCIES = host-pkg-config
 
-$(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE):
-	 $(call DOWNLOAD,$(XFONT_FONT_UTIL_SITE),$(XFONT_FONT_UTIL_SOURCE))
+define XFONT_FONT_UTIL_POST_INSTALL_FIXES
+ $(@D)/post-install.sh $(STAGING_DIR)
+endef
 
-xfont_font-util-source: $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE)
-
-$(XFONT_FONT_UTIL_DIR)/.unpacked: $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE)
-	$(XFONT_FONT_UTIL_CAT) $(DL_DIR)/$(XFONT_FONT_UTIL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	toolchain/patch-kernel.sh $(XFONT_FONT_UTIL_DIR) package/x11r7/xfont_font-util/ \*.patch
-	$(CONFIG_UPDATE) $(XFONT_FONT_UTIL_DIR)
-	touch $@
-
-$(XFONT_FONT_UTIL_DIR)/.configured: $(XFONT_FONT_UTIL_DIR)/.unpacked
-	(cd $(XFONT_FONT_UTIL_DIR) && rm -rf config.cache)
-	(cd $(XFONT_FONT_UTIL_DIR) && \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--prefix=/usr \
-		--exec-prefix=/usr \
-		--bindir=/usr/bin \
-		--sbindir=/usr/sbin \
-		--libdir=/usr/lib \
-		--libexecdir=/usr/lib \
-		--sysconfdir=/etc \
-		--datadir=/usr/share \
-		--localstatedir=/var \
-		--includedir=/usr/include \
-		--mandir=/usr/share/man \
-		--infodir=/usr/share/info \
-	)
-	touch $@
-
-$(XFONT_FONT_UTIL_DIR)/.compiled: $(XFONT_FONT_UTIL_DIR)/.configured
-	$(MAKE) -C $(XFONT_FONT_UTIL_DIR)
-	touch $@
-
-$(XFONT_FONT_UTIL_DIR)/.installed: $(XFONT_FONT_UTIL_DIR)/.compiled
-	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(XFONT_FONT_UTIL_DIR) install
-	touch $@
-
-$(XFONT_FONT_UTIL_DIR)/.hacked: $(XFONT_FONT_UTIL_DIR)/.installed
-	( package/x11r7/xfont_font-util/post-install.sh $(STAGING_DIR) )
-	touch $@
-
-xfont_font-util: host-pkg-config $(XFONT_FONT_UTIL_DIR)/.hacked
-
-xfont_font-util-unpacked: $(XFONT_FONT_UTIL_DIR)/.unpacked
-
-xfont_font-util-clean:
-	-$(MAKE) -C $(XFONT_FONT_UTIL_DIR) clean
-
-xfont_font-util-dirclean:
-	rm -rf $(XFONT_FONT_UTIL_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_XFONT_FONT_UTIL),y)
-TARGETS+=xfont_font-util
-endif
+XFONT_FONT_UTIL_POST_INSTALL_STAGING_HOOKS += XFONT_FONT_UTIL_POST_INSTALL_FIXES
 
+$(eval $(call AUTOTARGETS,package/x11r7,xfont_font-util))

+ 3 - 0
package/x11r7/xlib_libfontenc/xlib_libfontenc.mk

@@ -12,4 +12,7 @@ XLIB_LIBFONTENC_INSTALL_STAGING = YES
 XLIB_LIBFONTENC_DEPENDENCIES = zlib xproto_xproto
 XLIB_LIBFONTENC_CONF_OPT = --enable-shared --disable-static
 
+HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xproto_xproto
+
 $(eval $(call AUTOTARGETS,package/x11r7,xlib_libfontenc))
+$(eval $(call AUTOTARGETS,package/x11r7,xlib_libfontenc,host))

+ 25 - 0
package/zlib/zlib.mk

@@ -30,10 +30,26 @@ define ZLIB_CONFIGURE_CMDS
 	)
 endef
 
+define HOST_ZLIB_CONFIGURE_CMDS
+	(cd $(@D); rm -rf config.cache; \
+		$(HOST_CONFIGURE_ARGS) \
+		$(HOST_CONFIGURE_OPTS) \
+		CFLAGS="$(ZLIB_PIC)" \
+		./configure \
+		$(ZLIB_SHARED) \
+		--prefix="$(HOST_DIR)/usr" \
+		--sysconfdir="$(HOST_DIR)/etc" \
+	)
+endef
+
 define ZLIB_BUILD_CMDS
 	$(MAKE) -C $(@D) all libz.a
 endef
 
+define HOST_ZLIB_BUILD_CMDS
+	$(MAKE) -C $(@D) all libz.a
+endef
+
 define ZLIB_INSTALL_STAGING_CMDS
 	$(INSTALL) -D $(@D)/libz.a $(STAGING_DIR)/usr/lib/libz.a
 	$(INSTALL) -D $(@D)/zlib.h $(STAGING_DIR)/usr/include/zlib.h
@@ -41,6 +57,13 @@ define ZLIB_INSTALL_STAGING_CMDS
 	cp -dpf $(@D)/libz.so* $(STAGING_DIR)/usr/lib/
 endef
 
+define HOST_ZLIB_INSTALL_CMDS
+	$(INSTALL) -D $(@D)/libz.a $(HOST_DIR)/usr/lib/libz.a
+	$(INSTALL) -D $(@D)/zlib.h $(HOST_DIR)/usr/include/zlib.h
+	$(INSTALL) $(@D)/zconf.h $(HOST_DIR)/usr/include/
+	cp -dpf $(@D)/libz.so* $(HOST_DIR)/usr/lib/
+endef
+
 ifeq ($(BR2_HAVE_DEVFILES),y)
 define ZLIB_INSTALL_TARGET_HEADERS
 	$(INSTALL) -D $(@D)/zlib.h $(TARGET_DIR)/usr/include/zlib.h
@@ -57,3 +80,5 @@ define ZLIB_INSTALL_TARGET_CMDS
 endef
 
 $(eval $(call GENTARGETS,package,zlib))
+$(eval $(call GENTARGETS,package,zlib,host))
+

+ 0 - 3
toolchain/ccache/ccache.mk

@@ -163,9 +163,6 @@ $(CCACHE_DIR2)/$(CCACHE_BINARY): $(CCACHE_DIR2)/.configured
 
 $(TARGET_DIR)/$(CCACHE_TARGET_BINARY): $(CCACHE_DIR2)/$(CCACHE_BINARY)
 	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(CCACHE_DIR2) install
-ifneq ($(BR2_HAVE_MANPAGES),y)
-	rm -rf $(TARGET_DIR)/usr/man
-endif
 	# put a bunch of symlinks into /bin, since that is earlier
 	# in the default PATH than /usr/bin where gcc lives
 	(cd $(TARGET_DIR)/bin; \

+ 1 - 1
toolchain/dependencies/dependencies.sh

@@ -122,7 +122,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then
 fi;
 
 # Check that a few mandatory programs are installed
-for prog in awk bison flex msgfmt makeinfo patch ; do
+for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl ; do
     if ! which $prog > /dev/null ; then
 	/bin/echo -e "\nYou must install '$prog' on your build machine";
 	if test $prog = "makeinfo" ; then