[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.15 presetting/configuring complexity

Any option that is not marked as not presettable may be preset by loading values from configuration ("rc" or "ini") files, and values from environment variables named COMPLEXITY and COMPLEXITY_<OPTION_NAME>. “<OPTION_NAME>” must be one of the options listed above in upper case and segmented with underscores. The COMPLEXITY variable will be tokenized and parsed like the command line. The remaining variables are tested for existence and their values are treated like option arguments.

libopts will search in 4 places for configuration files:

The value for $(pkgdatadir) is recorded at package configure time and replaced by ‘libopts’ when ‘complexity’ runs. The environment variables HOME, PROJECT_ROOT, and PWD are expanded and replaced when ‘complexity’ runs. For any of these that are plain files, they are simply processed. For any that are directories, then a file named ‘.complexityrc’ is searched for within that directory and processed.

Configuration files may be in a wide variety of formats. The basic format is an option name followed by a value (argument) on the same line. Values may be separated from the option name with a colon, equal sign or simply white space. Values may be continued across multiple lines by escaping the newline with a backslash.

Multiple programs may also share the same initialization file. Common options are collected at the top, followed by program specific segments. The segments are separated by lines like:


or by

<?program complexity>

Do not mix these within one configuration file.

Compound values and carefully constructed string values may also be specified using XML syntax:


yielding an option-name.sub-opt string value of


AutoOpts does not track suboptions. You simply note that it is a hierarchicly valued option. AutoOpts does provide a means for searching the associated name/value pair list (see: optionFindValue).

[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Bruce Korb on May 15, 2011 using texi2html 1.82.