3 # compare: a tool to compare kernel config files
5 # Marc E. Fiuczynski <mef@cs.princeton.edu>
6 # Copyright (C) 2006 The Trustees of Princeton University
8 # $Id: kread.py,v 1.1 2006/11/30 23:02:35 mef Exp $
16 def _config(parts,fb):
18 currentconfig = parts[1]
27 if len(line)==0 or not line[0].isspace():break
28 if len(line)>1: line = line.lstrip()
29 helptxt = helptxt+line
31 configs[currentconfig]=helptxt
33 def _source(parts,fb):
34 filename = "".join(parts[1:])
35 if filename[0]=='"' or filename[0]=='\'':
37 if filename[-1]=='"' or filename[-1]=='\'':
38 filename=filename[:-1]
44 keywords = {"config":_config,
50 def process(filename):
60 if len(parts)==0:continue
62 func = keywords.get(parts[0],_noop)
68 if option[:len("CONFIG_")] == "CONFIG_":
69 option=option[len("CONFIG_"):]
70 helptxt = configs.get(option,"")
74 ARCH=os.getenv("ARCH","i386")
75 process("arch/%s/Kconfig" % ARCH)
77 if __name__ == '__main__':
78 if len(sys.argv) == 1:
79 print """USAGE\n%s configoptionname""" % os.path.basename(sys.argv[0])
83 helptxt = gethelp(option)
84 print "CONFIG_%s:\n%s" % (option,helptxt)