diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/config.l | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/config.l b/src/config.l index 377d6e4..5d51acb 100644 --- a/src/config.l +++ b/src/config.l @@ -1590,6 +1590,25 @@ void Config::check() } checkFileName("GENERATE_TAGFILE"); + + // sanity check if all depends relations are valid + QListIterator<ConfigOption> it = iterator(); + ConfigOption *option; + for (it.toFirst();(option=it.current());++it) + { + QCString depName = option->dependsOn(); + if (!depName.isEmpty()) + { + ConfigOption * dep = Config::instance()->get(depName); + if (dep->kind()==ConfigOption::O_Bool + && Config_getBool(depName)==FALSE) + { + msg("disabling %s since its dependency(%s) is also disabled\n",option->name().data(),depName.data()); + if (option->kind()==ConfigOption::O_Bool) + Config_getBool(option->name())=FALSE; + } + } + } } void Config::init() |