summaryrefslogtreecommitdiff
path: root/build/tools/config-gen
diff options
context:
space:
mode:
Diffstat (limited to 'build/tools/config-gen')
-rwxr-xr-xbuild/tools/config-gen11
1 files changed, 9 insertions, 2 deletions
diff --git a/build/tools/config-gen b/build/tools/config-gen
index be3dac2..6313553 100755
--- a/build/tools/config-gen
+++ b/build/tools/config-gen
@@ -7,7 +7,7 @@ import sys
import re
import os
-def read_config(modules_configs, project_config):
+def read_config(modules_configs, project_config, known_targets):
"""Read configuration definitions and default values from module
configuration files, then merge project configuration."""
parser = ConfigParser.SafeConfigParser()
@@ -20,6 +20,12 @@ def read_config(modules_configs, project_config):
else:
with mcf:
parser.readfp(mcf)
+ # Removed unknown targets.
+ for section in parser.sections():
+ if ':' in section:
+ _, target = section.split(':', 1)
+ if target not in known_targets:
+ parser.remove_section(section)
# Save the list of existing items for later check.
def config_items(parser):
return set('%s:%s' % (section.split(':')[0], item)
@@ -164,7 +170,8 @@ if __name__ == '__main__':
try:
targets, subtargets = parse_targets(options.targets)
- config = read_config(modules_configs, options.project_config)
+ config = read_config(modules_configs, options.project_config,
+ subtargets.keys())
check_config(config, targets, subtargets)
if options.c_header_template:
write_headers(options.c_header_template, config)