Using autoscanto 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 completeness.

When using autoscan to create a configure.ac, you should manually examine configure.scan before renaming it to configure.ac; it will probably need 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 (the section called “Configuration Header Files ”). You might also have to change or add some #if directives to your program in order to make it work with Autoconf (the section called “Using ifnamesto List Conditionals”, 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 will contain 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, whitespace, and the Autoconf macro to output if that symbol is encountered. Lines starting with # are comments.

autoscan accepts the following options:

-help, -h

Print a summary of the command line options and exit.

-version, -V

Print the version number of Autoconf and exit.

-verbose, -v

Print the names of the files it examines and the potentially interesting symbols it finds in them. This output can be voluminous.

-include=dir, -I dir

Also look for input files in dir. Multiple invocations accumulate. Directories are browsed from last to first.