[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Usage: (make-header-guard prefix)
This function will insert the #ifndef
and #define
C preprocessing
directives that will cause a header file to exclude itself once it has been
sourced in a compilation. The #define
name is composed as follows:
_GUARD
".
The final #define
name is stored in an SCM symbol named
header-guard
. Consequently, the concluding #endif
for the
file should read something like:
#endif /* [+ (. header-guard) +] */ |
The name of the header file (the current output file) is also stored in an SCM
symbol, header-file
. Therefore, if you are also generating a
C file that uses the previously generated header file, you can put
this into that generated file:
#include "[+ (. header-file) +]" |
Obviously, if you are going to produce more than one header file from a particular template, you will need to be careful how these SCM symbols get handled.
Arguments:
prefix - prefix for #define
name.