Autoscan
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 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 Section 4.9 [Configuration Headers], page 33).
- You might also have to change or add some #if directives to your program in order to make it work with Autoconf (see Section 3.3 [ifnames Invocation], page 11, 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 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.
‘--debug’
‘-d’ Don’t remove temporary files.
‘--include=dir’
‘-I dir’ Append dir to the include path. Multiple invocations accumulate.
‘--prepend-include=dir’
‘-B dir’ Prepend dir to the include path. Multiple invocations accumulate.