M4
Section: User Commands (1)
Updated: December 2016
Page Index
NAME
m4 - macro processor
SYNOPSIS
m4
[
,OPTION/]... [
,FILE/]...
DESCRIPTION
Process macros in FILEs. If no FILE or if FILE is `-', standard input
is read.
Mandatory or optional arguments to long options are mandatory or optional
for short options too.
Operation modes:
- --help
-
display this help and exit
- --version
-
output version information and exit
- -E, --fatal-warnings
-
once: warnings become errors, twice: stop
execution at first error
- -i, --interactive
-
unbuffer output, ignore interrupts
- -P, --prefix-builtins
-
force a `m4_' prefix to all builtins
- -Q, --quiet, --silent
-
suppress some warnings for builtins
- --warn-macro-sequence[=,REGEXP/]
-
warn if macro definition matches REGEXP,
-
default \$\({[^}]*}\|[0-9][0-9]+\)
- -W, --word-regexp=,REGEXP/
-
use REGEXP for macro name syntax
Preprocessor features:
- -D, --define=NAME[=,VALUE/]
-
define NAME as having VALUE, or empty
- -I, --include=,DIRECTORY/
-
append DIRECTORY to include path
- -s, --synclines
-
generate `#line NUM "FILE"' lines
- -U, --undefine=,NAME/
-
undefine NAME
Limits control:
- -g, --gnu
-
override -G to re-enable GNU extensions
- -G, --traditional
-
suppress all GNU extensions
- -H, --hashsize=,PRIME/
-
set symbol lookup hash table size [509]
- -L, --nesting-limit=,NUMBER/
-
change nesting limit, 0 for unlimited [0]
Frozen state files:
- -F, --freeze-state=,FILE/
-
produce a frozen state on FILE at end
- -R, --reload-state=,FILE/
-
reload a frozen state from FILE at start
Debugging:
- -d, --debug[=,FLAGS/]
-
set debug level (no FLAGS implies `aeq')
- --debugfile[=,FILE/]
-
redirect debug and trace output to FILE
(default stderr, discard if empty string)
- -l, --arglength=,NUM/
-
restrict macro tracing size
- -t, --trace=,NAME/
-
trace NAME when it is defined
FLAGS is any of:
- a
-
show actual arguments
- c
-
show before collect, after collect and after call
- e
-
show expansion
- f
-
say current input file name
- i
-
show changes in input files
- l
-
say current input line number
- p
-
show results of path searches
- q
-
quote values as necessary, with a or e flag
- t
-
trace for all macro calls, not only traceon'ed
- x
-
add a unique macro call id, useful with c flag
- V
-
shorthand for all of the above flags
If defined, the environment variable `M4PATH' is a colon-separated list
of directories included after any specified by `-I'.
Exit status is 0 for success, 1 for failure, 63 for frozen file version
mismatch, or whatever value was passed to the m4exit macro.
AUTHOR
Written by Rene' Seindal.
REPORTING BUGS
Report bugs to:
bug-m4@gnu.org
GNU M4 home page: <
http://www.gnu.org/software/m4/>
General help using GNU software: <
http://www.gnu.org/gethelp/>
COPYRIGHT
Copyright © 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
The full documentation for
m4
is maintained as a Texinfo manual. If the
info
and
m4
programs are properly installed at your site, the command
-
info m4
should give you access to the complete manual.