diff -ruN sources-original/glib/gio/giomodule.c sources/glib/gio/giomodule.c
--- sources-original/glib/gio/giomodule.c	2011-09-15 02:01:00 +0200
+++ sources/glib/gio/giomodule.c	2011-10-03 10:05:58 +0200
@@ -48,6 +48,10 @@
 #include "gdesktopappinfo.h"
 #endif
 
+#ifndef GMODULE_WIN32_EXTENSION
+#define GMODULE_WIN32_EXTENSION ".dll"
+#endif
+
 /**
  * SECTION:giomodule
  * @short_description: Loadable GIO Modules
@@ -360,7 +364,7 @@
       !g_str_has_suffix (basename, ".so"))
     return FALSE;
 #else
-  if (!g_str_has_suffix (basename, ".dll"))
+  if (!g_str_has_suffix (basename, GMODULE_WIN32_EXTENSION))
     return FALSE;
 #endif
 
diff -ruN sources-original/glib/gmodule/gmodule-win32.c sources/glib/gmodule/gmodule-win32.c
--- sources-original/glib/gmodule/gmodule-win32.c	2011-09-09 21:58:10 +0200
+++ sources/glib/gmodule/gmodule-win32.c	2011-10-03 09:59:15 +0200
@@ -41,6 +41,10 @@
 #include <sys/cygwin.h>
 #endif
 
+#ifndef GMODULE_WIN32_EXTENSION
+#define GMODULE_WIN32_EXTENSION ".dll"
+#endif
+
 static void
 set_error (const gchar *format,
 	   ...)
@@ -173,30 +177,30 @@
   k = strlen (module_name);
     
   if (directory && *directory)
-    if (k > 4 && g_ascii_strcasecmp (module_name + k - 4, ".dll") == 0)
+    if (k > 4 && g_ascii_strcasecmp (module_name + k - 4, GMODULE_WIN32_EXTENSION) == 0)
       return g_strconcat (directory, G_DIR_SEPARATOR_S, module_name, NULL);
 #ifdef G_WITH_CYGWIN
     else if (strncmp (module_name, "lib", 3) == 0 || strncmp (module_name, "cyg", 3) == 0)
-      return g_strconcat (directory, G_DIR_SEPARATOR_S, module_name, ".dll", NULL);
+      return g_strconcat (directory, G_DIR_SEPARATOR_S, module_name, GMODULE_WIN32_EXTENSION, NULL);
     else
-      return g_strconcat (directory, G_DIR_SEPARATOR_S, "cyg", module_name, ".dll", NULL);
+      return g_strconcat (directory, G_DIR_SEPARATOR_S, "cyg", module_name, GMODULE_WIN32_EXTENSION, NULL);
 #else
     else if (strncmp (module_name, "lib", 3) == 0)
-      return g_strconcat (directory, G_DIR_SEPARATOR_S, module_name, ".dll", NULL);
+      return g_strconcat (directory, G_DIR_SEPARATOR_S, module_name, GMODULE_WIN32_EXTENSION, NULL);
     else
-      return g_strconcat (directory, G_DIR_SEPARATOR_S, "lib", module_name, ".dll", NULL);
+      return g_strconcat (directory, G_DIR_SEPARATOR_S, "lib", module_name, GMODULE_WIN32_EXTENSION, NULL);
 #endif
-  else if (k > 4 && g_ascii_strcasecmp (module_name + k - 4, ".dll") == 0)
+  else if (k > 4 && g_ascii_strcasecmp (module_name + k - 4, GMODULE_WIN32_EXTENSION) == 0)
     return g_strdup (module_name);
 #ifdef G_WITH_CYGWIN
   else if (strncmp (module_name, "lib", 3) == 0 || strncmp (module_name, "cyg", 3) == 0)
-    return g_strconcat (module_name, ".dll", NULL);
+    return g_strconcat (module_name, GMODULE_WIN32_EXTENSION, NULL);
   else
-    return g_strconcat ("cyg", module_name, ".dll", NULL);
+    return g_strconcat ("cyg", module_name, GMODULE_WIN32_EXTENSION, NULL);
 #else
   else if (strncmp (module_name, "lib", 3) == 0)
-    return g_strconcat (module_name, ".dll", NULL);
+    return g_strconcat (module_name, GMODULE_WIN32_EXTENSION, NULL);
   else
-    return g_strconcat ("lib", module_name, ".dll", NULL);
+    return g_strconcat ("lib", module_name, GMODULE_WIN32_EXTENSION, NULL);
 #endif
 }
