70 |
@cindex guile-snarf invocation |
@cindex guile-snarf invocation |
71 |
@cindex guile-snarf example |
@cindex guile-snarf example |
72 |
|
|
73 |
Usage: guile-snarf [-d | -D] [-o OUTFILE] INFILE [CPP-OPTIONS ...] |
Usage: guile-snarf [-o OUTFILE] INFILE [CPP-OPTIONS ...] |
74 |
|
|
75 |
What @code{guile-snarf} does: |
What @code{guile-snarf} does: |
76 |
|
|
77 |
Process INFILE using the C pre-processor and some other programs. |
Process INFILE using the C pre-processor and some other programs. |
78 |
Write output to a file, named OUTFILE if specified, or STEM.x if |
Write output to a file named OUTFILE or to the standard output when no |
79 |
INFILE looks like STEM.c and no OUTFILE is specified. Ignore |
OUTFILE has been specified or when OUTFILE is @code{-}. When writing |
80 |
lines from the input matching grep(1) regular expression: |
to a file, ignore lines from the input matching the following grep(1) |
81 |
|
regular expression: |
82 |
|
|
83 |
@example |
@example |
84 |
^#include ".*OUTFILE" |
^#include ".*OUTFILE" |
87 |
If there are errors during processing, delete OUTFILE and exit with |
If there are errors during processing, delete OUTFILE and exit with |
88 |
non-zero status. |
non-zero status. |
89 |
|
|
|
Optional arg "-d" means grep INFILE for deprecated macros and |
|
|
issue a warning if any are found. Alternatively, "-D" means |
|
|
do the same thing but signal error and exit with non-zero status. |
|
|
|
|
90 |
If env var CPP is set, use its value instead of the C pre-processor |
If env var CPP is set, use its value instead of the C pre-processor |
91 |
determined at Guile configure-time. |
determined at Guile configure-time. |
92 |
|
|
133 |
need to execute the following command to prepare this file for compilation: |
need to execute the following command to prepare this file for compilation: |
134 |
|
|
135 |
@example |
@example |
136 |
guile-snarf image-type.c |
guile-snarf -o image-type.x image-type.c |
137 |
@end example |
@end example |
138 |
|
|
139 |
This scans @file{image-type.c} for @code{SCM_DEFINE} |
This scans @file{image-type.c} for @code{SCM_DEFINE} |
232 |
@code{SCM_DEFINE} (and similar), and then the function body, and then |
@code{SCM_DEFINE} (and similar), and then the function body, and then |
233 |
@code{#undef FUNC_NAME}. |
@code{#undef FUNC_NAME}. |
234 |
|
|
235 |
Here is the list of deprecated macros: |
@c Here is the list of deprecated macros: |
|
|
|
|
@c reminder: sync w/ libguile/guile-snarf.in var `deprecated_list' |
|
|
@example |
|
|
SCM_CONST_LONG |
|
|
SCM_VCELL |
|
|
SCM_VCELL_INIT |
|
|
SCM_GLOBAL_VCELL |
|
|
SCM_GLOBAL_VCELL_INIT |
|
|
@end example |
|
236 |
|
|
237 |
Some versions of guile (and guile-snarf) will continue to recognize them but |
@c @c reminder: sync w/ libguile/guile-snarf.in var `deprecated_list' |
238 |
at some point they will no longer work. You can pass either @code{-d} or |
@c @example |
239 |
@code{-D} option to have guile-snarf warn or signal error, respectively, if |
@c SCM_CONST_LONG |
240 |
any of these are found in the input file. |
@c SCM_VCELL |
241 |
|
@c SCM_VCELL_INIT |
242 |
|
@c SCM_GLOBAL_VCELL |
243 |
|
@c SCM_GLOBAL_VCELL_INIT |
244 |
|
@c @end example |
245 |
|
|
246 |
|
@c Some versions of guile (and guile-snarf) will continue to recognize them but |
247 |
|
@c at some point they will no longer work. You can pass either @code{-d} or |
248 |
|
@c @code{-D} option to have guile-snarf warn or signal error, respectively, if |
249 |
|
@c any of these are found in the input file. |
250 |
|
|
251 |
@xref{How guile-snarf works}, and also libguile source, for examples. |
@xref{How guile-snarf works}, and also libguile source, for examples. |
252 |
@xref{Subrs}, for details on argument passing and how to write C |
@xref{Subrs}, for details on argument passing and how to write C |