Previous: autoheader Invocation, Up: Configuration Headers
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 simplest way to create a template for a symbol is to supply the description argument to an ‘AC_DEFINE(symbol)’; see Defining Symbols. You may also use one of the following macros.
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
.For example:
AH_VERBATIM([_GNU_SOURCE], [/* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE #endif])
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([CRAY_STACKSEG_END], [Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. This function is required for alloca.c support on those systems.])generates the following template, with the description properly justified.
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. This function is required for alloca.c support on those systems. */ #undef CRAY_STACKSEG_END