[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
3. Making configure
Scripts
The 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:
- - one or more ‘Makefile’ files, usually one in each subdirectory of the package (see section Substitutions in Makefiles);
- -
optionally, a C header file, the name of which is configurable,
containing
#define
directives (see section Configuration Header Files); - - a shell script called ‘config.status’ that, when run, recreates the files listed above (see section config.status Invocation);
- - an optional shell script normally called ‘config.cache’ (created when using ‘configure --config-cache’) that saves the results of running many of the tests (see section Cache Files);
- -
a file called ‘config.log’ containing any messages produced by
compilers, to help debugging if
configure
makes a mistake.
To create a configure
script with Autoconf, you need to write an
Autoconf input file ‘configure.ac’ (or ‘configure.in’) 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:
your source files --> [autoscan*] --> [configure.scan] --> configure.ac configure.ac --. | .------> autoconf* -----> configure [aclocal.m4] --+---+ | `-----> [autoheader*] --> [config.h.in] [acsite.m4] ---' Makefile.in -------------------------------> Makefile.in |
Files used in configuring a software package:
.-------------> [config.cache] configure* ------------+-------------> config.log | [config.h.in] -. v .-> [config.h] -. +--> config.status* -+ +--> make* Makefile.in ---' `-> Makefile ---' |
3.1 Writing ‘configure.ac’ | What to put in an Autoconf input file | |
3.2 Using autoscan to Create ‘configure.ac’ | Semi-automatic ‘configure.ac’ writing | |
3.3 Using ifnames to List Conditionals | Listing the conditionals in source code | |
3.4 Using autoconf to Create configure | How to create configuration scripts | |
3.5 Using autoreconf to Update configure Scripts | Remaking multiple configure scripts
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |