--- glib-2.12.4.old/configure.in	2006-10-01 06:51:15.000000000 +0100
+++ glib-2.12.4/configure.in	2006-10-09 16:28:58.816322640 +0100
@@ -170,15 +170,6 @@
 fi
 AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes])
 
-if test "$glib_native_win32" != yes; then
-    # libtool option to control which symbols are exported
-    # right now, symbols starting with _ are not exported
-    LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
-else
-    # We currently use .def files on Windows
-    LIBTOOL_EXPORT_OPTIONS=
-fi
-AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
 
 dnl declare --enable-* args and collect ac_help strings
 AC_ARG_ENABLE(debug,
@@ -207,6 +198,20 @@
               [AC_HELP_STRING([--disable-visibility],
                               [don't use ELF visibility attributes])],,
               [enable_visibility=yes])
+AC_ARG_ENABLE(symbol_hiding,
+              [AC_HELP_STRING([--disable-symbol-hiding],
+                              [don't hide symbols beginning with an underscore])],,
+              [enable_symbol_hiding=yes])
+
+LIBTOOL_EXPORT_OPTIONS=
+if test "x$enable_symbol_hiding" = "xyes"; then
+   if test "$glib_native_win32" != yes; then
+      # libtool option to control which symbols are exported
+      # right now, symbols starting with _ are not exported
+      LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+   fi
+fi
+AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
 
 if test "x$enable_threads" != "xyes"; then
   enable_threads=no
