|
Jesse Keating |
2f82dda |
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
|
|
Jesse Keating |
2f82dda |
index 6d69c7c..ff84d12 100644
|
|
Jesse Keating |
2f82dda |
--- a/scripts/kconfig/Makefile
|
|
Jesse Keating |
2f82dda |
+++ b/scripts/kconfig/Makefile
|
|
Jesse Keating |
2f82dda |
@@ -58,6 +58,11 @@ localyesconfig: $(obj)/streamline_config.pl $(obj)/conf
|
|
Jesse Keating |
2f82dda |
fi
|
|
Jesse Keating |
2f82dda |
$(Q)rm -f .tmp.config
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
+nonint_oldconfig: $(obj)/conf
|
|
Jesse Keating |
2f82dda |
+ $< -b $(Kconfig)
|
|
Jesse Keating |
2f82dda |
+loose_nonint_oldconfig: $(obj)/conf
|
|
Jesse Keating |
2f82dda |
+ $< -B $(Kconfig)
|
|
Jesse Keating |
2f82dda |
+
|
|
Jesse Keating |
2f82dda |
# Create new linux.pot file
|
|
Jesse Keating |
2f82dda |
# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
|
|
Jesse Keating |
2f82dda |
# The symlink is used to repair a deficiency in arch/um
|
|
Jesse Keating |
2f82dda |
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
|
|
Jesse Keating |
2f82dda |
index 9960d1c..ac8d455 100644
|
|
Jesse Keating |
2f82dda |
--- a/scripts/kconfig/conf.c
|
|
Jesse Keating |
2f82dda |
+++ b/scripts/kconfig/conf.c
|
|
Jesse Keating |
2f82dda |
@@ -23,6 +23,8 @@ enum {
|
|
Jesse Keating |
2f82dda |
ask_all,
|
|
Jesse Keating |
2f82dda |
ask_new,
|
|
Jesse Keating |
2f82dda |
ask_silent,
|
|
Jesse Keating |
2f82dda |
+ dont_ask,
|
|
Jesse Keating |
2f82dda |
+ dont_ask_dont_tell,
|
|
Jesse Keating |
2f82dda |
set_default,
|
|
Jesse Keating |
2f82dda |
set_yes,
|
|
Jesse Keating |
2f82dda |
set_mod,
|
|
Jesse Keating |
2f82dda |
@@ -360,7 +362,10 @@ static void conf(struct menu *menu)
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
switch (prop->type) {
|
|
Jesse Keating |
2f82dda |
case P_MENU:
|
|
Jesse Keating |
2f82dda |
- if (input_mode == ask_silent && rootEntry != menu) {
|
|
Jesse Keating |
2f82dda |
+ if ((input_mode == ask_silent ||
|
|
Jesse Keating |
2f82dda |
+ input_mode == dont_ask ||
|
|
Jesse Keating |
2f82dda |
+ input_mode == dont_ask_dont_tell) &&
|
|
Jesse Keating |
2f82dda |
+ rootEntry != menu) {
|
|
Jesse Keating |
2f82dda |
check_conf(menu);
|
|
Jesse Keating |
2f82dda |
return;
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
@@ -406,6 +411,8 @@ conf_childs:
|
|
Jesse Keating |
2f82dda |
indent -= 2;
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
+static int return_value;
|
|
Jesse Keating |
2f82dda |
+
|
|
Jesse Keating |
2f82dda |
static void check_conf(struct menu *menu)
|
|
Jesse Keating |
2f82dda |
{
|
|
Jesse Keating |
2f82dda |
struct symbol *sym;
|
|
Jesse Keating |
2f82dda |
@@ -418,12 +425,21 @@ static void check_conf(struct menu *menu)
|
|
Jesse Keating |
2f82dda |
if (sym && !sym_has_value(sym)) {
|
|
Jesse Keating |
2f82dda |
if (sym_is_changable(sym) ||
|
|
Jesse Keating |
2f82dda |
(sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
|
|
Jesse Keating |
2f82dda |
+ if (input_mode == dont_ask ||
|
|
Jesse Keating |
2f82dda |
+ input_mode == dont_ask_dont_tell) {
|
|
Jesse Keating |
2f82dda |
+ if (input_mode == dont_ask &&
|
|
Jesse Keating |
2f82dda |
+ sym->name && !sym_is_choice_value(sym)) {
|
|
Jesse Keating |
2f82dda |
+ fprintf(stderr,"CONFIG_%s\n",sym->name);
|
|
Jesse Keating |
2f82dda |
+ ++return_value;
|
|
Jesse Keating |
2f82dda |
+ }
|
|
Jesse Keating |
2f82dda |
+ } else {
|
|
Jesse Keating |
2f82dda |
if (!conf_cnt++)
|
|
Jesse Keating |
2f82dda |
printf(_("*\n* Restart config...\n*\n"));
|
|
Jesse Keating |
2f82dda |
rootEntry = menu_get_parent_menu(menu);
|
|
Jesse Keating |
2f82dda |
conf(rootEntry);
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
+ }
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
for (child = menu->list; child; child = child->next)
|
|
Jesse Keating |
2f82dda |
check_conf(child);
|
|
Jesse Keating |
2f82dda |
@@ -439,7 +455,7 @@ int main(int ac, char **av)
|
|
Jesse Keating |
2f82dda |
bindtextdomain(PACKAGE, LOCALEDIR);
|
|
Jesse Keating |
2f82dda |
textdomain(PACKAGE);
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
- while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
|
|
Jesse Keating |
2f82dda |
+ while ((opt = getopt(ac, av, "osbBdD:nmyrh")) != -1) {
|
|
Jesse Keating |
2f82dda |
switch (opt) {
|
|
Jesse Keating |
2f82dda |
case 'o':
|
|
Jesse Keating |
2f82dda |
input_mode = ask_silent;
|
|
Jesse Keating |
2f82dda |
@@ -448,6 +464,12 @@ int main(int ac, char **av)
|
|
Jesse Keating |
2f82dda |
input_mode = ask_silent;
|
|
Jesse Keating |
2f82dda |
sync_kconfig = 1;
|
|
Jesse Keating |
2f82dda |
break;
|
|
Jesse Keating |
2f82dda |
+ case 'b':
|
|
Jesse Keating |
2f82dda |
+ input_mode = dont_ask;
|
|
Jesse Keating |
2f82dda |
+ break;
|
|
Jesse Keating |
2f82dda |
+ case 'B':
|
|
Jesse Keating |
2f82dda |
+ input_mode = dont_ask_dont_tell;
|
|
Jesse Keating |
2f82dda |
+ break;
|
|
Jesse Keating |
2f82dda |
case 'd':
|
|
Jesse Keating |
2f82dda |
input_mode = set_default;
|
|
Jesse Keating |
2f82dda |
break;
|
|
Jesse Keating |
2f82dda |
@@ -525,6 +547,8 @@ int main(int ac, char **av)
|
|
Jesse Keating |
2f82dda |
case ask_silent:
|
|
Jesse Keating |
2f82dda |
case ask_all:
|
|
Jesse Keating |
2f82dda |
case ask_new:
|
|
Jesse Keating |
2f82dda |
+ case dont_ask:
|
|
Jesse Keating |
2f82dda |
+ case dont_ask_dont_tell:
|
|
Jesse Keating |
2f82dda |
conf_read(NULL);
|
|
Jesse Keating |
2f82dda |
break;
|
|
Jesse Keating |
2f82dda |
case set_no:
|
|
Jesse Keating |
2f82dda |
@@ -586,12 +610,16 @@ int main(int ac, char **av)
|
|
Jesse Keating |
2f82dda |
conf(&rootmenu);
|
|
Jesse Keating |
2f82dda |
input_mode = ask_silent;
|
|
Jesse Keating |
2f82dda |
/* fall through */
|
|
Jesse Keating |
2f82dda |
+ case dont_ask:
|
|
Jesse Keating |
2f82dda |
+ case dont_ask_dont_tell:
|
|
Jesse Keating |
2f82dda |
case ask_silent:
|
|
Jesse Keating |
2f82dda |
/* Update until a loop caused no more changes */
|
|
Jesse Keating |
2f82dda |
do {
|
|
Jesse Keating |
2f82dda |
conf_cnt = 0;
|
|
Jesse Keating |
2f82dda |
check_conf(&rootmenu);
|
|
Jesse Keating |
2f82dda |
- } while (conf_cnt);
|
|
Jesse Keating |
2f82dda |
+ } while (conf_cnt &&
|
|
Jesse Keating |
2f82dda |
+ (input_mode != dont_ask &&
|
|
Jesse Keating |
2f82dda |
+ input_mode != dont_ask_dont_tell));
|
|
Jesse Keating |
2f82dda |
break;
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
|
|
Jesse Keating |
2f82dda |
@@ -613,5 +641,5 @@ int main(int ac, char **av)
|
|
Jesse Keating |
2f82dda |
exit(1);
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
}
|
|
Jesse Keating |
2f82dda |
- return 0;
|
|
Jesse Keating |
2f82dda |
+ return return_value;
|
|
Jesse Keating |
2f82dda |
}
|