diff -urN gtk+-2.8.0.orig/gdk-pixbuf/Makefile.am gtk+-2.8.0/gdk-pixbuf/Makefile.am
--- gtk+-2.8.0.orig/gdk-pixbuf/Makefile.am	2005-07-09 01:10:11.000000000 +0100
+++ gtk+-2.8.0/gdk-pixbuf/Makefile.am	2005-08-17 17:59:20.000000000 +0100
@@ -271,6 +271,7 @@
 	-I$(top_srcdir)/gdk-pixbuf 		\
 	-I$(top_builddir)/gdk-pixbuf 		\
 	-DGTK_SYSCONFDIR=\"$(sysconfdir)\"	\
+	-DHOST=\"$(host_triplet)\"		\
 	-DGTK_VERSION=\"$(GTK_VERSION)\"	\
 	-DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"	\
 	-DG_DISABLE_DEPRECATED			\
diff -urN gtk+-2.8.0.orig/gdk-pixbuf/Makefile.in gtk+-2.8.0/gdk-pixbuf/Makefile.in
--- gtk+-2.8.0.orig/gdk-pixbuf/Makefile.in	2005-08-17 17:38:06.000000000 +0100
+++ gtk+-2.8.0/gdk-pixbuf/Makefile.in	2005-08-17 17:59:35.000000000 +0100
@@ -504,6 +504,7 @@
 	-I$(top_srcdir)/gdk-pixbuf 		\
 	-I$(top_builddir)/gdk-pixbuf 		\
 	-DGTK_SYSCONFDIR=\"$(sysconfdir)\"	\
+	-DHOST=\"$(host_triplet)\"		\
 	-DGTK_VERSION=\"$(GTK_VERSION)\"	\
 	-DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"	\
 	-DG_DISABLE_DEPRECATED			\
diff -urN gtk+-2.8.0.orig/gdk-pixbuf/gdk-pixbuf-io.c gtk+-2.8.0/gdk-pixbuf/gdk-pixbuf-io.c
--- gtk+-2.8.0.orig/gdk-pixbuf/gdk-pixbuf-io.c	2005-07-22 16:34:32.000000000 +0100
+++ gtk+-2.8.0/gdk-pixbuf/gdk-pixbuf-io.c	2005-08-17 17:44:48.000000000 +0100
@@ -276,8 +276,15 @@
   gchar *result = g_strdup (g_getenv ("GDK_PIXBUF_MODULE_FILE"));
 
   if (!result)
-	  result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
-
+  {
+	  result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", HOST, "gdk-pixbuf.loaders", NULL);
+	  if (!g_file_test (result, G_FILE_TEST_EXISTS))
+	  {
+		  g_free (result);
+
+		  result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
+	  }
+  }
   return result;
 }
 
diff -urN gtk+-2.8.0.orig/gtk/gtkrc.c gtk+-2.8.0/gtk/gtkrc.c
--- gtk+-2.8.0.orig/gtk/gtkrc.c	2005-04-06 14:49:28.000000000 +0100
+++ gtk+-2.8.0/gtk/gtkrc.c	2005-08-17 17:54:36.000000000 +0100
@@ -364,7 +364,15 @@
       if (im_module_file)
 	result = g_strdup (im_module_file);
       else
-	result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+	{
+	  result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", GTK_HOST, "gtk.immodules", NULL);
+	  if (!g_file_test (result, G_FILE_TEST_EXISTS))
+	    {
+	      g_free (result);
+	      
+	      result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+	    }
+	}
     }
 
   return result;
