3.2 Using autoscan to Create configure.ac
The autoscan program can help you create and/or maintain a
configure.ac file for a software package. autoscan
examines source files in the directory tree rooted at a directory given
as a command line argument, or the current directory if none is given.
It searches the source files for common portability problems and creates
a file configure.scan which is a preliminary configure.ac
for that package, and checks a possibly existing configure.ac for
When using autoscan to create a configure.ac, you
should manually examine configure.scan before renaming it to
configure.ac; it probably needs some adjustments.
Occasionally, autoscan outputs a macro in the wrong order
relative to another macro, so that autoconf produces a warning;
you need to move such macros manually. Also, if you want the package to
use a configuration header file, you must add a call to
AC_CONFIG_HEADERS (see Configuration Headers). You might
also have to change or add some
#if directives to your program in
order to make it work with Autoconf (see ifnames Invocation, for
information about a program that can help with that job).
When using autoscan to maintain a configure.ac, simply
consider adding its suggestions. The file autoscan.log
contains detailed information on why a macro is requested.
autoscan uses several data files (installed along with Autoconf)
to determine which macros to output when it finds particular symbols in
a package's source files. These data files all have the same format:
each line consists of a symbol, one or more blanks, and the Autoconf macro to
output if that symbol is encountered. Lines starting with ‘#’ are
autoscan accepts the following options:
- Print a summary of the command line options and exit.
- Print the version number of Autoconf and exit.
- Print the names of the files it examines and the potentially interesting
symbols it finds in them. This output can be voluminous.
- -I dir
- Append dir to the include path. Multiple invocations accumulate.
- -B dir
- Prepend dir to the include path. Multiple invocations accumulate.