summaryrefslogtreecommitdiff
path: root/scripts/kconfig/example/miniconf.rb
Unidiff
Diffstat (limited to 'scripts/kconfig/example/miniconf.rb') (more/less context) (ignore whitespace changes)
-rw-r--r--scripts/kconfig/example/miniconf.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/kconfig/example/miniconf.rb b/scripts/kconfig/example/miniconf.rb
new file mode 100644
index 0000000..e687fbb
--- a/dev/null
+++ b/scripts/kconfig/example/miniconf.rb
@@ -0,0 +1,32 @@
1require "kconfig"
2
3include Kconfig
4
5conf_parse("arch/i386/Kconfig")
6conf_read(nil)
7
8def conf(menu)
9 return unless menu.isVisible?
10 prompt = menu.prompt
11 if prompt.type == P_COMMENT || prompt.type == P_MENU
12 print "* #{prompt.text}\n"
13 end
14 sym = menu.sym
15 if sym
16 begin
17 print "#{prompt.text} (#{sym.get_string})? "
18 unless sym.isChangable?
19 print "\n"
20 break
21 end
22 val = gets.strip
23 end until val.empty? || sym.set_string(val)
24 end
25 menu.each do |child|
26 conf(child)
27 end
28end
29
30conf(Kconfig.rootmenu)
31
32conf_write(nil)