m4 is as specified in the Single UNIX Specification but with differences as listed below.
forces a m4_ prefix to all builtins.
Add directory to the end of the search path for includes.
The behaviors specified in this section are expected to disappear from a future version of the LSB; applications should only use the non-LSB-deprecated behaviors.
outputs version information and exits.
unbuffers output, ignores interrupts.
stops execution after first warning.
suppresses some warnings for builtins.
is equivalent to -P.
is equivalent to -I.
is equivalent to -D.
deletes builtin NAME.
is equivalent to -s.
suppresses all GNU extensions.
sets symbol lookup hash table size.
changes artificial nesting limit.
produces a frozen state on FILE at end.
reloads a frozen state from FILE at start.
sets debug level (no FLAGS implies 'aeq'). FLAGS is any of:
traces for all macro calls, not only 'ed.
shows actual arguments.
quotes values as necessary, with a or e flag.
shows before collect, after collect and after call.
adds a unique macro call id, useful with c flag.
says current input file name.
says current input line number.
shows results of path searches.
shows changes in input files.
is shorthand for all of the above flags.
traces NAME when it will be defined.
restricts macro tracing size.
redirects debug and traces output.