About
Autoconf is a build tool for producing shell scripts that automatically configure software source code packages to adapt to many kinds of Posix-like systems.
For each software package that Autoconf is used with, it creates the configure configuration script from a template file that lists the system features that the package needs or can use.
The primary goal of Autoconf is making the user's life easier; making the maintainer's life easier is only a secondary goal.
Articles Related
Configure
The configuration scripts that Autoconf produces are by convention called configure.
The configure shell script attempts to guess correct values for various system-dependent variables used during compilation and then create:
- a makefile in each directory of the package.
- one or more .h files containing system-dependent definitions.
- a shell script config.status that you can run in the future to recreate the current configuration,
- a file config.log containing compiler output (useful mainly for debugging configure).
./configure --help
# Example: configure initial values for configuration parameters by setting variables
# Running configure might take a while. While running, it prints some messages telling which features it is checking for.
./configure CC=c99 CFLAGS=-g LIBS=-lposix
The config.log file gives the flag used for a particular installation
Process
An install that uses the standard GNU autoconf process will be performed as follow:
To configure, build, and install a package:
./configure --help # for details
./configure # Running configure might take a while. While running, it prints some messages telling which features it is checking for.
# or ?
# cmake -DCMAKE_INSTALL_PREFIX=/usr ../
make # compile the package.
make check # Optional to run any self-tests
make install # install the programs and any data files and documentation
make clean # Optional remove the program binaries and object files from the source code directory
make distclean # Optional remove the files that configure created
make uninstall # Optional to remove the installed files again
where:
Support
Log
The file config.log contains the configure command line and the compiler output (useful mainly for debugging configure).