Diffstat (limited to 'scripts/kconfig/example/query.rb') (more/less context) (ignore whitespace changes)
-rw-r--r-- | scripts/kconfig/example/query.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/kconfig/example/query.rb b/scripts/kconfig/example/query.rb new file mode 100644 index 0000000..2f47880 --- a/dev/null +++ b/scripts/kconfig/example/query.rb | |||
@@ -0,0 +1,34 @@ | |||
1 | require "kconfig" | ||
2 | |||
3 | include Kconfig | ||
4 | |||
5 | conf_parse("arch/i386/Kconfig") | ||
6 | conf_read(nil) | ||
7 | |||
8 | sym = Kconfig::Symbol.find(ARGV[0]) | ||
9 | if !sym | ||
10 | print "Symbol #{ARGV[0]} not found!\n" | ||
11 | exit | ||
12 | end | ||
13 | |||
14 | sym.calc_value | ||
15 | print "symbol: #{sym.name}\n" | ||
16 | print " type: #{Kconfig::Symbol.type_name(sym.type)}\n" | ||
17 | print " value: #{sym.get_string}\n" | ||
18 | print " choice\n" if sym.isChoice? | ||
19 | print " choice value\n" if sym.isChoiceValue? | ||
20 | print " properties:\n" if sym.prop | ||
21 | sym.each do |prop| | ||
22 | case prop.type | ||
23 | when P_PROMPT | ||
24 | print " prompt: #{prop.text}\n" | ||
25 | when P_DEFAULT | ||
26 | prop.def.calc_value | ||
27 | print " default: #{prop.def.get_string}\n" | ||
28 | when P_CHOICE | ||
29 | print " choice reference\n" | ||
30 | else | ||
31 | print " unknown property: #{Property.type_name(prop.type)}\n" | ||
32 | end | ||
33 | print " dep: #{prop.visible.expr}\n" if prop.visible.expr | ||
34 | end | ||