GNU - Autoconf process (configure)

> Operating System - Kernel (Windows, Unix, Linux) > Gnu

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

Advertising

3 - 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

4 - 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.
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:

Advertising

5 - Support

5.1 - Log

The file config.log contains the configure command line and the compiler output (useful mainly for debugging configure).

6 - Documentation / Reference

os/gnu/autoconf.txt · Last modified: 2017/10/13 09:56 by gerardnico