Re: [PATCH 06/15] kconfig: implement the `mainmenu' directive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 11, 2010 at 11:51:13AM -0400, Arnaud Lacombe wrote:
> If specified, the directive must be placed at the top of the Kconfig file.
> 
> We need to change the grammar to make the mainmenu directive set the
> `rootmenu' prompt. This reflect how menu_add_prompt() works internally, ie.
> set the prompt of the `current_entry', pointing originally to `rootmenu'.
> 
> Signed-off-by: Arnaud Lacombe <lacombar@xxxxxxxxx>
> ---
>  Documentation/kbuild/kconfig-language.txt |    3 ++-
>  scripts/kconfig/zconf.y                   |   14 +++++++++++---
>  2 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt
> index b472e4e..2fe93ca 100644
> --- a/Documentation/kbuild/kconfig-language.txt
> +++ b/Documentation/kbuild/kconfig-language.txt
> @@ -322,7 +322,8 @@ mainmenu:
>  	"mainmenu" <prompt>
>  
>  This sets the config program's title bar if the config program chooses
> -to use it.
> +to use it. It should be placed at the top of the configuration, before any
> +other statement.
>  
>  
>  Kconfig hints
> diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
> index 23dfd3b..e9b14efd 100644
> --- a/scripts/kconfig/zconf.y
> +++ b/scripts/kconfig/zconf.y
> @@ -36,7 +36,7 @@ static struct menu *current_menu, *current_entry;
>  #define YYERROR_VERBOSE
>  #endif
>  %}
> -%expect 26
> +%expect 28
>  
>  %union
>  {
> @@ -104,14 +104,15 @@ static struct menu *current_menu, *current_entry;
>  %}
>  
>  %%
> -input: stmt_list;
> +input: nl start | start;
> +
> +start: mainmenu_stmt stmt_list | stmt_list;
>  
>  stmt_list:
>  	  /* empty */
>  	| stmt_list common_stmt
>  	| stmt_list choice_stmt
>  	| stmt_list menu_stmt
> -	| stmt_list T_MAINMENU prompt nl
>  	| stmt_list end			{ zconf_error("unexpected end statement"); }
>  	| stmt_list T_WORD error T_EOL	{ zconf_error("unknown statement \"%s\"", $2); }
>  	| stmt_list option_name error T_EOL
> @@ -342,6 +343,13 @@ if_block:
>  	| if_block choice_stmt
>  ;
>  
> +/* mainmenu entry */
> +
> +mainmenu_stmt: T_MAINMENU prompt nl
> +{
> +	menu_add_prompt(P_MENU, $2, NULL);
> +};
> +
>  /* menu entry */
>  
>  menu: T_MENU prompt T_EOL

With the above the mainmenu is mandatory.
So there is no longer a need to explicit give it a promt as
is done in conf_parse:

        modules_sym->flags |= SYMBOL_AUTO;
        rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL);


And if we delete this (now not needed) assignment, we no longer requre
the patch that silence warning about redefinition of rootmeny prompt.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux