When I #include the public headers for libghemical-2.10, I wind up polluting my namespace with lots of #define tokens that seems like they should be restricted to libghemical's own source-building process. For example, why should "a library that links against libghemical" see: /* This is the version of libghemical to be built--it is set in the configure.ac */ #define LIBVERSION "2.10" (from from libghemicalconfig2.h)? It's the library version of libghemical, not of the library being built against it. The token name is generic enough that it's likely to conflict with my own library's tokens. Likewise, all the autoconf tokens at best cause a slew of redefined warnings due to my own config.h also having them. Executive summary: restrict header things that are used by the libghemical build process to being private to the build process. For example, have the libghemical sources #include libghemicalconfig2.h directly instead of having libghemicaldefine.h #include it, and don't install the config header publicly. dan -- Daniel Macks dmacks at netspace.org http://www.netspace.org/~dmacks