and finally... In a little test I use three versions of AC_DEFINE_UNQUOTED:
AC_DEFINE_UNQUOTED($ac_tr_decl, 1, [yadayada]) AC_DEFINE_UNQUOTED(foobar1, 1, [yadayada]) AC_DEFINE_UNQUOTED(foobar2, $ac_tr_decl, [yadayada]) in the first case the variable name itself is a variable, in the second there is no variable (so I could in fact use AC_DEFINE), in the third the value is a variable. Only the last two result in an entry in the header template generated from autoheader (I'm using autoconf 2.53, by the way). The autoconf docs clearly state that all three forms are valid. Where is the error ? Regards, Stefan PS: oh, and I had to realize that I can't use '#undef' in AH_BOTTOM to work around the exposure of the PACKAGE variables as I reported earlier. This makes the whole AH_TOP and AH_BOTTOM business redundent, as I do need to define my own wrapper header anyways that undefs the macros I don't want to expose, i.e. assuming I generate 'acconfig.hh.in' from configure.ac containing '#undef PACKAGE_NAME' as generated with autoheader, I have to write my own header 'config.hh' like this: #include <Prague/acconfig.hh> #define Prague_VERSION PACKAGE_VERSION #undef PACKAGE_VERSION #under PACKAGE_NAME ...