| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Definition processing directives can only be processed
if the '#' character is the first character on a line. Also, if you
want a '#' as the first character of a line in one of your string
assignments, you should either escape it by preceding it with a
backslash `\', or by embedding it in the string as in "\n#".
All of the normal C preprocessing directives are recognized, though
several are ignored. There is also an additional #shell -
#endshell pair. Another minor difference is that AutoGen
directives must have the hash character (#) in column 1.
The ignored directives are:
`#assert', `#ident', `#pragma', and `#if'.
Note that when ignoring the #if directive, all intervening
text through its matching #endif is also ignored,
including the #else clause.
The AutoGen directives that affect the processing of definitions are:
#define name [ <text> ]
After the definitions file has been processed, any remaining entries in the define list will be added to the environment.
#elif
#if
otherwise it will generate an error.
It will be ignored.
#else
#if, #ifdef or #ifndef.
If it follows the #if, then it will be ignored. Otherwise,
it will change the processing state to the reverse of what it was.
#endif
#if, #ifdef or #ifndef.
In all cases, this will resume normal processing of text.
#endshell
#error [ <descriptive text> ]
#if [ <ignored conditional expression> ]
#if expressions are not analyzed. Everything from here
to the matching #endif is skipped.
#ifdef name-to-test
#endif will be
processed only if there is a corresponding -Dname command line
option.
#ifndef name-to-test
#endif will be
processed only if there is not a corresponding -Dname
command line option or there was a canceling -Uname option.
#include unadorned-file-name
#line
getdefs uses this mechanism so AutoGen will report the correct
file and approximate line number of any errors found in extracted
definitions.
#shell
$SHELL or `/bin/sh' on a script that should
generate AutoGen definitions. It does this using the same server
process that handles the back-quoted ` text.
CAUTION let not your $SHELL be csh.
#undef name-to-undefine
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |