summaryrefslogtreecommitdiff
path: root/scripts/kconfig/zconf.gperf
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2005-11-08 21:34:51 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 07:55:53 -0800
commit7a88488bbc231e48a4a88ee2569bc0cc5d706f0a (patch)
tree2fd6b51b5cf76dd37a2a369a29c50b5121c12a92 /scripts/kconfig/zconf.gperf
parent491d711035dc08071ed58cf470f15efadb67cb1c (diff)
downloadlwn-7a88488bbc231e48a4a88ee2569bc0cc5d706f0a.tar.gz
lwn-7a88488bbc231e48a4a88ee2569bc0cc5d706f0a.zip
[PATCH] kconfig: use gperf for kconfig keywords
Use gperf to generate a hash for the kconfig keywords. This greatly reduces the size of the generated scanner and makes it easier to extend kconfig. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/kconfig/zconf.gperf')
-rw-r--r--scripts/kconfig/zconf.gperf43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/kconfig/zconf.gperf b/scripts/kconfig/zconf.gperf
new file mode 100644
index 000000000000..c9d81cf5d7fb
--- /dev/null
+++ b/scripts/kconfig/zconf.gperf
@@ -0,0 +1,43 @@
+%language=ANSI-C
+%define hash-function-name kconf_id_hash
+%define lookup-function-name kconf_id_lookup
+%define string-pool-name kconf_id_strings
+%compare-strncmp
+%enum
+%pic
+%struct-type
+
+struct kconf_id;
+
+%%
+mainmenu, T_MAINMENU, TF_COMMAND
+menu, T_MENU, TF_COMMAND
+endmenu, T_ENDMENU, TF_COMMAND
+source, T_SOURCE, TF_COMMAND
+choice, T_CHOICE, TF_COMMAND
+endchoice, T_ENDCHOICE, TF_COMMAND
+comment, T_COMMENT, TF_COMMAND
+config, T_CONFIG, TF_COMMAND
+menuconfig, T_MENUCONFIG, TF_COMMAND
+help, T_HELP, TF_COMMAND
+if, T_IF, TF_COMMAND|TF_PARAM
+endif, T_ENDIF, TF_COMMAND
+depends, T_DEPENDS, TF_COMMAND
+requires, T_REQUIRES, TF_COMMAND
+optional, T_OPTIONAL, TF_COMMAND
+default, T_DEFAULT, TF_COMMAND
+prompt, T_PROMPT, TF_COMMAND
+tristate, T_TRISTATE, TF_COMMAND
+def_tristate, T_DEF_TRISTATE, TF_COMMAND
+bool, T_BOOLEAN, TF_COMMAND
+boolean, T_BOOLEAN, TF_COMMAND
+def_bool, T_DEF_BOOLEAN, TF_COMMAND
+def_boolean, T_DEF_BOOLEAN, TF_COMMAND
+int, T_INT, TF_COMMAND
+hex, T_HEX, TF_COMMAND
+string, T_STRING, TF_COMMAND
+select, T_SELECT, TF_COMMAND
+enable, T_SELECT, TF_COMMAND
+range, T_RANGE, TF_COMMAND
+on, T_ON, TF_PARAM
+%%