Next: , Up: Tests in   [Contents][Index]

8.1 Using autoscan to Create

The autoscan program can help you create and/or maintain a 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 for that package, and checks a possibly existing for completeness.

When using autoscan to create a, you should manually examine configure.scan before renaming it to; 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 Defining Symbols). 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, 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 comments.

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.


Don’t remove temporary files.

-I dir

Append dir to the include path. Multiple invocations accumulate.

-B dir

Prepend dir to the include path. Multiple invocations accumulate.

Next: , Up: Tests in   [Contents][Index]