( Making configure Scripts

Info Catalog ( Introduction ( Top ( Setup
 2 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, one in each subdirectory of the
      package ( Makefile Substitutions);
    * optionally, a C header file, the name of which is configurable,
      containing `#define' directives ( Configuration Headers);
    * a shell script called `config.status' that, when run, will recreate
      the files listed above ( Invoking config.status);
    * a shell script called `config.cache' that saves the results of
      running many of the tests ( 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 `' 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 write `acconfig.h', and you will distribute
 the Autoconf-generated file `' 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] --> --.   .------> autoconf* -----> configure
      [aclocal.m4] --+   `---.
      [acsite.m4] ---'       |
                             +--> [autoheader*] -> []
      [acconfig.h] ----.     |
      [] --+
      [] --' ------------------------------->
 Files used in configuring a software package:
                             .-------------> config.cache
      configure* ------------+-------------> config.log
      [] -.       v            .-> [config.h] -.
                     +--> config.status* -+               +--> make* ---'                    `-> Makefile ---'


* Writing        What to put in an Autoconf input file.
* Invoking autoscan           Semi-automatic `' writing.
* Invoking ifnames            Listing the conditionals in source code.
* Invoking autoconf           How to create configuration scripts.
* Invoking autoreconf         Remaking multiple `configure' scripts.
Info Catalog ( Introduction ( Top ( Setup
automatically generated byinfo2html