summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig')
-rw-r--r--scripts/kconfig/.gitignore1
-rw-r--r--scripts/kconfig/Makefile4
-rw-r--r--scripts/kconfig/kconf_id.c54
-rw-r--r--scripts/kconfig/lkc.h2
-rw-r--r--scripts/kconfig/zconf.gperf50
-rw-r--r--scripts/kconfig/zconf.hash.c_shipped297
-rw-r--r--scripts/kconfig/zconf.tab.c_shipped10
-rw-r--r--scripts/kconfig/zconf.y10
8 files changed, 67 insertions, 361 deletions
diff --git a/scripts/kconfig/.gitignore b/scripts/kconfig/.gitignore
index be603c4fef62..51f1c877b543 100644
--- a/scripts/kconfig/.gitignore
+++ b/scripts/kconfig/.gitignore
@@ -5,7 +5,6 @@ config*
5*.lex.c 5*.lex.c
6*.tab.c 6*.tab.c
7*.tab.h 7*.tab.h
8zconf.hash.c
9*.moc 8*.moc
10gconf.glade.h 9gconf.glade.h
11*.pot 10*.pot
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index eb8144643b78..8c12c20c55a6 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -191,7 +191,7 @@ gconf-objs := gconf.o zconf.tab.o
191hostprogs-y := conf nconf mconf kxgettext qconf gconf 191hostprogs-y := conf nconf mconf kxgettext qconf gconf
192 192
193clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck 193clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
194clean-files += zconf.tab.c zconf.lex.c zconf.hash.c gconf.glade.h 194clean-files += zconf.tab.c zconf.lex.c gconf.glade.h
195clean-files += config.pot linux.pot 195clean-files += config.pot linux.pot
196 196
197# Check that we have the required ncurses stuff installed for lxdialog (menuconfig) 197# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
@@ -280,7 +280,7 @@ $(obj)/.tmp_gtkcheck:
280 fi 280 fi
281endif 281endif
282 282
283$(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/zconf.hash.c 283$(obj)/zconf.tab.o: $(obj)/zconf.lex.c
284 284
285$(obj)/qconf.o: $(obj)/qconf.moc 285$(obj)/qconf.o: $(obj)/qconf.moc
286 286
diff --git a/scripts/kconfig/kconf_id.c b/scripts/kconfig/kconf_id.c
new file mode 100644
index 000000000000..5abbc728fbc4
--- /dev/null
+++ b/scripts/kconfig/kconf_id.c
@@ -0,0 +1,54 @@
1
2static struct kconf_id kconf_id_array[] = {
3 { "mainmenu", T_MAINMENU, TF_COMMAND },
4 { "menu", T_MENU, TF_COMMAND },
5 { "endmenu", T_ENDMENU, TF_COMMAND },
6 { "source", T_SOURCE, TF_COMMAND },
7 { "choice", T_CHOICE, TF_COMMAND },
8 { "endchoice", T_ENDCHOICE, TF_COMMAND },
9 { "comment", T_COMMENT, TF_COMMAND },
10 { "config", T_CONFIG, TF_COMMAND },
11 { "menuconfig", T_MENUCONFIG, TF_COMMAND },
12 { "help", T_HELP, TF_COMMAND },
13 { "---help---", T_HELP, TF_COMMAND },
14 { "if", T_IF, TF_COMMAND|TF_PARAM },
15 { "endif", T_ENDIF, TF_COMMAND },
16 { "depends", T_DEPENDS, TF_COMMAND },
17 { "optional", T_OPTIONAL, TF_COMMAND },
18 { "default", T_DEFAULT, TF_COMMAND, S_UNKNOWN },
19 { "prompt", T_PROMPT, TF_COMMAND },
20 { "tristate", T_TYPE, TF_COMMAND, S_TRISTATE },
21 { "def_tristate", T_DEFAULT, TF_COMMAND, S_TRISTATE },
22 { "bool", T_TYPE, TF_COMMAND, S_BOOLEAN },
23 { "boolean", T_TYPE, TF_COMMAND, S_BOOLEAN },
24 { "def_bool", T_DEFAULT, TF_COMMAND, S_BOOLEAN },
25 { "int", T_TYPE, TF_COMMAND, S_INT },
26 { "hex", T_TYPE, TF_COMMAND, S_HEX },
27 { "string", T_TYPE, TF_COMMAND, S_STRING },
28 { "select", T_SELECT, TF_COMMAND },
29 { "imply", T_IMPLY, TF_COMMAND },
30 { "range", T_RANGE, TF_COMMAND },
31 { "visible", T_VISIBLE, TF_COMMAND },
32 { "option", T_OPTION, TF_COMMAND },
33 { "on", T_ON, TF_PARAM },
34 { "modules", T_OPT_MODULES, TF_OPTION },
35 { "defconfig_list", T_OPT_DEFCONFIG_LIST, TF_OPTION },
36 { "env", T_OPT_ENV, TF_OPTION },
37 { "allnoconfig_y", T_OPT_ALLNOCONFIG_Y, TF_OPTION },
38};
39
40#define KCONF_ID_ARRAY_SIZE (sizeof(kconf_id_array)/sizeof(struct kconf_id))
41
42static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len)
43{
44 int i;
45
46 for (i = 0; i < KCONF_ID_ARRAY_SIZE; i++) {
47 struct kconf_id *id = kconf_id_array+i;
48 int l = strlen(id->name);
49
50 if (len == l && !memcmp(str, id->name, len))
51 return id;
52 }
53 return NULL;
54}
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index 91ca126ea080..cdcbe43e87b3 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -62,7 +62,7 @@ enum conf_def_mode {
62#define T_OPT_ALLNOCONFIG_Y 4 62#define T_OPT_ALLNOCONFIG_Y 4
63 63
64struct kconf_id { 64struct kconf_id {
65 int name; 65 const char *name;
66 int token; 66 int token;
67 unsigned int flags; 67 unsigned int flags;
68 enum symbol_type stype; 68 enum symbol_type stype;
diff --git a/scripts/kconfig/zconf.gperf b/scripts/kconfig/zconf.gperf
deleted file mode 100644
index ead02edec936..000000000000
--- a/scripts/kconfig/zconf.gperf
+++ /dev/null
@@ -1,50 +0,0 @@
1%language=ANSI-C
2%define hash-function-name kconf_id_hash
3%define lookup-function-name kconf_id_lookup
4%define string-pool-name kconf_id_strings
5%compare-strncmp
6%enum
7%pic
8%struct-type
9
10struct kconf_id;
11
12static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
13
14%%
15mainmenu, T_MAINMENU, TF_COMMAND
16menu, T_MENU, TF_COMMAND
17endmenu, T_ENDMENU, TF_COMMAND
18source, T_SOURCE, TF_COMMAND
19choice, T_CHOICE, TF_COMMAND
20endchoice, T_ENDCHOICE, TF_COMMAND
21comment, T_COMMENT, TF_COMMAND
22config, T_CONFIG, TF_COMMAND
23menuconfig, T_MENUCONFIG, TF_COMMAND
24help, T_HELP, TF_COMMAND
25---help---, T_HELP, TF_COMMAND
26if, T_IF, TF_COMMAND|TF_PARAM
27endif, T_ENDIF, TF_COMMAND
28depends, T_DEPENDS, TF_COMMAND
29optional, T_OPTIONAL, TF_COMMAND
30default, T_DEFAULT, TF_COMMAND, S_UNKNOWN
31prompt, T_PROMPT, TF_COMMAND
32tristate, T_TYPE, TF_COMMAND, S_TRISTATE
33def_tristate, T_DEFAULT, TF_COMMAND, S_TRISTATE
34bool, T_TYPE, TF_COMMAND, S_BOOLEAN
35boolean, T_TYPE, TF_COMMAND, S_BOOLEAN
36def_bool, T_DEFAULT, TF_COMMAND, S_BOOLEAN
37int, T_TYPE, TF_COMMAND, S_INT
38hex, T_TYPE, TF_COMMAND, S_HEX
39string, T_TYPE, TF_COMMAND, S_STRING
40select, T_SELECT, TF_COMMAND
41imply, T_IMPLY, TF_COMMAND
42range, T_RANGE, TF_COMMAND
43visible, T_VISIBLE, TF_COMMAND
44option, T_OPTION, TF_COMMAND
45on, T_ON, TF_PARAM
46modules, T_OPT_MODULES, TF_OPTION
47defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION
48env, T_OPT_ENV, TF_OPTION
49allnoconfig_y, T_OPT_ALLNOCONFIG_Y,TF_OPTION
50%%
diff --git a/scripts/kconfig/zconf.hash.c_shipped b/scripts/kconfig/zconf.hash.c_shipped
deleted file mode 100644
index d51b15de074a..000000000000
--- a/scripts/kconfig/zconf.hash.c_shipped
+++ /dev/null
@@ -1,297 +0,0 @@
1/* ANSI-C code produced by gperf version 3.0.4 */
2/* Command-line: gperf -t --output-file scripts/kconfig/zconf.hash.c_shipped -a -C -E -g -k '1,3,$' -p -t scripts/kconfig/zconf.gperf */
3
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27/* The character set is not based on ISO-646. */
28#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29#endif
30
31#line 10 "scripts/kconfig/zconf.gperf"
32struct kconf_id;
33
34static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
35/* maximum key range = 71, duplicates = 0 */
36
37#ifdef __GNUC__
38__inline
39#else
40#ifdef __cplusplus
41inline
42#endif
43#endif
44static unsigned int
45kconf_id_hash (register const char *str, register unsigned int len)
46{
47 static const unsigned char asso_values[] =
48 {
49 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
50 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
51 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
52 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
53 73, 73, 73, 73, 73, 0, 73, 73, 73, 73,
54 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
55 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
56 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
57 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
58 73, 73, 73, 73, 73, 73, 73, 10, 25, 25,
59 0, 0, 0, 5, 0, 0, 73, 73, 5, 0,
60 10, 5, 45, 73, 20, 20, 0, 15, 15, 73,
61 20, 0, 73, 73, 73, 73, 73, 73, 73, 73,
62 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
63 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
64 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
65 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
66 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
67 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
68 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
69 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
70 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
71 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
72 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
73 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
74 73, 73, 73, 73, 73, 73
75 };
76 register int hval = len;
77
78 switch (hval)
79 {
80 default:
81 hval += asso_values[(unsigned char)str[2]];
82 /*FALLTHROUGH*/
83 case 2:
84 case 1:
85 hval += asso_values[(unsigned char)str[0]];
86 break;
87 }
88 return hval + asso_values[(unsigned char)str[len - 1]];
89}
90
91struct kconf_id_strings_t
92 {
93 char kconf_id_strings_str2[sizeof("if")];
94 char kconf_id_strings_str3[sizeof("int")];
95 char kconf_id_strings_str5[sizeof("endif")];
96 char kconf_id_strings_str7[sizeof("default")];
97 char kconf_id_strings_str8[sizeof("tristate")];
98 char kconf_id_strings_str9[sizeof("endchoice")];
99 char kconf_id_strings_str10[sizeof("---help---")];
100 char kconf_id_strings_str12[sizeof("def_tristate")];
101 char kconf_id_strings_str13[sizeof("def_bool")];
102 char kconf_id_strings_str14[sizeof("defconfig_list")];
103 char kconf_id_strings_str17[sizeof("on")];
104 char kconf_id_strings_str18[sizeof("optional")];
105 char kconf_id_strings_str21[sizeof("option")];
106 char kconf_id_strings_str22[sizeof("endmenu")];
107 char kconf_id_strings_str23[sizeof("mainmenu")];
108 char kconf_id_strings_str25[sizeof("menuconfig")];
109 char kconf_id_strings_str27[sizeof("modules")];
110 char kconf_id_strings_str28[sizeof("allnoconfig_y")];
111 char kconf_id_strings_str29[sizeof("menu")];
112 char kconf_id_strings_str31[sizeof("select")];
113 char kconf_id_strings_str32[sizeof("comment")];
114 char kconf_id_strings_str33[sizeof("env")];
115 char kconf_id_strings_str35[sizeof("range")];
116 char kconf_id_strings_str36[sizeof("choice")];
117 char kconf_id_strings_str39[sizeof("bool")];
118 char kconf_id_strings_str41[sizeof("source")];
119 char kconf_id_strings_str42[sizeof("visible")];
120 char kconf_id_strings_str43[sizeof("hex")];
121 char kconf_id_strings_str46[sizeof("config")];
122 char kconf_id_strings_str47[sizeof("boolean")];
123 char kconf_id_strings_str50[sizeof("imply")];
124 char kconf_id_strings_str51[sizeof("string")];
125 char kconf_id_strings_str54[sizeof("help")];
126 char kconf_id_strings_str56[sizeof("prompt")];
127 char kconf_id_strings_str72[sizeof("depends")];
128 };
129static const struct kconf_id_strings_t kconf_id_strings_contents =
130 {
131 "if",
132 "int",
133 "endif",
134 "default",
135 "tristate",
136 "endchoice",
137 "---help---",
138 "def_tristate",
139 "def_bool",
140 "defconfig_list",
141 "on",
142 "optional",
143 "option",
144 "endmenu",
145 "mainmenu",
146 "menuconfig",
147 "modules",
148 "allnoconfig_y",
149 "menu",
150 "select",
151 "comment",
152 "env",
153 "range",
154 "choice",
155 "bool",
156 "source",
157 "visible",
158 "hex",
159 "config",
160 "boolean",
161 "imply",
162 "string",
163 "help",
164 "prompt",
165 "depends"
166 };
167#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
168#ifdef __GNUC__
169__inline
170#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
171__attribute__ ((__gnu_inline__))
172#endif
173#endif
174const struct kconf_id *
175kconf_id_lookup (register const char *str, register unsigned int len)
176{
177 enum
178 {
179 TOTAL_KEYWORDS = 35,
180 MIN_WORD_LENGTH = 2,
181 MAX_WORD_LENGTH = 14,
182 MIN_HASH_VALUE = 2,
183 MAX_HASH_VALUE = 72
184 };
185
186 static const struct kconf_id wordlist[] =
187 {
188 {-1}, {-1},
189#line 26 "scripts/kconfig/zconf.gperf"
190 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_IF, TF_COMMAND|TF_PARAM},
191#line 37 "scripts/kconfig/zconf.gperf"
192 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3, T_TYPE, TF_COMMAND, S_INT},
193 {-1},
194#line 27 "scripts/kconfig/zconf.gperf"
195 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5, T_ENDIF, TF_COMMAND},
196 {-1},
197#line 30 "scripts/kconfig/zconf.gperf"
198 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_DEFAULT, TF_COMMAND, S_UNKNOWN},
199#line 32 "scripts/kconfig/zconf.gperf"
200 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_TYPE, TF_COMMAND, S_TRISTATE},
201#line 20 "scripts/kconfig/zconf.gperf"
202 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9, T_ENDCHOICE, TF_COMMAND},
203#line 25 "scripts/kconfig/zconf.gperf"
204 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10, T_HELP, TF_COMMAND},
205 {-1},
206#line 33 "scripts/kconfig/zconf.gperf"
207 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_TRISTATE},
208#line 36 "scripts/kconfig/zconf.gperf"
209 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN},
210#line 47 "scripts/kconfig/zconf.gperf"
211 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_OPT_DEFCONFIG_LIST,TF_OPTION},
212 {-1}, {-1},
213#line 45 "scripts/kconfig/zconf.gperf"
214 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_ON, TF_PARAM},
215#line 29 "scripts/kconfig/zconf.gperf"
216 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND},
217 {-1}, {-1},
218#line 44 "scripts/kconfig/zconf.gperf"
219 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_OPTION, TF_COMMAND},
220#line 17 "scripts/kconfig/zconf.gperf"
221 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND},
222#line 15 "scripts/kconfig/zconf.gperf"
223 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_MAINMENU, TF_COMMAND},
224 {-1},
225#line 23 "scripts/kconfig/zconf.gperf"
226 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str25, T_MENUCONFIG, TF_COMMAND},
227 {-1},
228#line 46 "scripts/kconfig/zconf.gperf"
229 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION},
230#line 49 "scripts/kconfig/zconf.gperf"
231 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_OPT_ALLNOCONFIG_Y,TF_OPTION},
232#line 16 "scripts/kconfig/zconf.gperf"
233 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND},
234 {-1},
235#line 40 "scripts/kconfig/zconf.gperf"
236 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SELECT, TF_COMMAND},
237#line 21 "scripts/kconfig/zconf.gperf"
238 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND},
239#line 48 "scripts/kconfig/zconf.gperf"
240 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_OPT_ENV, TF_OPTION},
241 {-1},
242#line 42 "scripts/kconfig/zconf.gperf"
243 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_RANGE, TF_COMMAND},
244#line 19 "scripts/kconfig/zconf.gperf"
245 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_CHOICE, TF_COMMAND},
246 {-1}, {-1},
247#line 34 "scripts/kconfig/zconf.gperf"
248 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_TYPE, TF_COMMAND, S_BOOLEAN},
249 {-1},
250#line 18 "scripts/kconfig/zconf.gperf"
251 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND},
252#line 43 "scripts/kconfig/zconf.gperf"
253 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_VISIBLE, TF_COMMAND},
254#line 38 "scripts/kconfig/zconf.gperf"
255 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_TYPE, TF_COMMAND, S_HEX},
256 {-1}, {-1},
257#line 22 "scripts/kconfig/zconf.gperf"
258 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_CONFIG, TF_COMMAND},
259#line 35 "scripts/kconfig/zconf.gperf"
260 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN},
261 {-1}, {-1},
262#line 41 "scripts/kconfig/zconf.gperf"
263 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str50, T_IMPLY, TF_COMMAND},
264#line 39 "scripts/kconfig/zconf.gperf"
265 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_TYPE, TF_COMMAND, S_STRING},
266 {-1}, {-1},
267#line 24 "scripts/kconfig/zconf.gperf"
268 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str54, T_HELP, TF_COMMAND},
269 {-1},
270#line 31 "scripts/kconfig/zconf.gperf"
271 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56, T_PROMPT, TF_COMMAND},
272 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
273 {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
274#line 28 "scripts/kconfig/zconf.gperf"
275 {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str72, T_DEPENDS, TF_COMMAND}
276 };
277
278 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
279 {
280 register int key = kconf_id_hash (str, len);
281
282 if (key <= MAX_HASH_VALUE && key >= 0)
283 {
284 register int o = wordlist[key].name;
285 if (o >= 0)
286 {
287 register const char *s = o + kconf_id_strings;
288
289 if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
290 return &wordlist[key];
291 }
292 }
293 }
294 return 0;
295}
296#line 50 "scripts/kconfig/zconf.gperf"
297
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped
index 65b7515a577c..a22b285d759f 100644
--- a/scripts/kconfig/zconf.tab.c_shipped
+++ b/scripts/kconfig/zconf.tab.c_shipped
@@ -209,8 +209,8 @@ int zconfparse (void);
209/* Copy the second part of user declarations. */ 209/* Copy the second part of user declarations. */
210 210
211 211
212/* Include zconf.hash.c here so it can see the token constants. */ 212/* Include kconf_id.c here so it can see the token constants. */
213#include "zconf.hash.c" 213#include "kconf_id.c"
214 214
215 215
216 216
@@ -1515,7 +1515,7 @@ yyreduce:
1515 case 12: 1515 case 12:
1516 1516
1517 { 1517 {
1518 zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[-2].id)->name); 1518 zconf_error("unexpected option \"%s\"", (yyvsp[-2].id)->name);
1519} 1519}
1520 1520
1521 break; 1521 break;
@@ -2268,13 +2268,13 @@ static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtok
2268{ 2268{
2269 if (id->token != endtoken) { 2269 if (id->token != endtoken) {
2270 zconf_error("unexpected '%s' within %s block", 2270 zconf_error("unexpected '%s' within %s block",
2271 kconf_id_strings + id->name, zconf_tokenname(starttoken)); 2271 id->name, zconf_tokenname(starttoken));
2272 zconfnerrs++; 2272 zconfnerrs++;
2273 return false; 2273 return false;
2274 } 2274 }
2275 if (current_menu->file != current_file) { 2275 if (current_menu->file != current_file) {
2276 zconf_error("'%s' in different file than '%s'", 2276 zconf_error("'%s' in different file than '%s'",
2277 kconf_id_strings + id->name, zconf_tokenname(starttoken)); 2277 id->name, zconf_tokenname(starttoken));
2278 fprintf(stderr, "%s:%d: location of the '%s'\n", 2278 fprintf(stderr, "%s:%d: location of the '%s'\n",
2279 current_menu->file->name, current_menu->lineno, 2279 current_menu->file->name, current_menu->lineno,
2280 zconf_tokenname(starttoken)); 2280 zconf_tokenname(starttoken));
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 001305fa080b..c8f396c3b190 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -101,8 +101,8 @@ static struct menu *current_menu, *current_entry;
101} if_entry menu_entry choice_entry 101} if_entry menu_entry choice_entry
102 102
103%{ 103%{
104/* Include zconf.hash.c here so it can see the token constants. */ 104/* Include zconf_id.c here so it can see the token constants. */
105#include "zconf.hash.c" 105#include "kconf_id.c"
106%} 106%}
107 107
108%% 108%%
@@ -119,7 +119,7 @@ stmt_list:
119 | stmt_list T_WORD error T_EOL { zconf_error("unknown statement \"%s\"", $2); } 119 | stmt_list T_WORD error T_EOL { zconf_error("unknown statement \"%s\"", $2); }
120 | stmt_list option_name error T_EOL 120 | stmt_list option_name error T_EOL
121{ 121{
122 zconf_error("unexpected option \"%s\"", kconf_id_strings + $2->name); 122 zconf_error("unexpected option \"%s\"", $2->name);
123} 123}
124 | stmt_list error T_EOL { zconf_error("invalid statement"); } 124 | stmt_list error T_EOL { zconf_error("invalid statement"); }
125; 125;
@@ -551,13 +551,13 @@ static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtok
551{ 551{
552 if (id->token != endtoken) { 552 if (id->token != endtoken) {
553 zconf_error("unexpected '%s' within %s block", 553 zconf_error("unexpected '%s' within %s block",
554 kconf_id_strings + id->name, zconf_tokenname(starttoken)); 554 id->name, zconf_tokenname(starttoken));
555 zconfnerrs++; 555 zconfnerrs++;
556 return false; 556 return false;
557 } 557 }
558 if (current_menu->file != current_file) { 558 if (current_menu->file != current_file) {
559 zconf_error("'%s' in different file than '%s'", 559 zconf_error("'%s' in different file than '%s'",
560 kconf_id_strings + id->name, zconf_tokenname(starttoken)); 560 id->name, zconf_tokenname(starttoken));
561 fprintf(stderr, "%s:%d: location of the '%s'\n", 561 fprintf(stderr, "%s:%d: location of the '%s'\n",
562 current_menu->file->name, current_menu->lineno, 562 current_menu->file->name, current_menu->lineno,
563 zconf_tokenname(starttoken)); 563 zconf_tokenname(starttoken));