I have uploaded glib-rrh-19981025-0.patch.gz to ftp.gtk.org:/incoming. The idea of this patch is the same as my previous suggested patch (glib-rrh-980712-0.patch.gz): Installed header files should not define/test HAVE_* macros which are the output of a configure process -- this will prevent unnecessary interactions with other packages that define/use similar HAVE_* macros. They should use sanitized macros, and they can depend on header files that are installed under $exec_prefix to provide the sanitized values. The basic problem it is trying to fix is that the installed `glibconfig.h' has a lot of HAVE_* macros. Another "problem" is that `glib.h' has a lot of nearly identical set of #defines/typedefs chosen among by some `#ifdef' which use the above HAVE_* macros. One option is to rename every HAVE_* to G_HAVE_* and be done with it. Another is to try to precompute the results of the #ifdef tests and emit only those defines that would have been used originally. I chose the second option. This patch is pretty transparent, and requires few modifications of other packages. I've been using this, and a variant of this, for nearly 4 months and haven't seen many problems. The changes needed in other packages: * gdk/gdki18n.h: Use G_HAVE_{WCHAR_H,WCTYPE_H,BROKEN_WCTYPE} instead of HAVE_*. * ORBit/src/ORBitutil/basic_types.h: Use G_HAVE_GINT64 instead of HAVE_GINT64. Here's the ChangeLog for `glib': 1998-10-25 Raja R Harinath * Makefile.am (glibconfig.h): New rule. (stamp-gc-h): New rule. Generate `glibconfig.h'. * configure.in (AM_CONFIG_HEADER): It is now `config.h'. (HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before concluding "broken wctype". (glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into config.status. * glib.h: Remove a lot of tests and defines. All these have been moved to `configure.in (glibconfig.h)'. * gmem.c: Include . * gstrfuncs.c: Likewise. * gutils.c: Likewise.