autoheader
scans configure.ac and figures out which C
preprocessor symbols it might define. It knows how to generate
templates for symbols defined by AC_CHECK_HEADERS
,
AC_CHECK_FUNCS
etc., but if you AC_DEFINE
any additional
symbol, you must define a template for it. If there are missing
templates, autoheader
fails with an error message.
The template for a symbol is created
by autoheader
from
the description argument to an AC_DEFINE
;
see Defining C Preprocessor Symbols.
For special needs, you can use the following macros.
Tell autoheader
to generate a template for key. This macro
generates standard templates just like AC_DEFINE
when a
description is given.
For example:
AH_TEMPLATE([NULL_DEVICE], [Name of the file to open to get a null file, or a data sink.])
generates the following template, with the description properly justified.
/* Name of the file to open to get a null file, or a data sink. */ #undef NULL_DEVICE
Tell autoheader
to include the template as-is in the header
template file. This template is associated with the key,
which is used to sort all the different templates and guarantee their
uniqueness. It should be a symbol that can be defined via AC_DEFINE
.
Include text at the top of the header template file.
Include text at the bottom of the header template file.
Please note that text gets included “verbatim” to the template file, not to the resulting config header, so it can easily get mangled when the template is processed. There is rarely a need for something other than
AH_BOTTOM([#include <custom.h>])