On Fri, 30 Oct 2009, Kevin Van Vechten wrote:
I'm not very familiar with autoconf conventions and was wondering why some config.h values are merely defined and some are explicitly defined to 1.
Is there a strong convention to do #ifdef HAVE_FOO instead of #if HAVE_FOO when testing for configure features? For various reasons, the ability to define a macro to 0 or 1 would be useful for the Mac OS X version of config.h — it would let us define certain features in terms of other features without as much conditional logic.
As I understand it, some of this is simply a feature of the way autoconf works: AC_CHECK_DECLS(), used for testing macros, checks conditionally define HAVE_DECL_foo, whereas functional checks, such as AC_CHECK_FUNCS(), used for testing for functions, defines HAVE_foo unconditionally but with a value of 0 or 1. I'd be quite happy to learn about ways to avoid this happening. :-) Robert N M Watson Computer Laboratory University of Cambridge