Copyright (C) 2000-2012 |
GNU Info (autoconf.info)Header TemplatesConfiguration Header Templates ------------------------------ Your distribution should contain a template file that looks as you want the final header file to look, including comments, with `#undef' statements which are used as hooks. For example, suppose your `configure.ac' makes these calls: AC_CONFIG_HEADERS([conf.h]) AC_CHECK_HEADERS([unistd.h]) Then you could have code like the following in `conf.h.in'. On systems that have `unistd.h', `configure' will `#define' `HAVE_UNISTD_H' to 1. On other systems, the whole line will be commented out (in case the system predefines that symbol). /* Define as 1 if you have unistd.h. */ #undef HAVE_UNISTD_H You can then decode the configuration header using the preprocessor directives: #include <conf.h> #if HAVE_UNISTD_H # include <unistd.h> #else /* We are in trouble. */ #endif The use of old form templates, with `#define' instead of `#undef' is strongly discouraged. Since it is a tedious task to keep a template header up to date, you may use `autoheader' to generate it, see Note: autoheader Invocation. automatically generated by info2www version 1.2.2.9 |