Next: make-tmp-dir - create a temporary directory, Previous: low-lim - get lowest value index, Up: AutoGen Scheme Functions [Contents][Index]
Usage: (make-header-guard name)
This function will create a #ifndef
/#define
sequence for protecting a header from multiple evaluation.
It will also set the Scheme variable header-file
to the name of the file being protected and it will set
header-guard
to the name of the #define
being
used to protect it. It is expected that this will be used
as follows:
[+ (make-header-guard "group_name") +] ... #endif /* [+ (. header-guard) +] */ #include "[+ (. header-file) +]"
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:
name - header group name
Next: make-tmp-dir - create a temporary directory, Previous: low-lim - get lowest value index, Up: AutoGen Scheme Functions [Contents][Index]