configure ScriptsThe configuration scripts that Autoconf produces are by convention
called configure. When run, configure creates several
files, replacing configuration parameters in them with appropriate
values. The files that configure creates are:
#define directives (see Configuration Header Files);
configure makes a mistake.
To create a configure script with Autoconf, you need
to write an Autoconf input file configure.ac and run
autoconf on it. If you write your own feature tests to
supplement those that come with Autoconf, you might also write files
called aclocal.m4 and acsite.m4. If you use a C header
file to contain #define directives, you might also run
autoheader, and you can distribute the generated file
config.h.in with the package.
Here is a diagram showing how the files that can be used in
configuration are produced. Programs that are executed are suffixed by
‘*’. Optional files are enclosed in square brackets (‘[]’).
autoconf and autoheader also read the installed Autoconf
macro files (by reading autoconf.m4).
Files used in preparing a software package for distribution, when using just Autoconf:
your source files --> [autoscan*] --> [configure.scan] --> configure.ac
configure.ac --.
| .------> autoconf* -----> configure
[aclocal.m4] --+---+
| `-----> [autoheader*] --> [config.h.in]
[acsite.m4] ---'
Makefile.in
Additionally, if you use Automake, the following additional productions come into play:
[acinclude.m4] --.
|
[local macros] --+--> aclocal* --> aclocal.m4
|
configure.ac ----'
configure.ac --.
+--> automake* --> Makefile.in
Makefile.am ---'
Files used in configuring a software package:
.-------------> [config.cache]
configure* ------------+-------------> config.log
|
[config.h.in] -. v .-> [config.h] -.
+--> config.status* -+ +--> make*
Makefile.in ---' `-> Makefile ---'