summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/config.l19
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()