--- gio/Makefile.am | 3 ++- gio/Makefile.in | 2 +- gio/giomodule.c | 10 +++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) Index: glib2.0-2.21.5/gio/giomodule.c =================================================================== --- glib2.0-2.21.5.orig/gio/giomodule.c +++ glib2.0-2.21.5/gio/giomodule.c @@ -240,21 +240,29 @@ * with g_list_free(). **/ GList * g_io_modules_load_all_in_directory (const char *dirname) { const gchar *name; GDir *dir; GList *modules; + const gchar *arch_dirname; if (!g_module_supported ()) return NULL; - dir = g_dir_open (dirname, 0, NULL); + arch_dirname = g_build_filename (dirname, GIO_HOST, NULL); + + dir = g_dir_open (arch_dirname, 0, NULL); + g_free (arch_dirname); + + if (!dir) + dir = g_dir_open (dirname, 0, NULL); + if (!dir) return NULL; modules = NULL; while ((name = g_dir_read_name (dir))) { if (is_valid_module_name (name)) { Index: glib2.0-2.21.5/gio/Makefile.am =================================================================== --- glib2.0-2.21.5.orig/gio/Makefile.am +++ glib2.0-2.21.5/gio/Makefile.am @@ -45,17 +45,18 @@ -DG_LOG_DOMAIN=\"GLib-GIO\" \ -I$(top_builddir) \ -I$(top_srcdir) \ -I$(top_srcdir)/glib \ -I$(top_srcdir)/gmodule \ $(GLIB_DEBUG_FLAGS) \ -DG_DISABLE_DEPRECATED \ -DGIO_COMPILATION \ - -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" + -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" \ + -DGIO_HOST=\"$(host)\" lib_LTLIBRARIES = libgio-2.0.la marshal_sources = \ gio-marshal.h \ gio-marshal.c \ $(NULL) Index: glib2.0-2.21.5/gio/Makefile.in =================================================================== --- glib2.0-2.21.5.orig/gio/Makefile.in +++ glib2.0-2.21.5/gio/Makefile.in @@ -491,17 +491,17 @@ $(am__append_9) . $(am__append_12) tests @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@noinst_DATA = gio-2.0.lib @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir) @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib @HAVE_GNUC_VISIBILITY_TRUE@@OS_LINUX_TRUE@TESTS = abicheck.sh pltcheck.sh AM_CPPFLAGS = -DG_LOG_DOMAIN=\"GLib-GIO\" -I$(top_builddir) \ -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gmodule \ $(GLIB_DEBUG_FLAGS) -DG_DISABLE_DEPRECATED -DGIO_COMPILATION \ - -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" $(am__append_5) + -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" -DGIO_HOST=\"$(host)\" $(am__append_5) lib_LTLIBRARIES = libgio-2.0.la marshal_sources = \ gio-marshal.h \ gio-marshal.c \ $(NULL) @CROSS_COMPILING_FALSE@glib_genmarshal = ../gobject/glib-genmarshal @CROSS_COMPILING_TRUE@glib_genmarshal = $(GLIB_GENMARSHAL)