Libconfig is a configuration file processing library that saves you from having to write your own configuration parsers and routines. It supports callback functions, automatic variable assignment, and many different configuration file types such as Apache-like, Windows INI-like, and whitespace separated. Configuration is processed in a logical manner: global configuration files, local configuration files, environment variables, and finally command line options.