Table of Contents

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.

Configure

The configuration scripts that Autoconf produces are by convention called configure.

Running configure script

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).

Documentation / Reference