Pārlūkot izejas kodu

fixup a whole steaming pile of insanity. When packages are configured,
they should be configured with --prefix=/usr and we then need to use
make DESTDIR=$(STAGING_DIR) install to get things installed into the
staging directory. The current situation for many packages, which use
--prefix=$(STAGING_DIR) results in the staging_dir paths getting compiled
into the binary itself.

This also adds in a pile of libtool fixups. Between broken pkgconfig,
broken libtool handling, and broken --prefix settings, its a wonder
things have worked as well as they have up till now.
-Erik

Eric Andersen 18 gadi atpakaļ
vecāks
revīzija
732d94d25f
100 mainītis faili ar 1525 papildinājumiem un 320 dzēšanām
  1. 1 1
      package/argus/argus.mk
  2. 1 0
      package/at/at.mk
  3. 8 21
      package/atk/atk.mk
  4. 77 0
      package/atk/libdir-la.patch
  5. 1 0
      package/autoconf/autoconf.mk
  6. 1 0
      package/automake/automake.mk
  7. 5 13
      package/avahi/avahi.mk
  8. 2 1
      package/bash/bash.mk
  9. 3 14
      package/berkeleydb/berkeleydb.mk
  10. 3 2
      package/bind/bind.mk
  11. 1 0
      package/bison/bison.mk
  12. 1 0
      package/boa/boa.mk
  13. 1 0
      package/bridge/bridge.mk
  14. 12 23
      package/cairo/cairo.mk
  15. 77 0
      package/cairo/libdir-la.patch
  16. 1 0
      package/coreutils/coreutils.mk
  17. 1 1
      package/cvs/cvs.mk
  18. 1 0
      package/diffutils/diffutils.mk
  19. 27 16
      package/directfb/directfb.mk
  20. 2 1
      package/distcc/distcc.mk
  21. 13 2
      package/dm/dm.mk
  22. 12 6
      package/dmalloc/dmalloc.mk
  23. 1 0
      package/dropbear/dropbear.mk
  24. 1 0
      package/e2fsprogs/e2fsprogs.mk
  25. 8 6
      package/expat/expat.mk
  26. 77 0
      package/expat/libdir-la.patch
  27. 1 0
      package/file/file.mk
  28. 1 0
      package/findutils/findutils.mk
  29. 1 0
      package/flex/flex.mk
  30. 27 8
      package/freetype/freetype.mk
  31. 77 0
      package/freetype/libdir-la.patch
  32. 1 0
      package/gawk/gawk.mk
  33. 26 10
      package/gettext/gettext.mk
  34. 154 0
      package/gettext/libdir-la.patch
  35. 15 12
      package/gmp/gmp.mk
  36. 1 0
      package/grep/grep.mk
  37. 1 0
      package/gzip/gzip.mk
  38. 13 2
      package/jpeg/jpeg.mk
  39. 1 1
      package/kexec/kexec.mk
  40. 12 2
      package/libcgi/libcgi.mk
  41. 13 2
      package/libcgicc/libcgicc.mk
  42. 4 9
      package/libdaemon/libdaemon.mk
  43. 7 6
      package/libglib12/libglib12.mk
  44. 77 0
      package/libglib2/libdir-la.patch
  45. 11 20
      package/libglib2/libglib2.mk
  46. 7 6
      package/libgtk12/libgtk12.mk
  47. 77 0
      package/libgtk2/libdir-la.patch
  48. 7 7
      package/libgtk2/libgtk2.mk
  49. 14 9
      package/libpcap/libpcap.mk
  50. 77 0
      package/libpng/libdir-la.patch
  51. 22 22
      package/libpng/libpng.mk
  52. 17 6
      package/libraw1394/libraw1394.mk
  53. 1 0
      package/libtool/libtool.mk
  54. 1 1
      package/libusb/libusb.mk
  55. 1 0
      package/lighttpd/lighttpd.mk
  56. 1 0
      package/links/links.mk
  57. 1 0
      package/lrzsz/lrzsz.mk
  58. 1 0
      package/ltt/ltt.mk
  59. 1 0
      package/make/make.mk
  60. 8 6
      package/mpfr/mpfr.mk
  61. 1 1
      package/nano/nano.mk
  62. 4 2
      package/ncurses/ncurses.mk
  63. 1 0
      package/newt/newt.mk
  64. 1 0
      package/ntp/ntp.mk
  65. 1 0
      package/openssh/openssh.mk
  66. 1 0
      package/openvpn/openvpn.mk
  67. 77 0
      package/pango/libdir-la.patch
  68. 1 1
      package/pango/no-tests.patch
  69. 13 27
      package/pango/pango.mk
  70. 1 0
      package/patch/patch.mk
  71. 1 0
      package/pppd/pppd.mk
  72. 1 1
      package/psmisc/psmisc.mk
  73. 3 3
      package/qte/qte.mk
  74. 1 0
      package/raidtools/raidtools.mk
  75. 15 20
      package/readline/readline.mk
  76. 1 1
      package/rsync/rsync.mk
  77. 1 0
      package/ruby/ruby.mk
  78. 20 9
      package/sdl/sdl.mk
  79. 1 0
      package/sed/sed.mk
  80. 1 0
      package/smartmontools/smartmontools.mk
  81. 1 0
      package/socat/socat.mk
  82. 11 1
      package/sqlite/sqlite.mk
  83. 1 0
      package/strace/strace.mk
  84. 1 0
      package/stunnel/stunnel.mk
  85. 1 0
      package/sudo/sudo.mk
  86. 1 0
      package/tar/tar.mk
  87. 12 3
      package/tcpdump/dhcpdump.mk
  88. 14 6
      package/tcpdump/tcpdump.mk
  89. 1 0
      package/tftpd/tftpd.mk
  90. 1 1
      package/thttpd/thttpd.mk
  91. 14 2
      package/tiff/tiff.mk
  92. 1 0
      package/tn5250/tn5250.mk
  93. 1 1
      package/usbutils/usbutils.mk
  94. 3 2
      package/util-linux/util-linux.mk
  95. 1 0
      package/valgrind/valgrind.mk
  96. 1 0
      package/vtun/vtun.mk
  97. 1 1
      package/wget/wget.mk
  98. 1 1
      package/which/which.mk
  99. 1 1
      package/xorg/Config.in
  100. 294 0
      package/xorg/libXfont-1.1.0-noftinternals.patch

+ 1 - 1
package/argus/argus.mk

@@ -50,7 +50,7 @@ endif
 
 
 $(ARGUS_DIR)/.configured: $(ARGUS_DIR)/.unpacked
 $(ARGUS_DIR)/.configured: $(ARGUS_DIR)/.unpacked
 	(cd $(ARGUS_DIR); rm -rf config.cache; \
 	(cd $(ARGUS_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		$(ARGUS_TRAP_CHECK) \
 		$(ARGUS_TRAP_CHECK) \
 		./configure \
 		./configure \

+ 1 - 0
package/at/at.mk

@@ -29,6 +29,7 @@ $(AT_DIR)/.configured: $(AT_DIR)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--localstatedir=/var \
 		--localstatedir=/var \

+ 8 - 21
package/atk/atk.mk

@@ -30,7 +30,6 @@ $(ATK_DIR)/.unpacked: $(DL_DIR)/$(ATK_SOURCE)
 $(ATK_DIR)/.configured: $(ATK_DIR)/.unpacked
 $(ATK_DIR)/.configured: $(ATK_DIR)/.unpacked
 	(cd $(ATK_DIR); rm -rf config.cache; \
 	(cd $(ATK_DIR); rm -rf config.cache; \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(TARGET_CONFIGURE_OPTS) \
-		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
 		ac_cv_c_bigendian=$(ATK_BE) \
 		ac_cv_c_bigendian=$(ATK_BE) \
 		ac_cv_func_posix_getpwuid_r=yes \
 		ac_cv_func_posix_getpwuid_r=yes \
 		glib_cv_stack_grows=no \
 		glib_cv_stack_grows=no \
@@ -90,18 +89,19 @@ $(ATK_DIR)/.configured: $(ATK_DIR)/.unpacked
 		gl_cv_c_restrict=no \
 		gl_cv_c_restrict=no \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		./configure \
 		./configure \
+		--target=$(GNU_TARGET_NAME) \
 		--host=$(REAL_GNU_TARGET_NAME) \
 		--host=$(REAL_GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -120,21 +120,8 @@ $(ATK_DIR)/atk/.libs/$(ATK_BINARY): $(ATK_DIR)/.configured
 	touch -c $(ATK_DIR)/atk/.libs/$(ATK_BINARY)
 	touch -c $(ATK_DIR)/atk/.libs/$(ATK_BINARY)
 
 
 $(STAGING_DIR)/lib/$(ATK_BINARY): $(ATK_DIR)/atk/.libs/$(ATK_BINARY)
 $(STAGING_DIR)/lib/$(ATK_BINARY): $(ATK_DIR)/atk/.libs/$(ATK_BINARY)
-	$(MAKE) prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    sharedstatedir=$(STAGING_DIR)/com \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    includedir=$(STAGING_DIR)/include \
-	    oldincludedir=$(STAGING_DIR)/include \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    -C $(ATK_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(ATK_DIR) install
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libatk-1.0.la
 	touch -c $(STAGING_DIR)/lib/$(ATK_BINARY)
 	touch -c $(STAGING_DIR)/lib/$(ATK_BINARY)
 
 
 $(TARGET_DIR)/lib/libatk-1.0.so.0: $(STAGING_DIR)/lib/$(ATK_BINARY)
 $(TARGET_DIR)/lib/libatk-1.0.so.0: $(STAGING_DIR)/lib/$(ATK_BINARY)
@@ -143,7 +130,7 @@ $(TARGET_DIR)/lib/libatk-1.0.so.0: $(STAGING_DIR)/lib/$(ATK_BINARY)
 	$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libatk-1.0.so.0.*
 	$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libatk-1.0.so.0.*
 	touch -c $(TARGET_DIR)/lib/libatk-1.0.so.0
 	touch -c $(TARGET_DIR)/lib/libatk-1.0.so.0
 
 
-atk: libglib2 $(TARGET_DIR)/lib/libatk-1.0.so.0
+atk: libglib2 pkgconfig $(TARGET_DIR)/lib/libatk-1.0.so.0
 
 
 atk-clean:
 atk-clean:
 	rm -f $(TARGET_DIR)/lib/$(ATK_BINARY)
 	rm -f $(TARGET_DIR)/lib/$(ATK_BINARY)

+ 77 - 0
package/atk/libdir-la.patch

@@ -0,0 +1,77 @@
+--- atk-1.9.1/ltmain.sh.orig	2004-11-23 09:19:19.000000000 -0700
++++ atk-1.9.1/ltmain.sh	2007-01-13 14:36:53.000000000 -0700
+@@ -231,8 +231,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2279,8 +2280,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	else
+ 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+@@ -2754,6 +2761,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5141,6 +5158,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5459,10 +5480,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 1 - 0
package/autoconf/autoconf.mk

@@ -32,6 +32,7 @@ $(AUTOCONF_DIR)/.configured: $(AUTOCONF_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/automake/automake.mk

@@ -33,6 +33,7 @@ $(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 5 - 13
package/avahi/avahi.mk

@@ -34,7 +34,6 @@ $(AVAHI_DIR)/.configured: $(AVAHI_DIR)/.unpacked
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		LIBDAEMON_CFLAGS="-I$(STAGING_DIR)/include" \
 		LIBDAEMON_CFLAGS="-I$(STAGING_DIR)/include" \
 		LIBDAEMON_LIBS="-L$(STAGING_DIR)/lib -ldaemon" \
 		LIBDAEMON_LIBS="-L$(STAGING_DIR)/lib -ldaemon" \
-		PKG_CONFIG_PATH="$(LIBDAEMON_DIR)" \
 		ac_cv_func_strtod=yes \
 		ac_cv_func_strtod=yes \
 		ac_fsusage_space=yes \
 		ac_fsusage_space=yes \
 		fu_cv_sys_stat_statfs2_bsize=yes \
 		fu_cv_sys_stat_statfs2_bsize=yes \
@@ -90,19 +89,20 @@ $(AVAHI_DIR)/.configured: $(AVAHI_DIR)/.unpacked
 		ac_use_included_regex=no \
 		ac_use_included_regex=no \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
+		--host=$(REAL_GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
-		--libexecdir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
-		--includedir=$(STAGING_DIR)/include \
 		$(DISABLE_NLS) \
 		$(DISABLE_NLS) \
 		$(DISABLE_LARGEFILE) \
 		$(DISABLE_LARGEFILE) \
 		--disable-glib \
 		--disable-glib \
@@ -130,15 +130,7 @@ $(AVAHI_DIR)/.compiled: $(AVAHI_DIR)/.configured
 	touch $(AVAHI_DIR)/.compiled
 	touch $(AVAHI_DIR)/.compiled
 
 
 $(STAGING_DIR)/sbin/avahi-autoipd: $(AVAHI_DIR)/.compiled
 $(STAGING_DIR)/sbin/avahi-autoipd: $(AVAHI_DIR)/.compiled
-	$(MAKE) \
-		-C $(AVAHI_DIR)/avahi-autoipd \
-		prefix=$(STAGING_DIR) \
-		exec_prefix=$(STAGING_DIR) \
-		bindir=$(STAGING_DIR)/bin \
-		datadir=$(STAGING_DIR)/share \
-		sbindir=$(STAGING_DIR)/sbin \
-		sysconfdir=$(STAGING_DIR)/etc \
-		install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(AVAHI_DIR)/avahi-autoipd install
 	touch -c $(STAGING_DIR)/sbin/avahi-autoipd
 	touch -c $(STAGING_DIR)/sbin/avahi-autoipd
 
 
 $(TARGET_DIR)/usr/sbin/avahi-autoipd: $(STAGING_DIR)/sbin/avahi-autoipd
 $(TARGET_DIR)/usr/sbin/avahi-autoipd: $(STAGING_DIR)/sbin/avahi-autoipd

+ 2 - 1
package/bash/bash.mk

@@ -28,7 +28,7 @@ $(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
 $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
 $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
 	#		bash_cv_have_mbstate_t=yes
 	#		bash_cv_have_mbstate_t=yes
 	(cd $(BASH_DIR); rm -rf config.cache; \
 	(cd $(BASH_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_func_setvbuf_reversed=no \
 		ac_cv_func_setvbuf_reversed=no \
 		./configure \
 		./configure \
@@ -39,6 +39,7 @@ $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 3 - 14
package/berkeleydb/berkeleydb.mk

@@ -30,10 +30,12 @@ $(DB_DIR)/.configured: $(DB_DIR)/.dist
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--with-gnu-ld \
 		--with-gnu-ld \
@@ -53,20 +55,7 @@ $(DB_DIR)/build_unix/.libs/$(DB_SHARLIB): $(DB_DIR)/.configured
 	$(MAKE) CC=$(TARGET_CC) -C $(DB_DIR)/build_unix
 	$(MAKE) CC=$(TARGET_CC) -C $(DB_DIR)/build_unix
 
 
 $(STAGING_DIR)/lib/$(DB_SHARLIB): $(DB_DIR)/build_unix/.libs/$(DB_SHARLIB)
 $(STAGING_DIR)/lib/$(DB_SHARLIB): $(DB_DIR)/build_unix/.libs/$(DB_SHARLIB)
-	$(MAKE) \
-	    prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/lib \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    includedir=$(STAGING_DIR)/include \
-	    -C $(DB_DIR)/build_unix install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(DB_DIR)/build_unix install
 	chmod a-x $(STAGING_DIR)/lib/libdb*so*
 	chmod a-x $(STAGING_DIR)/lib/libdb*so*
 	rm -f $(STAGING_DIR)/bin/db_*
 	rm -f $(STAGING_DIR)/bin/db_*
 	rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/info \
 	rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/info \

+ 3 - 2
package/bind/bind.mk

@@ -36,6 +36,7 @@ $(BIND_DIR2)/Makefile: $(BIND_DIR2)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--libdir=/lib \
 		--libdir=/lib \
 		--includedir=/include \
 		--includedir=/include \
@@ -78,9 +79,9 @@ $(TARGET_DIR)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
 	cd $(STAGING_DIR)/lib; \
 	cd $(STAGING_DIR)/lib; \
 	    cp -a libdns*so* libisc*so* libbind9*so* \
 	    cp -a libdns*so* libisc*so* libbind9*so* \
 	    liblwres*so* $(TARGET_DIR)/lib
 	    liblwres*so* $(TARGET_DIR)/lib
-					
+
 bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
 bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
-				      
+
 bind: uclibc bind-bin bind-lib
 bind: uclibc bind-bin bind-lib
 
 
 bind-clean:
 bind-clean:

+ 1 - 0
package/bison/bison.mk

@@ -33,6 +33,7 @@ $(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/boa/boa.mk

@@ -38,6 +38,7 @@ $(BOA_WORKDIR)/Makefile: $(BOA_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/bridge/bridge.mk

@@ -30,6 +30,7 @@ $(BRIDGE_BUILD_DIR)/.configured: $(BRIDGE_BUILD_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 12 - 23
package/cairo/cairo.mk

@@ -30,7 +30,6 @@ $(CAIRO_DIR)/.unpacked: $(DL_DIR)/$(CAIRO_SOURCE)
 $(CAIRO_DIR)/.configured: $(CAIRO_DIR)/.unpacked
 $(CAIRO_DIR)/.configured: $(CAIRO_DIR)/.unpacked
 	(cd $(CAIRO_DIR); rm -rf config.cache; \
 	(cd $(CAIRO_DIR); rm -rf config.cache; \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(TARGET_CONFIGURE_OPTS) \
-		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
 		ac_cv_c_bigendian=$(CAIRO_BE) \
 		ac_cv_c_bigendian=$(CAIRO_BE) \
 		ac_cv_func_posix_getpwuid_r=yes \
 		ac_cv_func_posix_getpwuid_r=yes \
 		glib_cv_stack_grows=no \
 		glib_cv_stack_grows=no \
@@ -90,25 +89,26 @@ $(CAIRO_DIR)/.configured: $(CAIRO_DIR)/.unpacked
 		gl_cv_c_restrict=no \
 		gl_cv_c_restrict=no \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 		--enable-static \
 		--enable-static \
 		--with-x \
 		--with-x \
-		--x-includes=$(STAGING_DIR)/usr/X11R6/include \
-		--x-libraries=$(STAGING_DIR)/usr/X11R6/lib \
+		--x-includes=$(STAGING_DIR)/include \
+		--x-libraries=$(STAGING_DIR)/lib \
 		--enable-ps=yes \
 		--enable-ps=yes \
 		--enable-pdf=yes \
 		--enable-pdf=yes \
 		--enable-svg=no \
 		--enable-svg=no \
@@ -124,21 +124,10 @@ $(CAIRO_DIR)/src/.libs/$(CAIRO_BINARY): $(CAIRO_DIR)/.configured
 	touch -c $(CAIRO_DIR)/src/.libs/$(CAIRO_BINARY)
 	touch -c $(CAIRO_DIR)/src/.libs/$(CAIRO_BINARY)
 
 
 $(STAGING_DIR)/lib/$(CAIRO_BINARY): $(CAIRO_DIR)/src/.libs/$(CAIRO_BINARY)
 $(STAGING_DIR)/lib/$(CAIRO_BINARY): $(CAIRO_DIR)/src/.libs/$(CAIRO_BINARY)
-	$(MAKE) prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    sharedstatedir=$(STAGING_DIR)/com \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    includedir=$(STAGING_DIR)/include \
-	    oldincludedir=$(STAGING_DIR)/include \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    -C $(CAIRO_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(CAIRO_DIR) install;
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libcairo.la
+	$(SED) "s, x11 ,,g" $(STAGING_DIR)/lib/pkgconfig/cairo.pc
+	$(SED) "s, x11 ,,g" $(STAGING_DIR)/lib/pkgconfig/cairo-xlib.pc
 	touch -c $(STAGING_DIR)/lib/$(CAIRO_BINARY)
 	touch -c $(STAGING_DIR)/lib/$(CAIRO_BINARY)
 
 
 $(TARGET_DIR)/lib/libcairo.so.2.9.3: $(STAGING_DIR)/lib/$(CAIRO_BINARY)
 $(TARGET_DIR)/lib/libcairo.so.2.9.3: $(STAGING_DIR)/lib/$(CAIRO_BINARY)

+ 77 - 0
package/cairo/libdir-la.patch

@@ -0,0 +1,77 @@
+--- cairo/ltmain.sh.orig	2004-11-23 09:19:19.000000000 -0700
++++ cairo/ltmain.sh	2007-01-13 14:36:53.000000000 -0700
+@@ -231,8 +231,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2279,8 +2280,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	else
+ 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+@@ -2754,6 +2761,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5141,6 +5158,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5459,10 +5480,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 1 - 0
package/coreutils/coreutils.mk

@@ -90,6 +90,7 @@ $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/cvs/cvs.mk

@@ -22,7 +22,7 @@ $(CVS_DIR)/.unpacked: $(DL_DIR)/$(CVS_SOURCE)
 
 
 $(CVS_DIR)/.configured: $(CVS_DIR)/.unpacked
 $(CVS_DIR)/.configured: $(CVS_DIR)/.unpacked
 	(cd $(CVS_DIR); rm -rf config.cache; \
 	(cd $(CVS_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		cvs_cv_func_printf_ptr=yes \
 		cvs_cv_func_printf_ptr=yes \
 		./configure \
 		./configure \

+ 1 - 0
package/diffutils/diffutils.mk

@@ -86,6 +86,7 @@ $(DIFFUTILS_DIR)/.configured: $(DIFFUTILS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 27 - 16
package/directfb/directfb.mk

@@ -27,21 +27,32 @@ $(DIRECTFB_DIR)/.configured: $(DIRECTFB_DIR)/.unpacked
 	ac_cv_header_linux_wm97xx_h=no \
 	ac_cv_header_linux_wm97xx_h=no \
 	ac_cv_header_linux_sisfb_h=no \
 	ac_cv_header_linux_sisfb_h=no \
 	./configure \
 	./configure \
-	--target=$(GNU_TARGET_NAME) \
-	--host=$(GNU_TARGET_NAME) \
-	--build=$(GNU_HOST_NAME) \
-	--prefix=/usr \
-	--with-gfxdrivers=cle266,unichrome \
-	--enable-jpeg \
-	--enable-png \
-	--enable-linux-input \
-	--enable-zlib \
-	--enable-freetype \
-	--enable-sysfs \
-	--disable-sdl \
-	--disable-video4linux \
-	--disable-video4linux2 \
-	--disable-fusion );
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/usr/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
+		--with-gfxdrivers=cle266,unichrome \
+		--enable-jpeg \
+		--enable-png \
+		--enable-linux-input \
+		--enable-zlib \
+		--enable-freetype \
+		--enable-sysfs \
+		--disable-sdl \
+		--disable-video4linux \
+		--disable-video4linux2 \
+		--disable-fusion );
 	touch $(DIRECTFB_DIR)/.configured
 	touch $(DIRECTFB_DIR)/.configured
 
 
 $(DIRECTFB_DIR)/.compiled: $(DIRECTFB_DIR)/.configured
 $(DIRECTFB_DIR)/.compiled: $(DIRECTFB_DIR)/.configured
@@ -49,7 +60,7 @@ $(DIRECTFB_DIR)/.compiled: $(DIRECTFB_DIR)/.configured
 	touch $(DIRECTFB_DIR)/.compiled
 	touch $(DIRECTFB_DIR)/.compiled
 
 
 $(STAGING_DIR)/usr/lib/libdirectfb.so: $(DIRECTFB_DIR)/.compiled
 $(STAGING_DIR)/usr/lib/libdirectfb.so: $(DIRECTFB_DIR)/.compiled
-	$(MAKE) -C $(DIRECTFB_DIR) install prefix=$(STAGING_DIR)/usr exec_prefix=$(STAGING_DIR)/usr
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(DIRECTFB_DIR) install
 	touch -c $(STAGING_DIR)/lib/libdirectfb.so
 	touch -c $(STAGING_DIR)/lib/libdirectfb.so
 
 
 $(TARGET_DIR)/usr/lib/libdirectfb.so: $(STAGING_DIR)/usr/lib/libdirectfb.so
 $(TARGET_DIR)/usr/lib/libdirectfb.so: $(STAGING_DIR)/usr/lib/libdirectfb.so

+ 2 - 1
package/distcc/distcc.mk

@@ -22,7 +22,7 @@ $(DISTCC_DIR)/.unpacked: $(DL_DIR)/$(DISTCC_SOURCE)
 
 
 $(DISTCC_DIR)/.configured: $(DISTCC_DIR)/.unpacked
 $(DISTCC_DIR)/.configured: $(DISTCC_DIR)/.unpacked
 	(cd $(DISTCC_DIR); rm -rf config.cache; \
 	(cd $(DISTCC_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
@@ -31,6 +31,7 @@ $(DISTCC_DIR)/.configured: $(DISTCC_DIR)/.unpacked
 		--prefix=/usr \
 		--prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 13 - 2
package/dm/dm.mk

@@ -62,6 +62,17 @@ $(DM_DIR)/.configured: $(DM_DIR)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		$(DISABLE_NLS) \
 		$(DISABLE_NLS) \
 		$(DISABLE_LARGEFILE) \
 		$(DISABLE_LARGEFILE) \
 		--with-user=$(shell id -un) --with-group=$(shell id -gn) \
 		--with-user=$(shell id -un) --with-group=$(shell id -gn) \
@@ -72,8 +83,8 @@ $(DM_DIR)/$(DM_BINARY): dm-build
 $(DM_DIR)/$(DM_LIBRARY): dm-build
 $(DM_DIR)/$(DM_LIBRARY): dm-build
 
 
 $(DM_STAGING_BINARY) $(DM_STAGING_LIBRARY): $(DM_DIR)/.configured
 $(DM_STAGING_BINARY) $(DM_STAGING_LIBRARY): $(DM_DIR)/.configured
-	$(MAKE) CC=$(TARGET_CC) DESTDIR=$(STAGING_DIR) -C $(DM_DIR)
-	$(MAKE) -C $(DM_DIR) install prefix=$(STAGING_DIR)
+	$(MAKE) CC=$(TARGET_CC) -C $(DM_DIR)
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(DM_DIR) install
 
 
 # Install dmsetup from staging to target
 # Install dmsetup from staging to target
 $(DM_TARGET_BINARY): $(DM_STAGING_BINARY)
 $(DM_TARGET_BINARY): $(DM_STAGING_BINARY)

+ 12 - 6
package/dmalloc/dmalloc.mk

@@ -34,6 +34,17 @@ $(DMALLOC_DIR)/.configured: $(DMALLOC_DIR)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--enable-threads \
 		--enable-threads \
 		--enable-shlib \
 		--enable-shlib \
 	);
 	);
@@ -43,12 +54,7 @@ $(DMALLOC_DIR)/$(DMALLOC_BINARY): $(DMALLOC_DIR)/.configured
 	$(MAKE) -C $(DMALLOC_DIR)
 	$(MAKE) -C $(DMALLOC_DIR)
 
 
 $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY): $(DMALLOC_DIR)/$(DMALLOC_BINARY)
 $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY): $(DMALLOC_DIR)/$(DMALLOC_BINARY)
-	$(MAKE)	prefix=$(STAGING_DIR)/usr \
-		exec_prefix=$(TARGET_DIR)/usr \
-		libdir=$(STAGING_DIR)/usr/lib \
-		shlibdir=$(TARGET_DIR)/usr/lib \
-		includedir=$(STAGING_DIR)/include \
-		-C $(DMALLOC_DIR) install
+	$(MAKE)	DESTDIR=$(STAGING_DIR) -C $(DMALLOC_DIR) install
 	(cd $(STAGING_DIR)/usr/lib; \
 	(cd $(STAGING_DIR)/usr/lib; \
 		mv libdmalloc*.so $(TARGET_DIR)/usr/lib);
 		mv libdmalloc*.so $(TARGET_DIR)/usr/lib);
 	touch $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY)
 	touch $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY)

+ 1 - 0
package/dropbear/dropbear.mk

@@ -35,6 +35,7 @@ $(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/e2fsprogs/e2fsprogs.mk

@@ -39,6 +39,7 @@ $(E2FSPROGS_DIR)/.configured: $(E2FSPROGS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/bin \
 		--bindir=/bin \
 		--sbindir=/sbin \
 		--sbindir=/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 8 - 6
package/expat/expat.mk

@@ -29,13 +29,15 @@ $(EXPAT_DIR)/.configured: $(EXPAT_DIR)/.unpacked
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
-		--bindir=$(STAGING_DIR)/usr/bin \
-		--sbindir=$(STAGING_DIR)/usr/sbin \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
-		--mandir=$(STAGING_DIR)/man \
+		--includedir=/include \
+		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 	);
 	);
@@ -46,8 +48,8 @@ $(EXPAT_DIR)/.libs/libexpat.a: $(EXPAT_DIR)/.configured
 	touch -c $(EXPAT_DIR)/.libs/libexpat.a
 	touch -c $(EXPAT_DIR)/.libs/libexpat.a
 
 
 $(STAGING_DIR)/lib/libexpat.so.1: $(EXPAT_DIR)/.libs/libexpat.a
 $(STAGING_DIR)/lib/libexpat.so.1: $(EXPAT_DIR)/.libs/libexpat.a
-	$(MAKE) -C $(EXPAT_DIR) prefix=$(STAGING_DIR) \
-		exec_prefix=$(STAGING_DIR) mandir=$(STAGING_DIR)/man install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(EXPAT_DIR) install
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libexpat.la
 	touch -c $(STAGING_DIR)/lib/libexpat.so.1
 	touch -c $(STAGING_DIR)/lib/libexpat.so.1
 
 
 $(TARGET_DIR)/lib/libexpat.so.1: $(STAGING_DIR)/lib/libexpat.so.1
 $(TARGET_DIR)/lib/libexpat.so.1: $(STAGING_DIR)/lib/libexpat.so.1
@@ -56,7 +58,7 @@ $(TARGET_DIR)/lib/libexpat.so.1: $(STAGING_DIR)/lib/libexpat.so.1
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libexpat.so.0.5.0
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libexpat.so.0.5.0
 	touch -c $(TARGET_DIR)/lib/libexpat.so.1
 	touch -c $(TARGET_DIR)/lib/libexpat.so.1
 
 
-expat: uclibc $(TARGET_DIR)/lib/libexpat.so.1
+expat: uclibc pkgconfig $(TARGET_DIR)/lib/libexpat.so.1
 
 
 expat-clean:
 expat-clean:
 	rm -f $(EXPAT_DIR)/.configured
 	rm -f $(EXPAT_DIR)/.configured

+ 77 - 0
package/expat/libdir-la.patch

@@ -0,0 +1,77 @@
+--- expat-2.0.0/conftools/ltmain.sh.orig	2007-01-13 14:39:51.000000000 -0700
++++ expat-2.0.0/conftools/ltmain.sh	2007-01-13 14:39:56.000000000 -0700
+@@ -273,8 +273,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2404,8 +2405,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2886,6 +2893,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5598,6 +5615,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5919,10 +5940,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 1 - 0
package/file/file.mk

@@ -69,6 +69,7 @@ $(FILE_DIR2)/.configured: $(FILE_SOURCE_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share/misc \
 		--datadir=/usr/share/misc \

+ 1 - 0
package/findutils/findutils.mk

@@ -35,6 +35,7 @@ $(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib/locate \
 		--libexecdir=/usr/lib/locate \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/flex/flex.mk

@@ -36,6 +36,7 @@ $(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 27 - 8
package/freetype/freetype.mk

@@ -3,7 +3,7 @@
 # freetype
 # freetype
 #
 #
 #############################################################
 #############################################################
-FREETYPE_VERSION:=2.1.9
+FREETYPE_VERSION:=2.2.1
 FREETYPE_SOURCE:=freetype-$(FREETYPE_VERSION).tar.bz2
 FREETYPE_SOURCE:=freetype-$(FREETYPE_VERSION).tar.bz2
 FREETYPE_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/freetype
 FREETYPE_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/freetype
 FREETYPE_CAT:=$(BZCAT)
 FREETYPE_CAT:=$(BZCAT)
@@ -22,26 +22,45 @@ $(FREETYPE_DIR)/.configured: $(FREETYPE_DIR)/.unpacked
 	(cd $(FREETYPE_DIR); \
 	(cd $(FREETYPE_DIR); \
 	$(TARGET_CONFIGURE_OPTS) \
 	$(TARGET_CONFIGURE_OPTS) \
 	CFLAGS="$(TARGET_CFLAGS) " \
 	CFLAGS="$(TARGET_CFLAGS) " \
+	CCexe="$(HOSTCC)" \
 	./configure \
 	./configure \
-	--target=$(GNU_TARGET_NAME) \
-	--host=$(GNU_TARGET_NAME) \
-	--build=$(GNU_HOST_NAME) \
-	--prefix=$(STAGING_DIR) );
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
+	);
 	touch $(FREETYPE_DIR)/.configured
 	touch $(FREETYPE_DIR)/.configured
 
 
 $(FREETYPE_DIR)/.compiled: $(FREETYPE_DIR)/.configured
 $(FREETYPE_DIR)/.compiled: $(FREETYPE_DIR)/.configured
-	$(MAKE) -C $(FREETYPE_DIR) 
+	$(MAKE) CCexe="$(HOSTCC)" -C $(FREETYPE_DIR)
 	touch $(FREETYPE_DIR)/.compiled
 	touch $(FREETYPE_DIR)/.compiled
 
 
 $(STAGING_DIR)/lib/libfreetype.so: $(FREETYPE_DIR)/.compiled
 $(STAGING_DIR)/lib/libfreetype.so: $(FREETYPE_DIR)/.compiled
-	$(MAKE) -C $(FREETYPE_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(FREETYPE_DIR) install
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libfreetype.la
+	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)\',g" \
+		-e "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" \
+		-e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/include\',g" \
+		"s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" \
+		$(STAGING_DIR)/usr/bin/freetype-config
 	touch -c $(STAGING_DIR)/lib/libfreetype.so
 	touch -c $(STAGING_DIR)/lib/libfreetype.so
 
 
 $(TARGET_DIR)/lib/libfreetype.so: $(STAGING_DIR)/lib/libfreetype.so
 $(TARGET_DIR)/lib/libfreetype.so: $(STAGING_DIR)/lib/libfreetype.so
 	cp -dpf $(STAGING_DIR)/lib/libfreetype.so* $(TARGET_DIR)/lib/
 	cp -dpf $(STAGING_DIR)/lib/libfreetype.so* $(TARGET_DIR)/lib/
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libfreetype.so
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libfreetype.so
 
 
-freetype: uclibc $(TARGET_DIR)/lib/libfreetype.so
+freetype: uclibc pkgconfig $(TARGET_DIR)/lib/libfreetype.so
 
 
 freetype-clean:
 freetype-clean:
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FREETYPE_DIR) uninstall
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FREETYPE_DIR) uninstall

+ 77 - 0
package/freetype/libdir-la.patch

@@ -0,0 +1,77 @@
+--- freetype-2.2.1/builds/unix/ltmain.sh.orig	2006-04-20 08:27:27.000000000 -0600
++++ freetype-2.2.1/builds/unix/ltmain.sh	2007-01-13 14:26:01.000000000 -0700
+@@ -273,8 +273,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2404,8 +2405,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2886,6 +2893,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5598,6 +5615,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5919,10 +5940,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 1 - 0
package/gawk/gawk.mk

@@ -34,6 +34,7 @@ $(GAWK_DIR)/.configured: $(GAWK_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 26 - 10
package/gettext/gettext.mk

@@ -82,10 +82,18 @@ $(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/bin \
+		--sbindir=/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--disable-libasprintf \
 		--disable-libasprintf \
 	);
 	);
 	touch $(GETTEXT_DIR)/.configured
 	touch $(GETTEXT_DIR)/.configured
@@ -95,9 +103,17 @@ $(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
 	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 
 
 $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) -C $(GETTEXT_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install
+	$(SED) 's,/lib/,$(STAGING_DIR)/lib/,g' $(STAGING_DIR)/lib/libgettextlib.la
+	$(SED) 's,/lib/,$(STAGING_DIR)/lib/,g' $(STAGING_DIR)/lib/libgettextpo.la
+	$(SED) 's,/lib/,$(STAGING_DIR)/lib/,g' $(STAGING_DIR)/lib/libgettextsrc.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgettextlib.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgettextpo.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgettextsrc.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libintl.la
+	touch -c $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
 
 
-gettext: uclibc $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
+gettext: uclibc pkgconfig $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
 
 
 gettext-clean:
 gettext-clean:
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GETTEXT_DIR) uninstall
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GETTEXT_DIR) uninstall
@@ -114,17 +130,17 @@ gettext-dirclean:
 
 
 gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GETTEXT_DIR) install
 	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GETTEXT_DIR) install
-	chmod +x $(TARGET_DIR)/usr/lib/libintl.so.3.4.3 # identify as needing to be stipped
+	chmod +x $(TARGET_DIR)/lib/libintl.so.3.4.3 # identify as needing to be stipped
 	rm -rf  $(TARGET_DIR)/usr/info \
 	rm -rf  $(TARGET_DIR)/usr/info \
 		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \
 		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \
 		$(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/aclocal \
 		$(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/aclocal \
 		$(TARGET_DIR)/usr/include/libintl.h
 		$(TARGET_DIR)/usr/include/libintl.h
 	-rmdir $(TARGET_DIR)/usr/include
 	-rmdir $(TARGET_DIR)/usr/include
 
 
-libintl: $(TARGET_DIR)/usr/lib/libintl.so
+libintl: $(TARGET_DIR)/lib/libintl.so
 
 
-$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -a $(STAGING_DIR)/usr/lib/libintl.so* $(TARGET_DIR)/usr/lib
+$(TARGET_DIR)/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
+	cp -a $(STAGING_DIR)/lib/libintl.so* $(TARGET_DIR)/lib
 	touch $@
 	touch $@
 
 
 #############################################################
 #############################################################

+ 154 - 0
package/gettext/libdir-la.patch

@@ -0,0 +1,154 @@
+--- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
++++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
+@@ -234,8 +234,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2324,8 +2325,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2800,6 +2807,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5210,6 +5227,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5528,10 +5549,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.
+--- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
++++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
+@@ -234,8 +234,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2324,8 +2325,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2800,6 +2807,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5210,6 +5227,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5528,10 +5549,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 15 - 12
package/gmp/gmp.mk

@@ -31,22 +31,22 @@ $(GMP_DIR)/.unpacked: $(DL_DIR)/$(GMP_SOURCE)
 $(GMP_DIR)/.configured: $(GMP_DIR)/.unpacked
 $(GMP_DIR)/.configured: $(GMP_DIR)/.unpacked
 	(cd $(GMP_DIR); rm -rf config.cache; \
 	(cd $(GMP_DIR); rm -rf config.cache; \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(TARGET_CONFIGURE_OPTS) \
-		CC_FOR_BUILD="$(HOSTCC)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_c_bigendian=$(GMP_BE) \
 		ac_cv_c_bigendian=$(GMP_BE) \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -62,7 +62,7 @@ $(STAGING_DIR)/lib/$(GMP_BINARY): $(GMP_DIR)/.libs/$(GMP_BINARY)
 	    exec_prefix=$(STAGING_DIR) \
 	    exec_prefix=$(STAGING_DIR) \
 	    bindir=$(STAGING_DIR)/bin \
 	    bindir=$(STAGING_DIR)/bin \
 	    sbindir=$(STAGING_DIR)/sbin \
 	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
+	    libexecdir=$(STAGING_DIR)/bin \
 	    datadir=$(STAGING_DIR)/share \
 	    datadir=$(STAGING_DIR)/share \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sharedstatedir=$(STAGING_DIR)/com \
 	    sharedstatedir=$(STAGING_DIR)/com \
@@ -72,7 +72,7 @@ $(STAGING_DIR)/lib/$(GMP_BINARY): $(GMP_DIR)/.libs/$(GMP_BINARY)
 	    oldincludedir=$(STAGING_DIR)/include \
 	    oldincludedir=$(STAGING_DIR)/include \
 	    infodir=$(STAGING_DIR)/info \
 	    infodir=$(STAGING_DIR)/info \
 	    mandir=$(STAGING_DIR)/man \
 	    mandir=$(STAGING_DIR)/man \
-	    -C $(GMP_DIR) install;
+            -C $(GMP_DIR) install
 
 
 $(TARGET_DIR)/lib/libgmp.so.$(GMP_LIBVERSION): $(STAGING_DIR)/lib/$(GMP_BINARY)
 $(TARGET_DIR)/lib/libgmp.so.$(GMP_LIBVERSION): $(STAGING_DIR)/lib/$(GMP_BINARY)
 	cp -a $(STAGING_DIR)/lib/libgmp.so* $(STAGING_DIR)/lib/libgmp.a \
 	cp -a $(STAGING_DIR)/lib/libgmp.so* $(STAGING_DIR)/lib/libgmp.a \
@@ -103,16 +103,19 @@ $(GMP_DIR2)/.configured: $(GMP_DIR)/.unpacked
 		CC="$(HOSTCC)" \
 		CC="$(HOSTCC)" \
 		CFLAGS="$(HOST_CFLAGS)" \
 		CFLAGS="$(HOST_CFLAGS)" \
 		$(GMP_DIR)/configure \
 		$(GMP_DIR)/configure \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/usr/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \

+ 1 - 0
package/grep/grep.mk

@@ -35,6 +35,7 @@ $(GNUGREP_DIR)/.configured: $(GNUGREP_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/gzip/gzip.mk

@@ -33,6 +33,7 @@ $(GZIP_DIR)/.configured: $(GZIP_DIR)/.unpacked
 		--exec-prefix=/ \
 		--exec-prefix=/ \
 		--bindir=/bin \
 		--bindir=/bin \
 		--sbindir=/bin \
 		--sbindir=/bin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share/misc \
 		--datadir=/usr/share/misc \

+ 13 - 2
package/jpeg/jpeg.mk

@@ -43,7 +43,18 @@ $(JPEG_DIR)/.configured: $(JPEG_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 		--enable-static \
 		--enable-static \
 		--without-x \
 		--without-x \
@@ -55,7 +66,7 @@ $(JPEG_DIR)/.libs/libjpeg.a: $(JPEG_DIR)/.configured
 	touch -c $(JPEG_DIR)/.libs/libjpeg.a
 	touch -c $(JPEG_DIR)/.libs/libjpeg.a
 
 
 $(STAGING_DIR)/lib/libjpeg.a: $(JPEG_DIR)/.libs/libjpeg.a
 $(STAGING_DIR)/lib/libjpeg.a: $(JPEG_DIR)/.libs/libjpeg.a
-	$(MAKE) -C $(JPEG_DIR) install-headers install-lib
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(JPEG_DIR) install-headers install-lib
 	rm $(STAGING_DIR)/lib/libjpeg.la
 	rm $(STAGING_DIR)/lib/libjpeg.la
 	touch -c $(STAGING_DIR)/lib/libjpeg.a
 	touch -c $(STAGING_DIR)/lib/libjpeg.a
 
 

+ 1 - 1
package/kexec/kexec.mk

@@ -42,7 +42,7 @@ endif
 
 
 $(KEXEC_DIR)/.configured: $(KEXEC_DIR)/.unpacked
 $(KEXEC_DIR)/.configured: $(KEXEC_DIR)/.unpacked
 	(cd $(KEXEC_DIR); rm -rf config.cache; \
 	(cd $(KEXEC_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \

+ 12 - 2
package/libcgi/libcgi.mk

@@ -26,8 +26,18 @@ $(LIBCGI_DIR)/.configured: $(LIBCGI_DIR)/.source
 			--target=$(GNU_TARGET_NAME) \
 			--target=$(GNU_TARGET_NAME) \
 			--host=$(GNU_TARGET_NAME) \
 			--host=$(GNU_TARGET_NAME) \
 			--build=$(GNU_HOST_NAME) \
 			--build=$(GNU_HOST_NAME) \
-			--prefix=$(STAGING_DIR) \
+			--prefix=/usr \
+			--exec-prefix=/usr \
+			--bindir=/usr/bin \
+			--sbindir=/usr/sbin \
+			--libdir=/lib \
+			--libexecdir=/usr/lib \
 			--sysconfdir=/etc \
 			--sysconfdir=/etc \
+			--datadir=/usr/share \
+			--localstatedir=/var \
+			--includedir=/include \
+			--mandir=/usr/man \
+			--infodir=/usr/info \
 	);
 	);
 	touch $(LIBCGI_DIR)/.configured;
 	touch $(LIBCGI_DIR)/.configured;
 
 
@@ -35,7 +45,7 @@ $(LIBCGI_DIR)/$(LIBCGI_LIBRARY): $(LIBCGI_DIR)/.configured
 	$(MAKE) CC=$(TARGET_CC) -C $(LIBCGI_DIR)
 	$(MAKE) CC=$(TARGET_CC) -C $(LIBCGI_DIR)
 
 
 $(STAGING_DIR)/lib/libcgi.so: $(LIBCGI_DIR)/$(LIBCGI_LIBRARY)
 $(STAGING_DIR)/lib/libcgi.so: $(LIBCGI_DIR)/$(LIBCGI_LIBRARY)
-	$(MAKE) -C $(LIBCGI_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBCGI_DIR) install
 	touch -c $(STAGING_DIR)/lib/libcgi.so
 	touch -c $(STAGING_DIR)/lib/libcgi.so
 
 
 $(TARGET_DIR)/$(LIBCGI_TARGET_LIBRARY): $(STAGING_DIR)/lib/libcgi.so
 $(TARGET_DIR)/$(LIBCGI_TARGET_LIBRARY): $(STAGING_DIR)/lib/libcgi.so

+ 13 - 2
package/libcgicc/libcgicc.mk

@@ -27,7 +27,18 @@ $(LIBCGICC_DIR)/.configured: $(LIBCGICC_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 	);
 	);
 	touch $(LIBCGICC_DIR)/.configured
 	touch $(LIBCGICC_DIR)/.configured
 
 
@@ -36,7 +47,7 @@ $(LIBCGICC_DIR)/.compiled: $(LIBCGICC_DIR)/.configured
 	touch $(LIBCGICC_DIR)/.compiled
 	touch $(LIBCGICC_DIR)/.compiled
 
 
 $(STAGING_DIR)/lib/libcgicc.so: $(LIBCGICC_DIR)/.compiled
 $(STAGING_DIR)/lib/libcgicc.so: $(LIBCGICC_DIR)/.compiled
-	$(MAKE) -C $(LIBCGICC_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBCGICC_DIR) install
 	touch -c $(STAGING_DIR)/lib/libcgicc.so
 	touch -c $(STAGING_DIR)/lib/libcgicc.so
 
 
 $(TARGET_DIR)/usr/lib/libcgicc.so: $(STAGING_DIR)/lib/libcgicc.so
 $(TARGET_DIR)/usr/lib/libcgicc.so: $(STAGING_DIR)/lib/libcgicc.so

+ 4 - 9
package/libdaemon/libdaemon.mk

@@ -41,13 +41,14 @@ $(LIBDAEMON_DIR)/.configured: $(LIBDAEMON_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
-		--libexecdir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
-		--includedir=$(STAGING_DIR)/include \
 		$(DISABLE_NLS) \
 		$(DISABLE_NLS) \
 		$(DISABLE_LARGEFILE) \
 		$(DISABLE_LARGEFILE) \
 		--disable-lynx \
 		--disable-lynx \
@@ -60,13 +61,7 @@ $(LIBDAEMON_DIR)/.compiled: $(LIBDAEMON_DIR)/.configured
 	touch $(LIBDAEMON_DIR)/.compiled
 	touch $(LIBDAEMON_DIR)/.compiled
 
 
 $(STAGING_DIR)/lib/libdaemon.a: $(LIBDAEMON_DIR)/.compiled
 $(STAGING_DIR)/lib/libdaemon.a: $(LIBDAEMON_DIR)/.compiled
-	$(MAKE) \
-		-C $(LIBDAEMON_DIR) \
-		prefix=$(STAGING_DIR) \
-		exec_prefix=$(STAGING_DIR) \
-		bindir=$(STAGING_DIR)/bin \
-		datadir=$(STAGING_DIR)/share \
-		install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBDAEMON_DIR) install
 	touch -c $(STAGING_DIR)/lib/libdaemon.a
 	touch -c $(STAGING_DIR)/lib/libdaemon.a
 
 
 #$(TARGET_DIR)/usr/lib/libdaemon.a: $(STAGING_DIR)/lib/libdaemon.a
 #$(TARGET_DIR)/usr/lib/libdaemon.a: $(STAGING_DIR)/lib/libdaemon.a

+ 7 - 6
package/libglib12/libglib12.mk

@@ -31,18 +31,19 @@ $(LIBGLIB12_DIR)/.configured: $(LIBGLIB12_DIR)/.unpacked
 		$(TARGET_CONFIGURE_OPTS) \
 		$(TARGET_CONFIGURE_OPTS) \
 		ac_cv_c_bigendian=$(LIBGLIB12_BE) \
 		ac_cv_c_bigendian=$(LIBGLIB12_BE) \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -58,7 +59,7 @@ $(STAGING_DIR)/lib/$(LIBGLIB12_BINARY): $(LIBGLIB12_DIR)/.libs/$(LIBGLIB12_BINAR
 	    exec_prefix=$(STAGING_DIR) \
 	    exec_prefix=$(STAGING_DIR) \
 	    bindir=$(STAGING_DIR)/bin \
 	    bindir=$(STAGING_DIR)/bin \
 	    sbindir=$(STAGING_DIR)/sbin \
 	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
+	    libexecdir=$(STAGING_DIR)/bin \
 	    datadir=$(STAGING_DIR)/share \
 	    datadir=$(STAGING_DIR)/share \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sharedstatedir=$(STAGING_DIR)/com \
 	    sharedstatedir=$(STAGING_DIR)/com \

+ 77 - 0
package/libglib2/libdir-la.patch

@@ -0,0 +1,77 @@
+--- glib/ltmain.sh.orig	2006-07-13 01:12:13.000000000 -0600
++++ glib/ltmain.sh	2007-01-13 13:59:13.000000000 -0700
+@@ -283,8 +283,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2434,8 +2435,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2918,6 +2925,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5641,6 +5658,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5962,10 +5983,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 11 - 20
package/libglib2/libglib2.mk

@@ -90,18 +90,19 @@ $(LIBGLIB2_DIR)/.configured: $(LIBGLIB2_DIR)/.unpacked
 		gl_cv_c_restrict=no \
 		gl_cv_c_restrict=no \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -115,21 +116,11 @@ $(LIBGLIB2_DIR)/glib/.libs/$(LIBGLIB2_BINARY): $(LIBGLIB2_DIR)/.configured
 	touch -c $(LIBGLIB2_DIR)/glib/.libs/$(LIBGLIB2_BINARY)
 	touch -c $(LIBGLIB2_DIR)/glib/.libs/$(LIBGLIB2_BINARY)
 
 
 $(STAGING_DIR)/lib/$(LIBGLIB2_BINARY): $(LIBGLIB2_DIR)/glib/.libs/$(LIBGLIB2_BINARY)
 $(STAGING_DIR)/lib/$(LIBGLIB2_BINARY): $(LIBGLIB2_DIR)/glib/.libs/$(LIBGLIB2_BINARY)
-	$(MAKE) prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    sharedstatedir=$(STAGING_DIR)/com \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    includedir=$(STAGING_DIR)/include \
-	    oldincludedir=$(STAGING_DIR)/include \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    -C $(LIBGLIB2_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBGLIB2_DIR) install;
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libglib-2.0.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgmodule-2.0.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgobject-2.0.la
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libgthread-2.0.la
 
 
 $(TARGET_DIR)/lib/libglib-2.0.so.0.1200.6: $(STAGING_DIR)/lib/$(LIBGLIB2_BINARY)
 $(TARGET_DIR)/lib/libglib-2.0.so.0.1200.6: $(STAGING_DIR)/lib/$(LIBGLIB2_BINARY)
 	cp -a $(STAGING_DIR)/lib/libglib-2.0.so $(TARGET_DIR)/lib/
 	cp -a $(STAGING_DIR)/lib/libglib-2.0.so $(TARGET_DIR)/lib/

+ 7 - 6
package/libgtk12/libgtk12.mk

@@ -27,18 +27,19 @@ $(LIBGTK12_DIR)/.configured: $(LIBGTK12_DIR)/.unpacked
 		GLIB_CONFIG=$(STAGING_DIR)/bin/glib-config \
 		GLIB_CONFIG=$(STAGING_DIR)/bin/glib-config \
 		ac_cv_func_mmap_fixed_mapped=yes \
 		ac_cv_func_mmap_fixed_mapped=yes \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		$(DISABLE_NLS) \
 		$(DISABLE_NLS) \
@@ -60,7 +61,7 @@ $(STAGING_DIR)/lib/$(LIBGTK12_BINARY): $(LIBGTK12_DIR)/gtk/.libs/$(LIBGTK12_BINA
 	    exec_prefix=$(STAGING_DIR) \
 	    exec_prefix=$(STAGING_DIR) \
 	    bindir=$(STAGING_DIR)/bin \
 	    bindir=$(STAGING_DIR)/bin \
 	    sbindir=$(STAGING_DIR)/sbin \
 	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
+	    libexecdir=$(STAGING_DIR)/bin \
 	    datadir=$(STAGING_DIR)/share \
 	    datadir=$(STAGING_DIR)/share \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sharedstatedir=$(STAGING_DIR)/com \
 	    sharedstatedir=$(STAGING_DIR)/com \

+ 77 - 0
package/libgtk2/libdir-la.patch

@@ -0,0 +1,77 @@
+--- gtk/ltmain.sh.orig	2004-11-23 09:19:19.000000000 -0700
++++ gtk/ltmain.sh	2007-01-13 14:36:53.000000000 -0700
+@@ -231,8 +231,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2279,8 +2280,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	else
+ 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+@@ -2754,6 +2761,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5141,6 +5158,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5459,10 +5480,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 7 - 7
package/libgtk2/libgtk2.mk

@@ -25,7 +25,6 @@ $(LIBGTK2_DIR)/.unpacked: $(DL_DIR)/$(LIBGTK2_SOURCE)
 $(LIBGTK2_DIR)/.configured: $(LIBGTK2_DIR)/.unpacked
 $(LIBGTK2_DIR)/.configured: $(LIBGTK2_DIR)/.unpacked
 	(cd $(LIBGTK2_DIR); rm -rf config.cache; \
 	(cd $(LIBGTK2_DIR); rm -rf config.cache; \
 		$(TARGET_CONFIGURE_OPTS) \
 		$(TARGET_CONFIGURE_OPTS) \
-		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
 		GLIB_CONFIG=$(STAGING_DIR)/bin/glib-config \
 		GLIB_CONFIG=$(STAGING_DIR)/bin/glib-config \
 		ac_cv_func_mmap_fixed_mapped=yes \
 		ac_cv_func_mmap_fixed_mapped=yes \
 		ac_cv_func_posix_getpwuid_r=yes \
 		ac_cv_func_posix_getpwuid_r=yes \
@@ -87,18 +86,19 @@ $(LIBGTK2_DIR)/.configured: $(LIBGTK2_DIR)/.unpacked
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_CUPS_CONFIG=no \
 		ac_cv_path_CUPS_CONFIG=no \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -124,7 +124,7 @@ $(STAGING_DIR)/lib/$(LIBGTK2_BINARY): $(LIBGTK2_DIR)/gtk/.libs/$(LIBGTK2_BINARY)
 	    exec_prefix=$(STAGING_DIR) \
 	    exec_prefix=$(STAGING_DIR) \
 	    bindir=$(STAGING_DIR)/bin \
 	    bindir=$(STAGING_DIR)/bin \
 	    sbindir=$(STAGING_DIR)/sbin \
 	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
+	    libexecdir=$(STAGING_DIR)/bin \
 	    datadir=$(STAGING_DIR)/share \
 	    datadir=$(STAGING_DIR)/share \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sharedstatedir=$(STAGING_DIR)/com \
 	    sharedstatedir=$(STAGING_DIR)/com \

+ 14 - 9
package/libpcap/libpcap.mk

@@ -48,6 +48,18 @@ $(LIBPCAP_DIR)/.configured: $(LIBPCAP_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--with-build-cc="$(HOSTCC)" \
 		--with-build-cc="$(HOSTCC)" \
 		--disable-yydebug \
 		--disable-yydebug \
 		--prefix=/usr \
 		--prefix=/usr \
@@ -56,19 +68,12 @@ $(LIBPCAP_DIR)/.configured: $(LIBPCAP_DIR)/.unpacked
 	touch $(LIBPCAP_DIR)/.configured
 	touch $(LIBPCAP_DIR)/.configured
 
 
 $(LIBPCAP_DIR)/libpcap.a: $(LIBPCAP_DIR)/.configured
 $(LIBPCAP_DIR)/libpcap.a: $(LIBPCAP_DIR)/.configured
-	$(MAKE) \
-		CC="$(TARGET_CC)" \
+	$(MAKE) CC="$(TARGET_CC)" \
 		AR="$(TARGET_CROSS)ar" \
 		AR="$(TARGET_CROSS)ar" \
 		-C $(LIBPCAP_DIR)
 		-C $(LIBPCAP_DIR)
 
 
 $(STAGING_DIR)/lib/libpcap.a: $(LIBPCAP_DIR)/libpcap.a
 $(STAGING_DIR)/lib/libpcap.a: $(LIBPCAP_DIR)/libpcap.a
-	$(MAKE) \
-		-C $(LIBPCAP_DIR) \
-		prefix=$(STAGING_DIR) \
-		exec_prefix=$(STAGING_DIR) \
-		bindir=$(STAGING_DIR)/bin \
-		datadir=$(STAGING_DIR)/share \
-		install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBPCAP_DIR) install
 
 
 libpcap: uclibc zlib $(STAGING_DIR)/lib/libpcap.a
 libpcap: uclibc zlib $(STAGING_DIR)/lib/libpcap.a
 
 

+ 77 - 0
package/libpng/libdir-la.patch

@@ -0,0 +1,77 @@
+--- libpng-1.2.12/ltmain.sh.orig	2006-06-05 09:12:42.000000000 -0600
++++ libpng-1.2.12/ltmain.sh	2007-01-13 14:39:14.000000000 -0700
+@@ -322,8 +322,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2453,8 +2454,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -2935,6 +2942,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5659,6 +5676,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -6028,10 +6049,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 22 - 22
package/libpng/libpng.mk

@@ -38,22 +38,30 @@ $(LIBPNG_DIR)/.unpacked: $(DL_DIR)/$(LIBPNG_SOURCE)
 
 
 $(LIBPNG_DIR)/.configured: $(LIBPNG_DIR)/.unpacked
 $(LIBPNG_DIR)/.configured: $(LIBPNG_DIR)/.unpacked
 	(cd $(LIBPNG_DIR); rm -rf config.cache; \
 	(cd $(LIBPNG_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
-		./configure \
 		ac_cv_func_memcmp_working=yes \
 		ac_cv_func_memcmp_working=yes \
 		ac_cv_have_decl_malloc=yes \
 		ac_cv_have_decl_malloc=yes \
 		gl_cv_func_malloc_0_nonnull=yes \
 		gl_cv_func_malloc_0_nonnull=yes \
 		ac_cv_func_malloc_0_nonnull=yes \
 		ac_cv_func_malloc_0_nonnull=yes \
 		ac_cv_func_calloc_0_nonnull=yes \
 		ac_cv_func_calloc_0_nonnull=yes \
 		ac_cv_func_realloc_0_nonnull=yes \
 		ac_cv_func_realloc_0_nonnull=yes \
+		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--without-libpng-compat \
 		--without-libpng-compat \
 		--without-x \
 		--without-x \
 	);
 	);
@@ -64,28 +72,20 @@ $(LIBPNG_DIR)/.compiled: $(LIBPNG_DIR)/.configured
 	touch $(LIBPNG_DIR)/.compiled
 	touch $(LIBPNG_DIR)/.compiled
 
 
 $(STAGING_DIR)/lib/libpng.so: $(LIBPNG_DIR)/.compiled
 $(STAGING_DIR)/lib/libpng.so: $(LIBPNG_DIR)/.compiled
-	$(MAKE) prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    sharedstatedir=$(STAGING_DIR)/com \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    includedir=$(STAGING_DIR)/include \
-	    oldincludedir=$(STAGING_DIR)/include \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    -C $(LIBPNG_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBPNG_DIR) install;
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libpng12.la
+	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)\',g" \
+		-e "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" \
+		-e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/include/libpng12\',g" \
+		"s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" \
+		$(STAGING_DIR)/usr/bin/libpng12-config
 	touch -c $(STAGING_DIR)/lib/libpng.so
 	touch -c $(STAGING_DIR)/lib/libpng.so
 
 
 $(TARGET_DIR)/usr/lib/libpng.so: $(STAGING_DIR)/lib/libpng.so
 $(TARGET_DIR)/usr/lib/libpng.so: $(STAGING_DIR)/lib/libpng.so
 	cp -dpf $(STAGING_DIR)/lib/libpng*.so* $(TARGET_DIR)/usr/lib/
 	cp -dpf $(STAGING_DIR)/lib/libpng*.so* $(TARGET_DIR)/usr/lib/
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libpng.so
 	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libpng.so
 
 
-png libpng: uclibc zlib $(TARGET_DIR)/usr/lib/libpng.so
+png libpng: uclibc zlib pkgconfig $(TARGET_DIR)/usr/lib/libpng.so
 
 
 libpng-clean:
 libpng-clean:
 	-$(MAKE) -C $(LIBPNG_DIR) clean
 	-$(MAKE) -C $(LIBPNG_DIR) clean

+ 17 - 6
package/libraw1394/libraw1394.mk

@@ -18,13 +18,24 @@ $(LIBRAW1394_DIR)/.source: $(DL_DIR)/$(LIBRAW1394_SOURCE)
 
 
 $(LIBRAW1394_DIR)/.configured: $(LIBRAW1394_DIR)/.source
 $(LIBRAW1394_DIR)/.configured: $(LIBRAW1394_DIR)/.source
 	(cd $(LIBRAW1394_DIR); \
 	(cd $(LIBRAW1394_DIR); \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
-			--target=$(GNU_TARGET_NAME) \
-			--host=$(GNU_TARGET_NAME) \
-			--build=$(GNU_HOST_NAME) \
-			--prefix=$(STAGING_DIR) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 	);
 	);
 	touch $(LIBRAW1394_DIR)/.configured;
 	touch $(LIBRAW1394_DIR)/.configured;
 
 
@@ -33,7 +44,7 @@ $(LIBRAW1394_DIR)/.compiled: $(LIBRAW1394_DIR)/.configured
 	touch $(LIBRAW1394_DIR)/.compiled
 	touch $(LIBRAW1394_DIR)/.compiled
 
 
 $(STAGING_DIR)/lib/libraw1394.so: $(LIBRAW1394_DIR)/.compiled
 $(STAGING_DIR)/lib/libraw1394.so: $(LIBRAW1394_DIR)/.compiled
-	make -C $(LIBRAW1394_DIR)/src install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBRAW1394_DIR)/src install
 
 
 $(TARGET_DIR)/usr/lib/libraw1394.so: $(STAGING_DIR)/lib/libraw1394.so
 $(TARGET_DIR)/usr/lib/libraw1394.so: $(STAGING_DIR)/lib/libraw1394.so
 	cp -dpf $(STAGING_DIR)/lib/libraw1394.so* $(TARGET_DIR)/usr/lib/
 	cp -dpf $(STAGING_DIR)/lib/libraw1394.so* $(TARGET_DIR)/usr/lib/

+ 1 - 0
package/libtool/libtool.mk

@@ -32,6 +32,7 @@ $(LIBTOOL_DIR)/.configured: $(LIBTOOL_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/libusb/libusb.mk

@@ -29,7 +29,7 @@ $(LIBUSB_DIR)/.unpacked: $(DL_DIR)/$(LIBUSB_SOURCE)
 
 
 $(LIBUSB_DIR)/.configured: $(LIBUSB_DIR)/.unpacked
 $(LIBUSB_DIR)/.configured: $(LIBUSB_DIR)/.unpacked
 	(cd $(LIBUSB_DIR); rm -rf config.cache; \
 	(cd $(LIBUSB_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_header_regex_h=no \
 		ac_cv_header_regex_h=no \
 		ac_cv_c_bigendian=$(LIBUSB_BE) \
 		ac_cv_c_bigendian=$(LIBUSB_BE) \

+ 1 - 0
package/lighttpd/lighttpd.mk

@@ -35,6 +35,7 @@ $(LIGHTTPD_DIR)/.configured: $(LIGHTTPD_DIR)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--localstatedir=/var \
 		--localstatedir=/var \

+ 1 - 0
package/links/links.mk

@@ -28,6 +28,7 @@ $(LINKS_DIR)/.configured: $(LINKS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/lrzsz/lrzsz.mk

@@ -45,6 +45,7 @@ $(LRZSZ_DIR)/.configured: $(LRZSZ_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/ltt/ltt.mk

@@ -77,6 +77,7 @@ $(LTT_DIR2)/.configured: $(LTT_DIR2)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/make/make.mk

@@ -35,6 +35,7 @@ $(GNUMAKE_DIR)/.configured: $(GNUMAKE_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 8 - 6
package/mpfr/mpfr.mk

@@ -40,18 +40,19 @@ $(MPFR_DIR)/.configured: $(MPFR_DIR)/.unpacked $(STAGING_DIR)/lib/$(GMP_BINARY)
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_c_bigendian=$(MPFR_BE) \
 		ac_cv_c_bigendian=$(MPFR_BE) \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
@@ -68,7 +69,7 @@ $(STAGING_DIR)/lib/$(MPFR_BINARY): $(MPFR_DIR)/.libs/$(MPFR_BINARY)
 	    exec_prefix=$(STAGING_DIR) \
 	    exec_prefix=$(STAGING_DIR) \
 	    bindir=$(STAGING_DIR)/bin \
 	    bindir=$(STAGING_DIR)/bin \
 	    sbindir=$(STAGING_DIR)/sbin \
 	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
+	    libexecdir=$(STAGING_DIR)/bin \
 	    datadir=$(STAGING_DIR)/share \
 	    datadir=$(STAGING_DIR)/share \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sysconfdir=$(STAGING_DIR)/etc \
 	    sharedstatedir=$(STAGING_DIR)/com \
 	    sharedstatedir=$(STAGING_DIR)/com \
@@ -115,6 +116,7 @@ $(MPFR_DIR2)/.configured: $(MPFR_DIR)/.unpacked $(GMP_HOST_DIR)/lib/$(GMP_BINARY
 		--includedir=$(STAGING_DIR)/include \
 		--includedir=$(STAGING_DIR)/include \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/nano/nano.mk

@@ -22,7 +22,7 @@ $(NANO_DIR)/.unpacked: $(DL_DIR)/$(NANO_SOURCE)
 
 
 $(NANO_DIR)/.configured: $(NANO_DIR)/.unpacked
 $(NANO_DIR)/.configured: $(NANO_DIR)/.unpacked
 	(cd $(NANO_DIR); rm -rf config.cache; \
 	(cd $(NANO_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_header_regex_h=no \
 		ac_cv_header_regex_h=no \
 		./configure \
 		./configure \

+ 4 - 2
package/ncurses/ncurses.mk

@@ -48,20 +48,22 @@ $(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.dist
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
+		--host=$(REAL_GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--with-terminfo-dirs=/usr/share/terminfo \
 		--with-terminfo-dirs=/usr/share/terminfo \
 		--with-default-terminfo-dir=/usr/share/terminfo \
 		--with-default-terminfo-dir=/usr/share/terminfo \
-		--libdir=$(STAGING_DIR)/lib \
 		--with-shared --without-cxx --without-cxx-binding \
 		--with-shared --without-cxx --without-cxx-binding \
 		--without-ada --without-progs $(DISABLE_NLS) \
 		--without-ada --without-progs $(DISABLE_NLS) \
 		--without-profile --without-debug --disable-rpath \
 		--without-profile --without-debug --disable-rpath \

+ 1 - 0
package/newt/newt.mk

@@ -33,6 +33,7 @@ $(NEWT_DIR)/.configured: $(NEWT_DIR)/.source
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/ntp/ntp.mk

@@ -36,6 +36,7 @@ $(NTP_DIR)/.configured: $(NTP_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/openssh/openssh.mk

@@ -29,6 +29,7 @@ $(OPENSSH_DIR)/.configured: $(OPENSSH_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/sbin \
 		--libexecdir=/usr/sbin \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/openvpn/openvpn.mk

@@ -44,6 +44,7 @@ $(OPENVPN_DIR)/.configured: $(OPENVPN_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 77 - 0
package/pango/libdir-la.patch

@@ -0,0 +1,77 @@
+--- pango/ltmain.sh.orig	2004-11-23 09:19:19.000000000 -0700
++++ pango/ltmain.sh	2007-01-13 14:36:53.000000000 -0700
+@@ -231,8 +231,9 @@
+ 	# line option must be used.
+ 	if test -z "$tagname"; then
+ 	  $echo "$modename: unable to infer tagged configuration"
+-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
+-	  exit $EXIT_FAILURE
++	  $echo "$modename: defaulting to \`CC'"
++	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++#	  exit $EXIT_FAILURE
+ #        else
+ #          $echo "$modename: using $tagname tagged configuration"
+ 	fi
+@@ -2279,8 +2280,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++            # Adding 'libdir' from the .la file to our library search paths
++            # breaks crosscompilation horribly.  We cheat here and don't add
++            # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	else
+ 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+@@ -2754,6 +2761,16 @@
+ 		esac
+ 		if grep "^installed=no" $deplib > /dev/null; then
+ 		  path="$absdir/$objdir"
++#		This interferes with crosscompilation. -CL
++#		else
++#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++#		  if test -z "$libdir"; then
++#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++#		    exit 1
++#		  fi
++#		  if test "$absdir" != "$libdir"; then
++#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++#		  fi
+ 		else
+ 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ 		  if test -z "$libdir"; then
+@@ -5141,6 +5158,10 @@
+ 	    # Replace all uninstalled libtool libraries with the installed ones
+ 	    newdependency_libs=
+ 	    for deplib in $dependency_libs; do
++              # Replacing uninstalled with installed can easily break crosscompilation,
++              # since the installed path is generally the wrong architecture.  -CL
++              newdependency_libs="$newdependency_libs $deplib"
++              continue
+ 	      case $deplib in
+ 	      *.la)
+ 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+@@ -5459,10 +5480,13 @@
+ 	  # At present, this check doesn't affect windows .dll's that
+ 	  # are installed into $libdir/../bin (currently, that works fine)
+ 	  # but it's something to keep an eye on.
+-	  if test "$inst_prefix_dir" = "$destdir"; then
+-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+-	    exit $EXIT_FAILURE
+-	  fi
++	  #
++	  # This breaks install into our staging area.  -PB
++	  # 
++	  # if test "$inst_prefix_dir" = "$destdir"; then
++	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++	  #   exit $EXIT_FAILURE
++	  # fi
+ 
+ 	  if test -n "$inst_prefix_dir"; then
+ 	    # Stick the inst_prefix_dir data into the link command.

+ 1 - 1
package/pango/no-tests.patch

@@ -9,7 +9,7 @@
  ## Process this file with automake to create Makefile.in.
  ## Process this file with automake to create Makefile.in.
  
  
 -SUBDIRS= pango modules examples docs tools tests
 -SUBDIRS= pango modules examples docs tools tests
-+SUBDIRS= pango modules examples docs tools 
++SUBDIRS= pango modules tools 
  
  
  EXTRA_DIST = 		\
  EXTRA_DIST = 		\
  	pango.pc.in	\
  	pango.pc.in	\

+ 13 - 27
package/pango/pango.mk

@@ -4,10 +4,9 @@
 #
 #
 #############################################################
 #############################################################
 PANGO_VERSION:=1.13.5
 PANGO_VERSION:=1.13.5
-#PANGO_VERSION:=1.14.8
+#PANGO_VERSION:=1.15.3
 PANGO_SOURCE:=pango-$(PANGO_VERSION).tar.bz2
 PANGO_SOURCE:=pango-$(PANGO_VERSION).tar.bz2
-#PANGO_SITE:=ftp://ftp.gtk.org/pub/pango/1.14
-PANGO_SITE:=ftp://ftp.gtk.org/pub/pango/1.13
+PANGO_SITE:=http://ftp.gnome.org/pub/GNOME/sources/pango/1.13
 PANGO_CAT:=$(BZCAT)
 PANGO_CAT:=$(BZCAT)
 PANGO_DIR:=$(BUILD_DIR)/pango-$(PANGO_VERSION)
 PANGO_DIR:=$(BUILD_DIR)/pango-$(PANGO_VERSION)
 PANGO_BINARY:=libpango-1.0.a
 PANGO_BINARY:=libpango-1.0.a
@@ -19,7 +18,6 @@ PANGO_BE:=no
 endif
 endif
 
 
 PANGO_BUILD_ENV=$(TARGET_CONFIGURE_OPTS) \
 PANGO_BUILD_ENV=$(TARGET_CONFIGURE_OPTS) \
-		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
 		ac_cv_c_bigendian=$(PANGO_BE) \
 		ac_cv_c_bigendian=$(PANGO_BE) \
 		ac_cv_func_posix_getpwuid_r=yes \
 		ac_cv_func_posix_getpwuid_r=yes \
 		glib_cv_stack_grows=no \
 		glib_cv_stack_grows=no \
@@ -78,7 +76,7 @@ PANGO_BUILD_ENV=$(TARGET_CONFIGURE_OPTS) \
 		ac_use_included_regex=no \
 		ac_use_included_regex=no \
 		gl_cv_c_restrict=no \
 		gl_cv_c_restrict=no \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
 		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
-		ac_cv_path_FREETYPE_CONFIG=$(STAGING_DIR)/bin/freetype-config
+		ac_cv_path_FREETYPE_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config
 
 
 $(DL_DIR)/$(PANGO_SOURCE):
 $(DL_DIR)/$(PANGO_SOURCE):
 	 $(WGET) -P $(DL_DIR) $(PANGO_SITE)/$(PANGO_SOURCE)
 	 $(WGET) -P $(DL_DIR) $(PANGO_SITE)/$(PANGO_SOURCE)
@@ -95,25 +93,26 @@ $(PANGO_DIR)/.configured: $(PANGO_DIR)/.unpacked
 	(cd $(PANGO_DIR); rm -rf config.cache; \
 	(cd $(PANGO_DIR); rm -rf config.cache; \
 		 $(PANGO_BUILD_ENV) \
 		 $(PANGO_BUILD_ENV) \
 		./configure \
 		./configure \
-		--host=$(REAL_GNU_TARGET_NAME) \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
-		--exec_prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \
 		--localstatedir=/var \
 		--localstatedir=/var \
+		--includedir=/include \
 		--mandir=/usr/man \
 		--mandir=/usr/man \
 		--infodir=/usr/info \
 		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 		--enable-static \
 		--enable-static \
 		--with-x \
 		--with-x \
-		--x-includes=$(STAGING_DIR)/usr/X11R6/include \
-		--x-libraries=$(STAGING_DIR)/usr/X11R6/lib \
+		--x-includes=$(STAGING_DIR)/include \
+		--x-libraries=$(STAGING_DIR)/lib \
 		--disable-glibtest \
 		--disable-glibtest \
 		--enable-explicit-deps=no \
 		--enable-explicit-deps=no \
 		--disable-debug \
 		--disable-debug \
@@ -125,21 +124,8 @@ $(PANGO_DIR)/pango/.libs/$(PANGO_BINARY): $(PANGO_DIR)/.configured
 	touch -c $(PANGO_DIR)/pango/.libs/$(PANGO_BINARY)
 	touch -c $(PANGO_DIR)/pango/.libs/$(PANGO_BINARY)
 
 
 $(STAGING_DIR)/lib/$(PANGO_BINARY): $(PANGO_DIR)/pango/.libs/$(PANGO_BINARY)
 $(STAGING_DIR)/lib/$(PANGO_BINARY): $(PANGO_DIR)/pango/.libs/$(PANGO_BINARY)
-	$(MAKE) prefix=$(STAGING_DIR) \
-	    exec_prefix=$(STAGING_DIR) \
-	    bindir=$(STAGING_DIR)/bin \
-	    sbindir=$(STAGING_DIR)/sbin \
-	    libexecdir=$(STAGING_DIR)/libexec \
-	    datadir=$(STAGING_DIR)/share \
-	    sysconfdir=$(STAGING_DIR)/etc \
-	    sharedstatedir=$(STAGING_DIR)/com \
-	    localstatedir=$(STAGING_DIR)/var \
-	    libdir=$(STAGING_DIR)/lib \
-	    includedir=$(STAGING_DIR)/include \
-	    oldincludedir=$(STAGING_DIR)/include \
-	    infodir=$(STAGING_DIR)/info \
-	    mandir=$(STAGING_DIR)/man \
-	    -C $(PANGO_DIR) install;
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(PANGO_DIR) install;
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libpango.la
 
 
 $(TARGET_DIR)/lib/libpango-1.0.so.0: $(STAGING_DIR)/lib/$(PANGO_BINARY)
 $(TARGET_DIR)/lib/libpango-1.0.so.0: $(STAGING_DIR)/lib/$(PANGO_BINARY)
 	cp -a $(STAGING_DIR)/lib/libpango-1.0.so $(TARGET_DIR)/lib/
 	cp -a $(STAGING_DIR)/lib/libpango-1.0.so $(TARGET_DIR)/lib/

+ 1 - 0
package/patch/patch.mk

@@ -31,6 +31,7 @@ $(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/pppd/pppd.mk

@@ -39,6 +39,7 @@ $(PPPD_DIR)/.configured: $(PPPD_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/psmisc/psmisc.mk

@@ -19,7 +19,7 @@ $(PSMISC_DIR)/.unpacked: $(DL_DIR)/$(PSMISC_SOURCE)
 
 
 $(PSMISC_DIR)/.configured: $(PSMISC_DIR)/.unpacked
 $(PSMISC_DIR)/.configured: $(PSMISC_DIR)/.unpacked
 	(cd $(PSMISC_DIR); rm -rf config.cache; \
 	(cd $(PSMISC_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \

+ 3 - 3
package/qte/qte.mk

@@ -136,7 +136,7 @@ $(QTE_QTOPIA_DIR)/.unpacked: $(DL_DIR)/$(QTE_QTOPIA_SOURCE)
 $(QTE_QTE_DIR)/.configured: $(QTE_QTE_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QTOPIA_DIR)/.unpacked
 $(QTE_QTE_DIR)/.configured: $(QTE_QTE_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QTOPIA_DIR)/.unpacked
 	cp $(QTE_QTOPIA_DIR)/src/qt/qconfig-qpe.h $(QTE_QTE_DIR)/src/tools/
 	cp $(QTE_QTOPIA_DIR)/src/qt/qconfig-qpe.h $(QTE_QTE_DIR)/src/tools/
 	(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/qws/linux-x86-g++; export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
 	(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/qws/linux-x86-g++; export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		$(QTE_QTE_CONFIGURE) -qconfig qpe -keypad-mode -qvfb -depths 4,8,16,32 -xplatform $(BR2_QTE_CROSS_PLATFORM) \
 		$(QTE_QTE_CONFIGURE) -qconfig qpe -keypad-mode -qvfb -depths 4,8,16,32 -xplatform $(BR2_QTE_CROSS_PLATFORM) \
@@ -156,7 +156,7 @@ endif
 
 
 $(QTE_QVFB_DIR)/.configured: $(QTE_QVFB_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked
 $(QTE_QVFB_DIR)/.configured: $(QTE_QVFB_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked
 	(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/linux-g++; export $$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
 	(cd $(@D); export QTDIR=`pwd`; export TMAKEPATH=$(QTE_TMAKE_DIR)/lib/linux-g++; export $$QTDIR/bin:$$PATH; export LD_LIBRARY_PATH=$$QTDIR/lib:$$LD_LIBRARY_PATH; echo 'yes' | \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		$(QTE_QVFB_CONFIGURE) \
 		$(QTE_QVFB_CONFIGURE) \
@@ -171,7 +171,7 @@ $(QTE_QVFB_DIR)/.configured: $(QTE_QVFB_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacke
 
 
 $(QTE_QTOPIA_DIR)/.configured: $(QTE_QTOPIA_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QT3_DIR)/.configured
 $(QTE_QTOPIA_DIR)/.configured: $(QTE_QTOPIA_DIR)/.unpacked $(QTE_TMAKE_DIR)/.unpacked $(QTE_QTE_DIR)/$(QTE_UIC_BINARY) $(QTE_QTE_DIR)/$(QTE_QVFB_BINARY) $(QTE_QT3_DIR)/.configured
 	(cd $(@D); export QTDIR=$(QTE_QTE_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; QT3DIR=$(QTE_QTE_DIR); echo 'yes' | \
 	(cd $(@D); export QTDIR=$(QTE_QTE_DIR); export QPEDIR=$(QTE_QTOPIA_DIR); export PATH=$(STAGING_DIR)/bin:$$QTDIR/bin:$$PATH; QT3DIR=$(QTE_QTE_DIR); echo 'yes' | \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		$(QTE_QTOPIA_CONFIGURE) --edition phone -no-qtopiadesktop -dqt $(QTE_QT3_DIR) -arch generic -displaysize 160-240 -languages en_US \
 		$(QTE_QTOPIA_CONFIGURE) --edition phone -no-qtopiadesktop -dqt $(QTE_QT3_DIR) -arch generic -displaysize 160-240 -languages en_US \

+ 1 - 0
package/raidtools/raidtools.mk

@@ -30,6 +30,7 @@ $(RAIDTOOLS2_DIR)/.configured: $(RAIDTOOLS2_DIR)/.unpacked
                 --exec-prefix=/usr \
                 --exec-prefix=/usr \
                 --bindir=/usr/bin \
                 --bindir=/usr/bin \
                 --sbindir=/usr/sbin \
                 --sbindir=/usr/sbin \
+		--libdir=/lib \
                 --libexecdir=/usr/lib \
                 --libexecdir=/usr/lib \
                 --sysconfdir=/etc \
                 --sysconfdir=/etc \
                 --datadir=/usr/share/misc \
                 --datadir=/usr/share/misc \

+ 15 - 20
package/readline/readline.mk

@@ -22,13 +22,24 @@ $(READLINE_DIR)/.unpacked: $(DL_DIR)/$(READLINE_SOURCE)
 
 
 $(READLINE_DIR)/.configured: $(READLINE_DIR)/.unpacked
 $(READLINE_DIR)/.configured: $(READLINE_DIR)/.unpacked
 	(cd $(READLINE_DIR); rm -rf config.cache; \
 	(cd $(READLINE_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 	);
 	);
 	touch $(READLINE_DIR)/.configured
 	touch $(READLINE_DIR)/.configured
 
 
@@ -43,30 +54,14 @@ $(STAGING_DIR)/$(READLINE_TARGET_BINARY): $(READLINE_DIR)/.configured
 # Install to Staging area
 # Install to Staging area
 $(STAGING_DIR)/include/readline/readline.h: $(READLINE_DIR)/$(READLINE_BINARY)
 $(STAGING_DIR)/include/readline/readline.h: $(READLINE_DIR)/$(READLINE_BINARY)
 	BUILD_CC=$(TARGET_CC) HOSTCC="$(HOSTCC)" CC=$(TARGET_CC) \
 	BUILD_CC=$(TARGET_CC) HOSTCC="$(HOSTCC)" CC=$(TARGET_CC) \
-        $(MAKE1) \
-            prefix=$(STAGING_DIR) \
-            exec_prefix=$(STAGING_DIR) \
-            bindir=$(STAGING_DIR)/bin \
-            sbindir=$(STAGING_DIR)/sbin \
-            libexecdir=$(STAGING_DIR)/lib \
-            datadir=$(STAGING_DIR)/usr/share \
-            sysconfdir=$(STAGING_DIR)/etc \
-            localstatedir=$(STAGING_DIR)/var \
-            libdir=$(STAGING_DIR)/lib \
-            infodir=$(STAGING_DIR)/info \
-            mandir=$(STAGING_DIR)/man \
-            includedir=$(STAGING_DIR)/include \
-            -C $(READLINE_DIR) install;
+	$(MAKE1) DESTDIR=$(STAGING_DIR) -C $(READLINE_DIR) install;
 	touch -c $(STAGING_DIR)/include/readline/readline.h
 	touch -c $(STAGING_DIR)/include/readline/readline.h
 
 
 
 
 # Install only run-time to Target directory
 # Install only run-time to Target directory
 $(TARGET_DIR)/include/readline/readline.h: $(READLINE_DIR)/$(READLINE_BINARY)
 $(TARGET_DIR)/include/readline/readline.h: $(READLINE_DIR)/$(READLINE_BINARY)
 	BUILD_CC=$(TARGET_CC) HOSTCC="$(HOSTCC)" CC=$(TARGET_CC) \
 	BUILD_CC=$(TARGET_CC) HOSTCC="$(HOSTCC)" CC=$(TARGET_CC) \
-	$(MAKE1) \
-            prefix=$(TARGET_DIR) \
-            libdir=$(TARGET_DIR)/lib \
-	-C $(READLINE_DIR) install-shared
+	$(MAKE1) DESTDIR=$(TARGET_DIR) -C $(READLINE_DIR) install-shared
 	touch -c $(TARGET_DIR)/include/readline/readline.h
 	touch -c $(TARGET_DIR)/include/readline/readline.h
 
 
 readline: $(STAGING_DIR)/include/readline/readline.h
 readline: $(STAGING_DIR)/include/readline/readline.h

+ 1 - 1
package/rsync/rsync.mk

@@ -23,7 +23,7 @@ $(RSYNC_DIR)/.unpacked: $(DL_DIR)/$(RSYNC_SOURCE)
 
 
 $(RSYNC_DIR)/.configured: $(RSYNC_DIR)/.unpacked
 $(RSYNC_DIR)/.configured: $(RSYNC_DIR)/.unpacked
 	(cd $(RSYNC_DIR); rm -rf config.cache; \
 	(cd $(RSYNC_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \

+ 1 - 0
package/ruby/ruby.mk

@@ -33,6 +33,7 @@ $(RUBY_DIR)/.configured: $(RUBY_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 20 - 9
package/sdl/sdl.mk

@@ -23,14 +23,25 @@ $(SDL_DIR)/.configured: $(SDL_DIR)/.unpacked
 	$(TARGET_CONFIGURE_OPTS) \
 	$(TARGET_CONFIGURE_OPTS) \
 	CFLAGS="$(TARGET_CFLAGS)" \
 	CFLAGS="$(TARGET_CFLAGS)" \
 	./configure \
 	./configure \
-	--target=$(GNU_TARGET_NAME) \
-	--host=$(GNU_TARGET_NAME) \
-	--build=$(GNU_HOST_NAME) \
-	--prefix=$(STAGING_DIR)/usr \
-	--disable-arts \
-	--disable-esd \
-	--disable-nasm \
-	--disable-video-x11 );
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
+		--disable-arts \
+		--disable-esd \
+		--disable-nasm \
+		--disable-video-x11 );
 	touch $(SDL_DIR)/.configured
 	touch $(SDL_DIR)/.configured
 
 
 $(SDL_DIR)/.compiled: $(SDL_DIR)/.configured
 $(SDL_DIR)/.compiled: $(SDL_DIR)/.configured
@@ -38,7 +49,7 @@ $(SDL_DIR)/.compiled: $(SDL_DIR)/.configured
 	touch $(SDL_DIR)/.compiled
 	touch $(SDL_DIR)/.compiled
 
 
 $(STAGING_DIR)/usr/lib/libSDL.so: $(SDL_DIR)/.compiled
 $(STAGING_DIR)/usr/lib/libSDL.so: $(SDL_DIR)/.compiled
-	$(MAKE) -C $(SDL_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SDL_DIR) install;
 	touch -c $(STAGING_DIR)/usr/lib/libSDL.so
 	touch -c $(STAGING_DIR)/usr/lib/libSDL.so
 
 
 $(TARGET_DIR)/usr/lib/libSDL.so: $(STAGING_DIR)/usr/lib/libSDL.so
 $(TARGET_DIR)/usr/lib/libSDL.so: $(STAGING_DIR)/usr/lib/libSDL.so

+ 1 - 0
package/sed/sed.mk

@@ -112,6 +112,7 @@ $(SED_DIR2)/.configured: $(SED_DIR2)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/smartmontools/smartmontools.mk

@@ -35,6 +35,7 @@ $(SMARTMONTOOLS_DIR)/.configured: $(SMARTMONTOOLS_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/socat/socat.mk

@@ -37,6 +37,7 @@ $(SOCAT_WORKDIR)/Makefile: $(SOCAT_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 11 - 1
package/sqlite/sqlite.mk

@@ -30,7 +30,17 @@ $(SQLITE_DIR)/.configured: $(SQLITE_DIR)/.unpacked
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--prefix=/usr \
 		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 		--enable-static \
 		--enable-static \
 		--disable-tcl \
 		--disable-tcl \
@@ -44,7 +54,7 @@ $(SQLITE_DIR)/sqlite3: $(SQLITE_DIR)/.configured
 	$(MAKE) -C $(SQLITE_DIR)
 	$(MAKE) -C $(SQLITE_DIR)
 
 
 $(STAGING_DIR)/bin/sqlite3: $(SQLITE_DIR)/sqlite3
 $(STAGING_DIR)/bin/sqlite3: $(SQLITE_DIR)/sqlite3
-	$(MAKE) prefix=$(STAGING_DIR) -C $(SQLITE_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(SQLITE_DIR) install
 
 
 $(TARGET_DIR)/usr/bin/sqlite3: $(STAGING_DIR)/bin/sqlite3
 $(TARGET_DIR)/usr/bin/sqlite3: $(STAGING_DIR)/bin/sqlite3
 	cp -a $(STAGING_DIR)/bin/sqlite3 $(TARGET_DIR)/usr/bin
 	cp -a $(STAGING_DIR)/bin/sqlite3 $(TARGET_DIR)/usr/bin

+ 1 - 0
package/strace/strace.mk

@@ -33,6 +33,7 @@ $(STRACE_DIR)/.configured: $(STRACE_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/stunnel/stunnel.mk

@@ -36,6 +36,7 @@ $(STUNNEL_DIR)/.configured: $(STUNNEL_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/sudo/sudo.mk

@@ -32,6 +32,7 @@ $(SUDO_DIR)/.configured: $(SUDO_DIR)/.unpacked $(SUDO_CONFIG_FILE)
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/tar/tar.mk

@@ -35,6 +35,7 @@ $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 12 - 3
package/tcpdump/dhcpdump.mk

@@ -31,10 +31,19 @@ $(DHCPDUMP_DIR)/.configured: $(DHCPDUMP_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--with-build-cc="$(HOSTCC)" \
 		--with-build-cc="$(HOSTCC)" \
-		--prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
 	)
 	)
 	touch $(DHCPDUMP_DIR)/.configured
 	touch $(DHCPDUMP_DIR)/.configured
 
 

+ 14 - 6
package/tcpdump/tcpdump.mk

@@ -32,23 +32,31 @@ $(TCPDUMP_DIR)/.configured: $(TCPDUMP_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--with-build-cc="$(HOSTCC)" \
 		--with-build-cc="$(HOSTCC)" \
-		--prefix=$(STAGING_DIR) \
-		--libdir=$(STAGING_DIR)/lib \
-		--includedir=$(STAGING_DIR)/include \
 		--without-crypto \
 		--without-crypto \
 	)
 	)
 	$(SED) '/HAVE_PCAP_DEBUG/d' $(TCPDUMP_DIR)/config.h
 	$(SED) '/HAVE_PCAP_DEBUG/d' $(TCPDUMP_DIR)/config.h
 	touch $(TCPDUMP_DIR)/.configured
 	touch $(TCPDUMP_DIR)/.configured
 
 
 $(TCPDUMP_DIR)/tcpdump: $(TCPDUMP_DIR)/.configured
 $(TCPDUMP_DIR)/tcpdump: $(TCPDUMP_DIR)/.configured
-	$(MAKE) \
-		CC="$(TARGET_CC)" \
+	$(MAKE) CC="$(TARGET_CC)" \
 		LDFLAGS="-L$(STAGING_DIR)/lib" \
 		LDFLAGS="-L$(STAGING_DIR)/lib" \
 		LIBS="-lpcap" \
 		LIBS="-lpcap" \
 		INCLS="-I. -I$(STAGING_DIR)/include" \
 		INCLS="-I. -I$(STAGING_DIR)/include" \
 		-C $(TCPDUMP_DIR)
 		-C $(TCPDUMP_DIR)
-	
+
 $(TARGET_DIR)/sbin/tcpdump: $(TCPDUMP_DIR)/tcpdump
 $(TARGET_DIR)/sbin/tcpdump: $(TCPDUMP_DIR)/tcpdump
 	cp -af $< $@
 	cp -af $< $@
 
 

+ 1 - 0
package/tftpd/tftpd.mk

@@ -33,6 +33,7 @@ $(TFTP_HPA_DIR)/.configured: $(TFTP_HPA_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/thttpd/thttpd.mk

@@ -24,7 +24,7 @@ $(THTTPD_DIR)/.unpacked: $(DL_DIR)/$(THTTPD_SOURCE)
 
 
 $(THTTPD_DIR)/.configured: $(THTTPD_DIR)/.unpacked
 $(THTTPD_DIR)/.configured: $(THTTPD_DIR)/.unpacked
 	(cd $(THTTPD_DIR); rm -rf config.cache; \
 	(cd $(THTTPD_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \

+ 14 - 2
package/tiff/tiff.mk

@@ -27,7 +27,18 @@ $(TIFF_DIR)/.configured: $(TIFF_DIR)/.unpacked
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=$(STAGING_DIR) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--bindir=/usr/bin \
+		--sbindir=/usr/sbin \
+		--libdir=/lib \
+		--libexecdir=/usr/lib \
+		--sysconfdir=/etc \
+		--datadir=/usr/share \
+		--localstatedir=/var \
+		--includedir=/include \
+		--mandir=/usr/man \
+		--infodir=/usr/info \
 		--enable-shared \
 		--enable-shared \
 		--enable-static \
 		--enable-static \
 		--disable-cxx \
 		--disable-cxx \
@@ -44,7 +55,8 @@ $(TIFF_DIR)/libtiff/.libs/libtiff.a: $(TIFF_DIR)/.configured
 	touch -c $(TIFF_DIR)/libtiff/.libs/libtiff.a
 	touch -c $(TIFF_DIR)/libtiff/.libs/libtiff.a
 
 
 $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER): $(TIFF_DIR)/libtiff/.libs/libtiff.a
 $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER): $(TIFF_DIR)/libtiff/.libs/libtiff.a
-	$(MAKE) -C $(TIFF_DIR) install
+	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(TIFF_DIR) install
+	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libtiff.la
 	touch -c $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER)
 	touch -c $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER)
 
 
 $(TARGET_DIR)/lib/libtiff.so.$(TIFF_VER): $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER)
 $(TARGET_DIR)/lib/libtiff.so.$(TIFF_VER): $(STAGING_DIR)/lib/libtiff.so.$(TIFF_VER)

+ 1 - 0
package/tn5250/tn5250.mk

@@ -21,6 +21,7 @@ $(TN5250_DIR)/.configured: $(TN5250_DIR)/.dist
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/usbutils/usbutils.mk

@@ -23,7 +23,7 @@ $(USBUTILS_DIR)/.unpacked: $(DL_DIR)/$(USBUTILS_SOURCE)
 
 
 $(USBUTILS_DIR)/.configured: $(USBUTILS_DIR)/.unpacked
 $(USBUTILS_DIR)/.configured: $(USBUTILS_DIR)/.unpacked
 	(cd $(USBUTILS_DIR); rm -rf config.cache; \
 	(cd $(USBUTILS_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS) -I$(TARGET_DIR)/usr/include" \
 		CFLAGS="$(TARGET_CFLAGS) -I$(TARGET_DIR)/usr/include" \
 		LDFLAGS="-L$(TARGET_DIR)/usr/lib" \
 		LDFLAGS="-L$(TARGET_DIR)/usr/lib" \
 		ac_cv_func_malloc_0_nonnull=yes \
 		ac_cv_func_malloc_0_nonnull=yes \

+ 3 - 2
package/util-linux/util-linux.mk

@@ -8,8 +8,8 @@ UTIL-LINUX_SOURCE:=util-linux-$(UTIL-LINUX_VER).tar.bz2
 UTIL-LINUX_SITE:=http://www.kernel.org/pub/linux/utils/util-linux
 UTIL-LINUX_SITE:=http://www.kernel.org/pub/linux/utils/util-linux
 UTIL-LINUX_DIR:=$(BUILD_DIR)/util-linux-$(UTIL-LINUX_VER)
 UTIL-LINUX_DIR:=$(BUILD_DIR)/util-linux-$(UTIL-LINUX_VER)
 UTIL-LINUX_CAT:=$(BZCAT)
 UTIL-LINUX_CAT:=$(BZCAT)
-UTIL-LINUX_BINARY:=$(UTIL-LINUX_DIR)/misc-utils/mcookie
-UTIL-LINUX_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/mcookie
+UTIL-LINUX_BINARY:=$(UTIL-LINUX_DIR)/misc-utils/chkdupexe
+UTIL-LINUX_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/chkdupexe
 
 
 $(DL_DIR)/$(UTIL-LINUX_SOURCE):
 $(DL_DIR)/$(UTIL-LINUX_SOURCE):
 	$(WGET) -P $(DL_DIR) $(UTIL-LINUX_SITE)/$(UTIL-LINUX_SOURCE)
 	$(WGET) -P $(DL_DIR) $(UTIL-LINUX_SITE)/$(UTIL-LINUX_SOURCE)
@@ -32,6 +32,7 @@ $(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/valgrind/valgrind.mk

@@ -32,6 +32,7 @@ $(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.patched
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 0
package/vtun/vtun.mk

@@ -35,6 +35,7 @@ $(VTUN_DIR)/.configured: $(VTUN_DIR)/.unpacked
 		--exec-prefix=/usr \
 		--exec-prefix=/usr \
 		--bindir=/usr/bin \
 		--bindir=/usr/bin \
 		--sbindir=/usr/sbin \
 		--sbindir=/usr/sbin \
+		--libdir=/lib \
 		--libexecdir=/usr/lib \
 		--libexecdir=/usr/lib \
 		--sysconfdir=/etc \
 		--sysconfdir=/etc \
 		--datadir=/usr/share \
 		--datadir=/usr/share \

+ 1 - 1
package/wget/wget.mk

@@ -22,7 +22,7 @@ $(WGET_DIR)/.unpacked: $(DL_DIR)/$(WGET_SOURCE)
 
 
 $(WGET_DIR)/.configured: $(WGET_DIR)/.unpacked
 $(WGET_DIR)/.configured: $(WGET_DIR)/.unpacked
 	(cd $(WGET_DIR); rm -rf config.cache; \
 	(cd $(WGET_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \

+ 1 - 1
package/which/which.mk

@@ -22,7 +22,7 @@ $(WHICH_DIR)/.unpacked: $(DL_DIR)/$(WHICH_SOURCE)
 
 
 $(WHICH_DIR)/.configured: $(WHICH_DIR)/.unpacked
 $(WHICH_DIR)/.configured: $(WHICH_DIR)/.unpacked
 	(cd $(WHICH_DIR); rm -rf config.cache; \
 	(cd $(WHICH_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
+		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		./configure \
 		./configure \
 		--target=$(GNU_TARGET_NAME) \
 		--target=$(GNU_TARGET_NAME) \

+ 1 - 1
package/xorg/Config.in

@@ -4,8 +4,8 @@ config BR2_PACKAGE_XORG
 	depends !BR2_PACKAGE_TINYX
 	depends !BR2_PACKAGE_TINYX
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_LIBPNG
 	select BR2_PACKAGE_LIBPNG
-	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_PKGCONFIG
 	select BR2_PACKAGE_PKGCONFIG
 	help
 	help
 	  The official X Window system and server.
 	  The official X Window system and server.

+ 294 - 0
package/xorg/libXfont-1.1.0-noftinternals.patch

@@ -0,0 +1,294 @@
+diff -urbN libXfont-1.1.0/src/FreeType/ftfuncs.c libXfont-1.1.0.new/src/FreeType/ftfuncs.c
+--- xc/lib/font/FreeType/ftfuncs.c	2005-10-24 02:32:05.000000000 +0800
++++ xc/lib/font/FreeType/ftfuncs.c	2006-06-25 10:56:24.221147322 +0800
+@@ -54,10 +54,7 @@
+ #include FT_TYPE1_TABLES_H
+ #include FT_XFREE86_H
+ #include FT_BBOX_H
+-#include FT_INTERNAL_TRUETYPE_TYPES_H
+ #include FT_TRUETYPE_TAGS_H
+-#include FT_INTERNAL_SFNT_H
+-#include FT_INTERNAL_STREAM_H
+ /*
+  *  If you want to use FT_Outline_Get_CBox instead of 
+  *  FT_Outline_Get_BBox, define here.
+@@ -123,6 +120,25 @@
+ };
+ 
+ 
++/* read 2-byte value from a SFNT table */
++static FT_UShort
++sfnt_get_ushort( FT_Face     face,
++                 FT_ULong    table_tag,
++                 FT_ULong    table_offset )
++{
++  FT_Byte    buff[2];
++  FT_ULong   len = sizeof(buff);
++  FT_UShort  result = 0;
++
++  if ( !FT_Load_Sfnt_Table( face, table_tag, table_offset, buff, &len ) );
++    result = (FT_UShort)( (buff[0] << 8) | buff[1] );
++
++  return result;
++}
++
++#define  sfnt_get_short(f,t,o)  ((FT_Short)sfnt_get_ushort((f),(t),(o)))
++
++
+ static int ftypeInitP = 0;      /* is the engine initialised? */
+ FT_Library ftypeLibrary;
+ 
+@@ -211,6 +227,10 @@
+         if(maxp && maxp->maxContours == 0)
+             face->bitmap = 1;
+     }
++
++    face->num_hmetrics = (FT_UInt) sfnt_get_ushort( face->face,
++                                                    TTAG_hhea, 34 );
++
+     /* Insert face in hashtable and return it */
+     face->next = faceTable[bucket];
+     faceTable[bucket] = face;
+@@ -462,6 +482,34 @@
+     }
+ 
+     if( FT_IS_SFNT( face->face ) ) {
++#if 1
++        FT_F26Dot6  tt_char_width, tt_char_height, tt_dim_x, tt_dim_y;
++        FT_UInt     nn;
++
++        instance->strike_index=0xFFFFU;
++
++        tt_char_width  = (FT_F26Dot6)(trans->scale*(1<<6) + 0.5);
++        tt_char_height = (FT_F26Dot6)(trans->scale*(1<<6) + 0.5);
++
++        tt_dim_x = FLOOR64( ( tt_char_width  * trans->xres + 36 ) / 72 + 32 );
++        tt_dim_y = FLOOR64( ( tt_char_height * trans->yres + 36 ) / 72 + 32 );
++
++	if ( tt_dim_x && !tt_dim_y )
++	    tt_dim_y = tt_dim_x;
++	else if ( !tt_dim_x && tt_dim_y )
++	    tt_dim_x = tt_dim_y;
++
++        for ( nn = 0; nn < face->face->num_fixed_sizes; nn++ )
++        {
++          FT_Bitmap_Size*  sz = &face->face->available_sizes[nn];
++
++          if ( tt_dim_x == FLOOR64(sz->x_ppem + 32) && tt_dim_y == FLOOR64(sz->y_ppem + 32) )
++          {
++            instance->strike_index = nn;
++            break;
++          }
++        }
++#else
+ 	/* See Set_Char_Sizes() in ttdriver.c */
+ 	FT_Error err;
+ 	TT_Face tt_face;
+@@ -486,6 +534,7 @@
+ 	sfnt   = (SFNT_Service)tt_face->sfnt;
+ 	err = sfnt->set_sbit_strike(tt_face,tt_x_ppem,tt_y_ppem,&instance->strike_index);
+ 	if ( err ) instance->strike_index=0xFFFFU;
++#endif
+     }
+ 
+     /* maintain a linked list of instances */
+@@ -803,31 +852,61 @@
+  * parse the htmx field in TrueType font.
+  */
+ 
+-/* from src/truetype/ttgload.c */
+ static void
+-tt_get_metrics( TT_HoriHeader*  header,
++tt_get_metrics( FT_Face         face,
+ 		FT_UInt         idx,
++		FT_UInt         num_hmetrics,
+ 		FT_Short*       bearing,
+ 		FT_UShort*      advance )
+-/*  Copyright 1996-2001, 2002 by                      */
+-/*  David Turner, Robert Wilhelm, and Werner Lemberg. */
+ {
+-    TT_LongMetrics  longs_m;
+-    FT_UShort       k = header->number_Of_HMetrics;
++   /* read the metrics directly from the horizontal header, we
++    * parse the SFNT table directly through the standard FreeType API.
++    * this works with any version of the library and doesn't need to
++    * peek at its internals. Maybe a bit less
++    */
++    FT_UInt  count  = num_hmetrics;
++    FT_ULong length = 0;
++    FT_ULong offset = 0;
++    FT_Error error;
+ 
+-    if ( k == 0 ) {
+-	*bearing = *advance = 0;
+-	return;
+-    }
++    error = FT_Load_Sfnt_Table( face, TTAG_hmtx, 0, NULL, &length );
+ 
+-    if ( idx < (FT_UInt)k ) {
+-	longs_m  = (TT_LongMetrics )header->long_metrics + idx;
+-	*bearing = longs_m->bearing;
+-	*advance = longs_m->advance;
++    if ( count == 0 || error )
++    {
++      *advance = 0;
++      *bearing = 0;
++    }
++    else if ( idx < count )
++    {
++	offset = idx * 4L;
++	if ( offset + 4 > length )
++	{
++	    *advance = 0;
++	    *bearing = 0;
++	}
++	else
++	{
++	    *advance = sfnt_get_ushort( face, TTAG_hmtx, offset );
++	    *bearing = sfnt_get_short ( face, TTAG_hmtx, offset+2 );
++	}
++    }
++    else
++    {
++	offset = 4L * (count - 1);
++	if ( offset + 4 > length )
++	{
++	    *advance = 0;
++	    *bearing = 0;
++	}
++	else
++	{
++	    *advance = sfnt_get_ushort ( face, TTAG_hmtx, offset );
++	    offset += 4 + 2 * ( idx - count );
++	    if ( offset + 2 > length)
++		*bearing = 0;
++	    else
++		*bearing = sfnt_get_short ( face, TTAG_hmtx, offset );
+     }
+-    else {
+-	*bearing = ((TT_ShortMetrics*)header->short_metrics)[idx - k];
+-	*advance = ((TT_LongMetrics )header->long_metrics)[k - 1].advance;
+     }
+ }
+ 
+@@ -835,6 +914,7 @@
+ ft_get_very_lazy_bbox( FT_UInt index,
+ 		       FT_Face face,
+ 		       FT_Size size,
++		       FT_UInt num_hmetrics,
+ 		       double slant,
+ 		       FT_Matrix *matrix,
+ 		       FT_BBox *bbox,
+@@ -842,15 +922,14 @@
+ 		       FT_Long *vertAdvance)
+ {
+     if ( FT_IS_SFNT( face ) ) {
+-	TT_Face   ttface = (TT_Face)face;
+ 	FT_Size_Metrics *smetrics = &size->metrics;
+ 	FT_Short  leftBearing = 0;
+ 	FT_UShort advance = 0;
+ 	FT_Vector p0, p1, p2, p3;
+ 
+ 	/* horizontal */
+-	tt_get_metrics(&ttface->horizontal, index,
+-		       &leftBearing, &advance);
++	tt_get_metrics( face, index, num_hmetrics,
++		       &leftBearing, &advance );
+ 
+ #if 0
+ 	fprintf(stderr,"x_scale=%f y_scale=%f\n",
+@@ -910,7 +989,27 @@
+ 		    FT_UShort glyph_index, FT_Glyph_Metrics *metrics_return,
+ 		    int *sbitchk_incomplete_but_exist )
+ {
+-#if (FREETYPE_VERSION >= 2001008)
++#if 1
++    if ( strike_index != 0xFFFFU && ft_face->available_sizes != NULL )
++    {
++      FT_Error         error;
++      FT_Bitmap_Size*  sz = &ft_face->available_sizes[strike_index];
++
++      error = FT_Set_Pixel_Sizes( ft_face, sz->x_ppem/64, sz->y_ppem/64 );
++      if ( !error )
++      {
++        error = FT_Load_Glyph( ft_face, glyph_index, FT_LOAD_SBITS_ONLY );
++        if ( !error )
++        {
++          if ( metrics_return != NULL )
++            *metrics_return = ft_face->glyph->metrics;
++
++          return 0;
++        }
++      }
++    }
++    return -1;
++#elif (FREETYPE_VERSION >= 2001008)
+     SFNT_Service       sfnt;
+     TT_Face            face;
+     FT_Error           error;
+@@ -1043,6 +1142,7 @@
+ 	    if( bitmap_metrics == NULL ) {
+ 		if ( sbitchk_incomplete_but_exist==0 && (instance->ttcap.flags & TTCAP_IS_VERY_LAZY) ) {
+ 		    if( ft_get_very_lazy_bbox( idx, face->face, instance->size, 
++					       face->num_hmetrics,
+ 					       instance->ttcap.vl_slant,
+ 					       &instance->transformation.matrix,
+ 					       &bbox, &outline_hori_advance, 
+@@ -1207,10 +1307,27 @@
+ 	}
+ 
+ 	if( face->face->glyph->format != FT_GLYPH_FORMAT_BITMAP ) {
++#ifdef USE_GET_CBOX
++	    FT_Outline_Get_CBox(&face->face->glyph->outline, &bbox);
++	    ftrc = 0;
++#else
++	    ftrc = FT_Outline_Get_BBox(&face->face->glyph->outline, &bbox);
++#endif
++	    if( ftrc != 0 ) return FTtoXReturnCode(ftrc);
++	    bbox.yMin = FLOOR64( bbox.yMin );
++	    bbox.yMax = CEIL64 ( bbox.yMax );
++	    ht_actual = ( bbox.yMax - bbox.yMin ) >> 6;
++	    /* FreeType think a glyph with 0 height control box is invalid. 
++	     * So just let X to create a empty bitmap instead. */
++	    if ( ht_actual == 0 )
++		is_outline = -1;
++	    else
++	    {
+ 	    ftrc = FT_Render_Glyph(face->face->glyph,FT_RENDER_MODE_MONO);
+ 	    if( ftrc != 0 ) return FTtoXReturnCode(ftrc);
+ 	    is_outline = 1;
+ 	}
++	}
+ 	else{
+ 	    is_outline=0;
+ 	}
+@@ -1221,6 +1338,7 @@
+ 	if( is_outline == 1 ){
+ 	    if( correct ){
+ 		if( ft_get_very_lazy_bbox( idx, face->face, instance->size, 
++					   face->num_hmetrics,
+ 					   instance->ttcap.vl_slant,
+ 					   &instance->transformation.matrix,
+ 					   &bbox, &outline_hori_advance, 
+diff -urbN libXfont-1.1.0/src/FreeType/ftfuncs.h libXfont-1.1.0.new/src/FreeType/ftfuncs.h
+--- xc/lib/font/FreeType/ftfuncs.h	2005-07-07 22:59:47.000000000 +0800
++++ xc/lib/font/FreeType/ftfuncs.h	2006-06-21 21:05:28.533849804 +0800
+@@ -47,6 +47,7 @@
+     char *filename;
+     FT_Face face;
+     int bitmap;
++    FT_UInt num_hmetrics;
+     struct _FTInstance *instances;
+     struct _FTInstance *active_instance;
+     struct _FTFace *next;       /* link to next face in bucket */
+diff -urbN libXfont-1.1.0/src/FreeType/ftsystem.c libXfont-1.1.0.new/src/FreeType/ftsystem.c
+--- xc/lib/font/FreeType/ftsystem.c	2005-07-09 14:36:10.000000000 +0800
++++ xc/lib/font/FreeType/ftsystem.c	2006-06-21 21:05:28.534849622 +0800
+@@ -35,7 +35,6 @@
+ #endif
+ #include <ft2build.h>
+ #include FT_CONFIG_CONFIG_H
+-#include FT_INTERNAL_DEBUG_H
+ #include FT_SYSTEM_H
+ #include FT_ERRORS_H
+ #include FT_TYPES_H

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels