summaryrefslogtreecommitdiff
path: root/doc/m4.1
blob: 51233f079e414c56b79686824314b053dfa25a0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.43.3.
.TH M4 "1" "September 2013" "GNU M4 1.4.17" "User Commands"
.SH NAME
m4 \- macro processor
.SH SYNOPSIS
.B m4
[\fIOPTION\fR]... [\fIFILE\fR]...
.SH DESCRIPTION
Process macros in FILEs.  If no FILE or if FILE is `\-', standard input
is read.
.PP
Mandatory or optional arguments to long options are mandatory or optional
for short options too.
.SS "Operation modes:"
.TP
\fB\-\-help\fR
display this help and exit
.TP
\fB\-\-version\fR
output version information and exit
.TP
\fB\-E\fR, \fB\-\-fatal\-warnings\fR
once: warnings become errors, twice: stop
execution at first error
.TP
\fB\-i\fR, \fB\-\-interactive\fR
unbuffer output, ignore interrupts
.TP
\fB\-P\fR, \fB\-\-prefix\-builtins\fR
force a `m4_' prefix to all builtins
.TP
\fB\-Q\fR, \fB\-\-quiet\fR, \fB\-\-silent\fR
suppress some warnings for builtins
.TP
\fB\-\-warn\-macro\-sequence\fR[=\fIREGEXP\fR]
warn if macro definition matches REGEXP,
.IP
default \e$\e({[^}]*}\e|[0\-9][0\-9]+\e)
.SS "Preprocessor features:"
.TP
\fB\-D\fR, \fB\-\-define=NAME\fR[=\fIVALUE\fR]
define NAME as having VALUE, or empty
.TP
\fB\-I\fR, \fB\-\-include\fR=\fIDIRECTORY\fR
append DIRECTORY to include path
.TP
\fB\-s\fR, \fB\-\-synclines\fR
generate `#line NUM "FILE"' lines
.TP
\fB\-U\fR, \fB\-\-undefine\fR=\fINAME\fR
undefine NAME
.SS "Limits control:"
.TP
\fB\-g\fR, \fB\-\-gnu\fR
override \fB\-G\fR to re\-enable GNU extensions
.TP
\fB\-G\fR, \fB\-\-traditional\fR
suppress all GNU extensions
.TP
\fB\-H\fR, \fB\-\-hashsize\fR=\fIPRIME\fR
set symbol lookup hash table size [509]
.TP
\fB\-L\fR, \fB\-\-nesting\-limit\fR=\fINUMBER\fR
change nesting limit, 0 for unlimited [0]
.SS "Frozen state files:"
.TP
\fB\-F\fR, \fB\-\-freeze\-state\fR=\fIFILE\fR
produce a frozen state on FILE at end
.TP
\fB\-R\fR, \fB\-\-reload\-state\fR=\fIFILE\fR
reload a frozen state from FILE at start
.SS "Debugging:"
.TP
\fB\-d\fR, \fB\-\-debug\fR[=\fIFLAGS\fR]
set debug level (no FLAGS implies `aeq')
.TP
\fB\-\-debugfile\fR[=\fIFILE\fR]
redirect debug and trace output to FILE
(default stderr, discard if empty string)
.TP
\fB\-l\fR, \fB\-\-arglength\fR=\fINUM\fR
restrict macro tracing size
.TP
\fB\-t\fR, \fB\-\-trace\fR=\fINAME\fR
trace NAME when it is defined
.SS "FLAGS is any of:"
.TP
a
show actual arguments
.TP
c
show before collect, after collect and after call
.TP
e
show expansion
.TP
f
say current input file name
.TP
i
show changes in input files
.TP
l
say current input line number
.TP
p
show results of path searches
.TP
q
quote values as necessary, with a or e flag
.TP
t
trace for all macro calls, not only traceon'ed
.TP
x
add a unique macro call id, useful with c flag
.TP
V
shorthand for all of the above flags
.PP
If defined, the environment variable `M4PATH' is a colon\-separated list
of directories included after any specified by `\-I'.
.PP
Exit status is 0 for success, 1 for failure, 63 for frozen file version
mismatch, or whatever value was passed to the m4exit macro.
.SH AUTHOR
Written by Rene' Seindal.
.SH "REPORTING BUGS"
Report bugs to: bug\-m4@gnu.org
.br
GNU M4 home page: <http://www.gnu.org/software/m4/>
.br
General help using GNU software: <http://www.gnu.org/gethelp/>
.SH COPYRIGHT
Copyright \(co 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
The full documentation for
.B m4
is maintained as a Texinfo manual.  If the
.B info
and
.B m4
programs are properly installed at your site, the command
.IP
.B info m4
.PP
should give you access to the complete manual.