# info > AUTOCONF

---
type: CommandReference
command: autoconf
mode: man
section: 1
source: man-pages
---

## Quick Reference

- `autoconf` — generate `configure` from `configure.ac` (or `configure.in`)
- `autoconf -o FILE` — save output to `FILE` instead of stdout
- `autoconf -t MACRO` — trace calls to `MACRO` (no configure script created)
- `autoconf -W all` — enable all warnings
- `autoconf -W none` — disable all warnings
- `autoconf -I DIR` — add directory `DIR` to search path
- `autoconf -B DIR` — prepend directory `DIR` to search path
- `autoconf -v` — verbose processing

## Name

Generate configuration scripts

## Synopsis

`autoconf [OPTION]... [TEMPLATE-FILE]`

## Options

### Operation modes

- `-h, --help` — print help and exit
- `-V, --version` — print version and exit
- `-v, --verbose` — verbosely report processing
- `-d, --debug` — don't remove temporary files
- `-f, --force` — consider all files obsolete
- `-o, --output=FILE` — save output in `FILE` (stdout is the default)
- `-W, --warnings=CATEGORY` — report warnings falling in `CATEGORY`

### Warning categories

- `cross` — cross compilation issues
- `gnu` — GNU coding standards (default in gnu and gnits modes)
- `obsolete` — obsolete features or constructions (default)
- `override` — user redefinitions of Automake rules or variables
- `portability` — portability issues (default in gnu and gnits modes)
- `portability-recursive` — nested Make variables (default with `-Wportability`)
- `extra-portability` — extra portability issues related to obscure tools
- `syntax` — dubious syntactic constructs (default)
- `unsupported` — unsupported or incomplete features (default)
- `all` — all warnings
- `no-CATEGORY` — turn off warnings in `CATEGORY`
- `none` — turn off all warnings

Environment variables `M4` and `WARNINGS` are honored.

### Library directories

- `-B, --prepend-include=DIR` — prepend directory `DIR` to search path
- `-I, --include=DIR` — append directory `DIR` to search path

### Tracing

- `-t, --trace=MACRO[:FORMAT]` — report the list of calls to `MACRO`
- `-i, --initialization` — also trace Autoconf's initialization process

In tracing mode, no configuration script is created. `FORMAT` defaults to `$f:$l:$n:$%`; see `autom4te --help` for format details.

## Examples

shell
# Generate configure from configure.ac (default)
autoconf

# Specify template file explicitly
autoconf configure.ac

# Save output to a custom file
autoconf -o myconfig

# Trace calls to AC_INIT
autoconf -t AC_INIT

# Enable all warnings
autoconf -W all
## See Also

- [autoconf(1)](https://man7.org/linux/man-pages/man1/autoconf.1.html)
- [automake(1)](https://man7.org/linux/man-pages/man1/automake.1.html)
- [autoreconf(1)](https://man7.org/linux/man-pages/man1/autoreconf.1.html)
- [autoupdate(1)](https://man7.org/linux/man-pages/man1/autoupdate.1.html)
- [autoheader(1)](https://man7.org/linux/man-pages/man1/autoheader.1.html)
- [autoscan(1)](https://man7.org/linux/man-pages/man1/autoscan.1.html)
- [config.guess(1)](https://man7.org/linux/man-pages/man1/config.guess.1.html)
- [config.sub(1)](https://man7.org/linux/man-pages/man1/config.sub.1.html)
- [ifnames(1)](https://man7.org/linux/man-pages/man1/ifnames.1.html)
- [libtool(1)](https://man7.org/linux/man-pages/man1/libtool.1.html)

Full documentation is available via `info autoconf`.