upload tizen1.0 source
[kernel/linux-2.6.36.git] / debian / bin / kconfig.py
1 #!/usr/bin/env python
2
3 import optparse
4 import os.path
5 import re
6 import sys
7
8 from debian_linux.kconfig import *
9
10 def merge(output, configs, overrides):
11     kconfig = KconfigFile()
12     for c in configs:
13         kconfig.read(file(c))
14     for key, value in overrides.iteritems():
15         kconfig.set(key, value)
16     file(output, "w").write(str(kconfig))
17
18 def opt_callback_dict(option, opt, value, parser):
19     match = re.match('^\s*(\S+)=(\S+)\s*$', value)
20     if not match:
21         raise optparse.OptionValueError('not key=value')
22     dest = option.dest
23     data = getattr(parser.values, dest)
24     data[match.group(1)] = match.group(2)
25
26 if __name__ == '__main__':
27     parser = optparse.OptionParser(usage = "%prog [OPTION]... FILE...")
28     parser.add_option('-o', '--override',
29             action='callback',
30             callback=opt_callback_dict,
31             default={},
32             dest='overrides',
33             help="Override option",
34             type='string')
35     options, args = parser.parse_args()
36
37     merge(args[0], args[1:], options.overrides)