DESCRIPTION This module is a extending Config::AutoConf, using a INI-like config file. SYNOPSIS use Config::AutoConf::INI; # # Config::AutoConf::INI->new() is an instance of Config::AutoConf # Config::AutoConf::INI->new()->check('config.ini'); Config::AutoConf::INI->new()->check(); # # Shortest form # Config::AutoConf::INI->check; SUBROUTINES/METHODS check($config_ini) Performs all checks that are in the INI file $config_ini and that are responsible for configuring Config::AutoConf or defining autoconf variables. The following sections are supported, and executed in the order listed below. This method can be used using an Config::AutoConf::INI instance, or the class itself: my $self = Config::AutoConf::INI->new(); $self->check('config.ini'); $self->write_config_h('somewhere_else.h'); Config::AutoConf::INI->check(); The default value for $config_ini is 'config_autoconf.ini'. The result value is always an instance of Config::AutoConf::INI Configuration sections Includes This is an interface to Config::AutoConf's push_includes. [includes] ; Anything on the the left-hand side is used if the right-hand side is a true value. ; Example: . = 1 /this/path = 0 C:\Windows\Temp = 1 Preprocessor flags This is an interface to Config::AutoConf's push_preprocess_flags. [preprocess_flags] ; Anything on the the left-hand side is used if the right-hand side is a true value. ; Example: -DCPPFLAG0N = 1 -DCPPFLAG0FF = 0 Compiler flags This is an interface to Config::AutoConf's push_compiler_flags. [compiler_flags] ; Anything on the the left-hand side is used if the right-hand side is a true value. ; Example: -DCCFLAG0N = 1 -DCCFLAG0FF = 0 Linker flags This is an interface to Config::AutoConf's push_link_flags. [link_flags] ; Anything on the the left-hand side is used if the right-hand side is a true value. ; Example: --very = 1 --special = 0 Check sections Config::AutoConf provides bundles that are explicitly supported in a bundle section, i.e.: [bundle] ; The bundle check on the left-hand side is done when the right-hand side is a true value. ; The only supported bundles are stdc_headers, default_headers and dirent_headers. ; Example: stdc_headers = 1 default_headers = 1 dirent_headers = 1 In all the following sections, if the right-hand side is a true value the check is executed. If the right-hand side does not look like a number then a variable is explicitly created with that name (e.g. I_HAVE_STDIO_G). This does not prevent the default variable to be created (i.e.g HQVE_STDIO_H). The wanted variable name can very well be equal to the default name. Files This is an interface to Config::AutoConf's check_file. [files] /etc/passwd = HAVE_ETC_PASSWD /tmp/this = 0 /tmp/that = HAVE_TMP_THAT Programs This is an interface to Config::AutoConf's check_prog. [progs] cc = CC_NAME Headers This is an interface to Config::AutoConf's check_header. [headers] stddef.h = 0 time.h = 1 Please note that all found headers are systematically reinjected in any further test, in contrary to Config::AutoConf default behaviour, that is to reuse only STDC headers. =item Declarations This is an interface to Config::AutoConf's check_decl. [decls] read = 1 Functions This is an interface to Config::AutoConf's check_func. [funcs] read = 1 Types This is an interface to Config::AutoConf's check_type. [types] size_t = 1 Types sizeof This is an interface to Config::AutoConf's check_sizeof_types. [sizeof_types] size_t = 1 Types offset This is an interface to Config::AutoConf's check_alignof_types. [alignof_types] struct tm.tm_year = 1 Aggregate members This is an interface to Config::AutoConf's check_member. [members] struct tm.tm_year = 1 Result sections Outputs This is an interface to Config::AutoConf's write_config_h. [outputs] ; Anything on the the left-hand side is produced if the right-hand side is a true value. ; Example: config_autoconf.h = 1 config.h = 0 EXAMPLE Here is an example of a .ini file: [includes] . = 1 /this/path = 1 [preprocess_flags] -DFLAG01 = 1 -DFLAG02 = 0 [compiler_flags] -DFLAG01 = 0 -DFLAG02 = 1 [link_flags] -lm = 1 -loff = 0 [bundle] stdc_headers = 1 default_headers = 1 dirent_headers = 1 [files] /etc/passwd = HAVE_ETC_PASSWD /tmp/this = HAVE_THIS /tmp/that = HAVE_THAT C:\Windows\Temp\foo = HAVE_C_WINDOWS_TEMP_FOO [progs] cc = CC_NAME [headers] stdio.h = 1 stddef.h = HAVE_STDDEF_H time.h = 1 [decls] read = 1 notchecked = 0 [funcs] read = 1 [types] size_t = 1 [sizeof_types] size_t = 1 [alignof_types] struct tm.tm_year = 1 [members] struct tm.tm_year = 1 [outputs] my_config.h = 1 SEE ALSO Config::AutoConf