Next: , Previous: , Up: Invocation of programs   [Contents][Index]

16.3 autoreconf Invocation

autoreconf is the command to build and update an Automake build system. It repeatedly runs individual programs in the correct order to update all the necessary files in the build system, including in any subdirectories (see Subdirectories). These programs include autoconf, autoheader, aclocal and automake. autoreconf is provided as part of Autoconf.

If Libtool or Gettext are used as part of the project, autoreconf may also run libtoolize or autopoint respectively. (See Invoking the autopoint Program in GNU gettext utilities, for further details.)

You could also run these programs yourself, but autoreconf saves you the trouble of thinking about what programs you need to run to update particular files and the order you need to do it. See Appendix A for a flowchart of which programs generate which files.

The environment variables AUTOM4TE, AUTOCONF, AUTOHEADER, AUTOMAKE, ACLOCAL, AUTOPOINT, LIBTOOLIZE, M4, and MAKE may be used to override the invocation of the respective tools.

You may run ‘autoreconf --install’ to initialize a build system. You may also also want to run it because some of the sources such as configure.ac have been updated. However, in an already configured source tree, running ‘make’ will update the build system automatically, and running ‘autoreconf’ is not required.

(See Automatic Remaking for Make rules to automatically rebuild configure scripts when their source files change. That method handles the timestamps of configuration header templates properly, but does not pass --autoconf-dir=dir or --localdir=dir.)

By default, autoreconf only remakes those files that are older than their sources. If you install a new version of some tool such as automake, you can make autoreconf remake all of the files by giving it the --force option.

--help
-h

Print a summary of the command line options and exit.

--version
-V

Print the version number of Autoconf and exit.

--verbose
-v

Print the name of each directory autoreconf examines and the commands it runs. If given two or more times, pass --verbose to subordinate tools that support it.

--debug
-d

Don’t remove the temporary files.

--force
-f

Remake even configure scripts and configuration headers that are newer than their input files (configure.ac and, if present, aclocal.m4).

--install
-i

Install the missing auxiliary files in the package. By default, files are copied; this can be changed with --symlink.

If deemed appropriate, this option triggers calls to ‘automake --add-missing’, ‘libtoolize’, ‘autopoint’, etc.

--no-recursive

Do not rebuild files in subdirectories to configure (see Subdirectories, macro AC_CONFIG_SUBDIRS).

--symlink
-s

When used with --install, install symbolic links to the missing auxiliary files instead of copying them.

--make
-m

When the directories were configured, update the configuration by running ‘./config.status --recheck && ./config.status’, and then run ‘make’.

--include=dir
-I dir

Append dir to the include path. Multiple invocations accumulate. Passed on to aclocal, autoconf and autoheader internally.

--prepend-include=dir
-B dir

Prepend dir to the include path. Multiple invocations accumulate. Passed on to autoconf and autoheader internally.

--warnings=category
-W category

Report the warnings related to category (which can actually be a comma separated list).

cross

related to cross compilation issues.

obsolete

report the uses of obsolete constructs.

portability

portability issues

syntax

dubious syntactic constructs.

all

report all the warnings

none

report none

error

treats warnings as errors

no-category

disable warnings falling into category

Warnings about ‘syntax’ are enabled by default, and the environment variable WARNINGS, a comma separated list of categories, is honored as well. Passing -W category actually behaves as if you had passed --warnings syntax,$WARNINGS,category. To disable the defaults and WARNINGS, and then enable warnings about obsolete constructs, use -W none,obsolete.

If you want autoreconf to pass flags that are not listed here on to aclocal, set ACLOCAL_AMFLAGS in your Makefile.am. Due to a limitation in the Autoconf implementation these flags currently must be set on a single line in Makefile.am, without any backslash-newlines. Also, be aware that future Automake releases might start flagging ACLOCAL_AMFLAGS as obsolescent, or even remove support for it.

Next: , Previous: , Up: Invocation of programs   [Contents][Index]