.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.38.2.
.TH AUTOHEADER "1" "September 2010" "GNU Autoconf 2.68" "User Commands"
.SH NAME
autoheader \- Create a template header for configure
.SH SYNOPSIS
.B autoheader
[\fIOPTION\fR]... [\fITEMPLATE-FILE\fR]
.SH DESCRIPTION
Create a template file of C `#define' statements for `configure' to
use.  To this end, scan TEMPLATE\-FILE, or `configure.ac' if present,
or else `configure.in'.
.TP
\fB\-h\fR, \fB\-\-help\fR
print this help, then exit
.TP
\fB\-V\fR, \fB\-\-version\fR
print version number, then exit
.TP
\fB\-v\fR, \fB\-\-verbose\fR
verbosely report processing
.TP
\fB\-d\fR, \fB\-\-debug\fR
don't remove temporary files
.TP
\fB\-f\fR, \fB\-\-force\fR
consider all files obsolete
.TP
\fB\-W\fR, \fB\-\-warnings\fR=\fICATEGORY\fR
report the warnings falling in CATEGORY
.SS "Warning categories include:"
.TP
`cross'
cross compilation issues
.TP
`gnu'
GNU coding standards (default in gnu and gnits modes)
.TP
`obsolete'
obsolete features or constructions
.TP
`override'
user redefinitions of Automake rules or variables
.TP
`portability'
portability issues (default in gnu and gnits modes)
.TP
`syntax'
dubious syntactic constructs (default)
.TP
`unsupported'
unsupported or incomplete features (default)
.TP
`all'
all the warnings
.TP
`no\-CATEGORY'
turn off warnings in CATEGORY
.TP
`none'
turn off all the warnings
.TP
`error'
treat warnings as errors
.SS "Library directories:"
.TP
\fB\-B\fR, \fB\-\-prepend\-include\fR=\fIDIR\fR
prepend directory DIR to search path
.TP
\fB\-I\fR, \fB\-\-include\fR=\fIDIR\fR
append directory DIR to search path
.SH AUTHOR
Written by Roland McGrath and Akim Demaille.
.SH "REPORTING BUGS"
Report bugs to <bug\-autoconf@gnu.org>.
.br
GNU Autoconf home page: <http://www.gnu.org/software/autoconf/>.
.br
General help using GNU software: <http://www.gnu.org/gethelp/>.
.SH COPYRIGHT
Copyright \(co 2010 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.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"
.BR autoconf (1),
.BR automake (1),
.BR autoreconf (1),
.BR autoupdate (1),
.BR autoheader (1),
.BR autoscan (1),
.BR config.guess (1),
.BR config.sub (1),
.BR ifnames (1),
.BR libtool (1).
.PP
The full documentation for
.B autoheader
is maintained as a Texinfo manual.  If the
.B info
and
.B autoheader
programs are properly installed at your site, the command
.IP
.B info autoheader
.PP
should give you access to the complete manual.
