diff -uNr linux.org/arch/i386/Kconfig linux-2.6.13/arch/i386/Kconfig --- linux.org/arch/i386/Kconfig 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/arch/i386/Kconfig 2005-09-19 03:08:48.000000000 +0200 @@ -8,6 +8,7 @@ config X86 bool default y + autorule help This is Linux's home port. Linux was originally native to the Intel 386, and runs on all the later x86 processors including the Intel diff -uNr linux.org/scripts/kconfig/expr.h linux-2.6.13/scripts/kconfig/expr.h --- linux.org/scripts/kconfig/expr.h 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/expr.h 2005-09-19 02:38:43.000000000 +0200 @@ -101,7 +101,7 @@ #define SYMBOL_HASHMASK 0xff enum prop_type { - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE, P_SELECT, P_RANGE + P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE, P_SELECT, P_RANGE, P_AUTORULE }; struct property { diff -uNr linux.org/scripts/kconfig/lex.zconf.c_shipped linux-2.6.13/scripts/kconfig/lex.zconf.c_shipped --- linux.org/scripts/kconfig/lex.zconf.c_shipped 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/lex.zconf.c_shipped 2005-09-19 03:24:56.000000000 +0200 @@ -2755,6 +2755,11 @@ break; } +case 100: +YY_RULE_SETUP +BEGIN(PARAM); return T_AUTORULE; + YY_BREAK + default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); Binärdateien linux.org/scripts/kconfig/.lex.zconf.c_shipped.swp and linux-2.6.13/scripts/kconfig/.lex.zconf.c_shipped.swp sind verschieden. diff -uNr linux.org/scripts/kconfig/symbol.c linux-2.6.13/scripts/kconfig/symbol.c --- linux.org/scripts/kconfig/symbol.c 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/symbol.c 2005-09-19 02:51:06.000000000 +0200 @@ -799,6 +799,8 @@ return "prompt"; case P_COMMENT: return "comment"; + case P_AUTORULE: + return "autorule"; case P_MENU: return "menu"; case P_DEFAULT: diff -uNr linux.org/scripts/kconfig/zconf.l linux-2.6.13/scripts/kconfig/zconf.l --- linux.org/scripts/kconfig/zconf.l 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/zconf.l 2005-09-19 03:35:40.000000000 +0200 @@ -117,6 +117,7 @@ "select" BEGIN(PARAM); return T_SELECT; "enable" BEGIN(PARAM); return T_SELECT; "range" BEGIN(PARAM); return T_RANGE; + "autorule" BEGIN(PARAM); return T_AUTORULE; {n}+ { alloc_string(yytext, yyleng); zconflval.string = text; diff -uNr linux.org/scripts/kconfig/zconf.tab.c_shipped linux-2.6.13/scripts/kconfig/zconf.tab.c_shipped --- linux.org/scripts/kconfig/zconf.tab.c_shipped 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/zconf.tab.c_shipped 2005-09-19 03:15:39.000000000 +0200 @@ -100,7 +100,8 @@ T_OR = 293, T_AND = 294, T_EQUAL = 295, - T_NOT = 296 + T_NOT = 296, + T_AUTORULE = 297 }; #endif #define T_MAINMENU 258 @@ -142,6 +143,7 @@ #define T_AND 294 #define T_EQUAL 295 #define T_NOT 296 +#define T_AUTORULE 297 @@ -434,12 +436,12 @@ 134, 142, 152, 154, 155, 156, 157, 160, 166, 173, 179, 186, 192, 198, 204, 210, 216, 222, 230, 239, 245, 254, 255, 261, 263, 264, 265, 266, 269, 275, - 281, 287, 293, 299, 301, 306, 315, 324, 325, 331, + 281, 287, 293, 297, 299, 301, 306, 315, 324, 325, 333, 334, 335, 340, 347, 353, 362, 363, 369, 371, 372, 373, 374, 377, 383, 390, 397, 404, 410, 417, 418, 419, 422, 427, 432, 440, 442, 447, 448, 451, 452, 453, 457, 457, 459, 460, 463, 464, 465, 466, - 467, 468, 469, 472, 473 + 467, 468, 469, 472, 473, 331 }; #endif @@ -455,7 +457,7 @@ "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT", "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", "T_OR", - "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", + "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", "common_block", "config_entry_start", "config_stmt", "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", @@ -463,7 +465,7 @@ "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", "menu_block", "source", "source_stmt", "comment", "comment_stmt", "help_start", "help", "depends_list", "depends", "prompt_stmt_opt", - "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", 0 + "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", "T_AUTORULE", 0 }; #endif @@ -476,7 +478,7 @@ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296 + 295, 296, 297 }; # endif Binärdateien linux.org/scripts/kconfig/.zconf.tab.c_shipped.swp and linux-2.6.13/scripts/kconfig/.zconf.tab.c_shipped.swp sind verschieden. diff -uNr linux.org/scripts/kconfig/zconf.tab.h_shipped linux-2.6.13/scripts/kconfig/zconf.tab.h_shipped --- linux.org/scripts/kconfig/zconf.tab.h_shipped 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/zconf.tab.h_shipped 2005-09-19 02:57:25.000000000 +0200 @@ -65,6 +65,7 @@ T_AND = 288, T_EQUAL = 289, T_NOT = 290 + T_AUTORULE = 297 }; #endif #define T_MAINMENU 258 @@ -100,7 +101,7 @@ #define T_AND 288 #define T_EQUAL 289 #define T_NOT 290 - +#define T_AUTORULE 297 diff -uNr linux.org/scripts/kconfig/zconf.y linux-2.6.13/scripts/kconfig/zconf.y --- linux.org/scripts/kconfig/zconf.y 2005-08-29 01:41:01.000000000 +0200 +++ linux-2.6.13/scripts/kconfig/zconf.y 2005-09-19 03:29:44.000000000 +0200 @@ -75,6 +75,7 @@ %token T_ON %token T_SELECT %token T_RANGE +%token T_AUTORULE %left T_OR %left T_AND @@ -401,6 +402,14 @@ menu_end_entry(); }; +autorule: T_AUTORULE prompt T_EOL +{ + menu_add_entry(NULL); + menu_add_prop(P_AUTORULE, $2, NULL, NULL); + printd(DEBUG_PARSE, "%s:%d:autorule\n", zconf_curname(), zconf_lineno()); +}; + + /* help option */ help_start: T_HELP T_EOL @@ -651,6 +660,11 @@ print_quoted_string(out, prop->text); fputs("\n", out); break; + case P_AUTORULE: + fputs("\nautorule ", out); + print_quoted_string(out, prop->text); + fputs("\n", out); + break; case P_MENU: fputs("\nmenu ", out); print_quoted_string(out, prop->text);