summaryrefslogtreecommitdiffstats
path: root/package/config/mconf.c
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2008-06-19 08:11:51 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2008-06-19 08:11:51 +0000
commite2c32ba54b2fcf27a766e9c3cb427180a03ea056 (patch)
treed807979670ce4d6961f08ce8f2f9da1cdb57c5aa /package/config/mconf.c
parent1b6f2e0f4c8445100f1ea6bea5b89db15dba0175 (diff)
downloadbuildroot-novena-e2c32ba54b2fcf27a766e9c3cb427180a03ea056.tar.gz
buildroot-novena-e2c32ba54b2fcf27a766e9c3cb427180a03ea056.zip
package/config: rebase from upstream (2.6.24.4)
From Bernhards tree (1af211ea)
Diffstat (limited to 'package/config/mconf.c')
-rw-r--r--package/config/mconf.c43
1 files changed, 30 insertions, 13 deletions
diff --git a/package/config/mconf.c b/package/config/mconf.c
index 9283ac3d7..bf5458acd 100644
--- a/package/config/mconf.c
+++ b/package/config/mconf.c
@@ -29,18 +29,23 @@
static const char mconf_readme[] = N_(
"Overview\n"
"--------\n"
-"Some features may be built directly into Buildroot. Some features\n"
+"Some features may be built directly into Buildroot. Some features\n"
"may be completely removed altogether. There are also certain\n"
"parameters which are not really features, but must be\n"
"entered in as decimal or hexadecimal numbers or possibly text.\n"
"\n"
-"Menu items beginning with [*] or [ ] represent features\n"
-"configured to be built in or removed respectively.\n"
+"Menu items beginning with following braces represent features that\n"
+" [ ] can be built in or removed\n"
+" < > can be built in, modularized or removed\n"
+" { } can be built in or modularized (selected by other feature)\n"
+" - - are selected by other feature,\n"
+"while *, M or whitespace inside braces means to build in, build as\n"
+"a module or to exclude the feature respectively.\n"
"\n"
"To change any of these features, highlight it with the cursor\n"
-"keys and press <Y> to build it in or <N> to removed it.\n"
-"You may also press the <Space Bar> to cycle\n"
-"through the available options (ie. Y->N->Y).\n"
+"keys and press <Y> to build it in, <M> to make it a module or\n"
+"<N> to removed it. You may also press the <Space Bar> to cycle\n"
+"through the available options (ie. Y->N->M->Y).\n"
"\n"
"Some additional keyboard hints:\n"
"\n"
@@ -355,8 +360,9 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym)
bool hit;
struct property *prop;
- str_printf(r, "Symbol: %s [=%s]\n", sym->name,
- sym_get_string_value(sym));
+ if (sym && sym->name)
+ str_printf(r, "Symbol: %s [=%s]\n", sym->name,
+ sym_get_string_value(sym));
for_all_prompts(sym, prop)
get_prompt_str(r, prop);
hit = false;
@@ -479,6 +485,14 @@ static void build_conf(struct menu *menu)
if (single_menu_mode && menu->data)
goto conf_childs;
return;
+ case P_COMMENT:
+ if (prompt) {
+ child_count++;
+ item_make(" %*c*** %s ***", indent + 1, ' ', prompt);
+ item_set_tag(':');
+ item_set_data(menu);
+ }
+ break;
default:
if (prompt) {
child_count++;
@@ -558,7 +572,7 @@ static void build_conf(struct menu *menu)
if (sym_is_changable(sym))
item_make("[%c]", val == no ? ' ' : '*');
else
- item_make("---");
+ item_make("-%c-", val == no ? ' ' : '*');
item_set_tag('t');
item_set_data(menu);
break;
@@ -568,10 +582,13 @@ static void build_conf(struct menu *menu)
case mod: ch = 'M'; break;
default: ch = ' '; break;
}
- if (sym_is_changable(sym))
- item_make("<%c>", ch);
- else
- item_make("---");
+ if (sym_is_changable(sym)) {
+ if (sym->rev_dep.tri == mod)
+ item_make("{%c}", ch);
+ else
+ item_make("<%c>", ch);
+ } else
+ item_make("-%c-", ch);
item_set_tag('t');
item_set_data(menu);
break;