Go to the first, previous, next, last section, table of contents.


Using autoheader to Create `config.h.in'

The autoheader program can create a template file of C `#define' statements for configure to use. If `configure.in' invokes AC_CONFIG_HEADER(file), autoheader creates `file.in'; if multiple file arguments are given, the first one is used. Otherwise, autoheader creates `config.h.in'.

If you give autoheader an argument, it uses that file instead of `configure.in' and writes the header file to the standard output instead of to `config.h.in'. If you give autoheader an argument of `-', it reads the standard input instead of `configure.in' and writes the header file to the standard output.

autoheader scans `configure.in' and figures out which C preprocessor symbols it might define. It copies comments and #define and #undef statements from a file called `acconfig.h', which comes with and is installed with Autoconf. It also uses a file called `acconfig.h' in the current directory, if present. If you AC_DEFINE any additional symbols, you must create that file with entries for them. For symbols defined by AC_CHECK_HEADERS, AC_CHECK_FUNCS, AC_CHECK_SIZEOF, or AC_CHECK_LIB, autoheader generates comments and #undef statements itself rather than copying them from a file, since the possible symbols are effectively limitless.

The file that autoheader creates contains mainly #define and #undef statements and their accompanying comments. If `./acconfig.h' contains the string `@TOP@', autoheader copies the lines before the line containing `@TOP@' into the top of the file that it generates. Similarly, if `./acconfig.h' contains the string `@BOTTOM@', autoheader copies the lines after that line to the end of the file it generates. Either or both of those strings may be omitted.

An alternate way to produce the same effect is to create the files `file.top' (typically `config.h.top') and/or `file.bot' in the current directory. If they exist, autoheader copies them to the beginning and end, respectively, of its output. Their use is discouraged because they have file names that contain two periods, and so can not be stored on MS-DOS; also, they are two more files to clutter up the directory. But if you use the `--localdir=dir' option to use an `acconfig.h' in another directory, they give you a way to put custom boilerplate in each individual `config.h.in'.

autoheader accepts the following options:

--help
-h
Print a summary of the command line options and exit.
--localdir=dir
-l dir
Look for the package files `aclocal.m4' and `acconfig.h' (but not `file.top' and `file.bot') in directory dir instead of in the current directory.
--macrodir=dir
-m dir
Look for the installed macro files and `acconfig.h' in directory dir. You can also set the AC_MACRODIR environment variable to a directory; this option overrides the environment variable.
--version
Print the version number of Autoconf and exit.


Go to the first, previous, next, last section, table of contents.