From: Marc Fiuczynski Date: Tue, 3 Apr 2007 00:33:37 +0000 (+0000) Subject: support for nonint_oldconfig X-Git-Tag: after-vanilla-2_6_16_38-vs2_0_3_rc1-merge~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=94fccaf5b7180ba1fdceb923886c5e7d2752f9fb;p=linux-2.6.git support for nonint_oldconfig --- diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 5760e057e..4b8e43756 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -23,6 +23,9 @@ oldconfig: $(obj)/conf silentoldconfig: $(obj)/conf $< -s arch/$(ARCH)/Kconfig +nonint_oldconfig: $(obj)/conf + $< -b arch/$(ARCH)/Kconfig + update-po-config: $(obj)/kxgettext xgettext --default-domain=linux \ --add-comments --keyword=_ --keyword=N_ \ diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 10eeae53d..0ce7f4c8b 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -20,6 +21,7 @@ enum { ask_all, ask_new, ask_silent, + dont_ask, set_default, set_yes, set_mod, @@ -36,6 +38,8 @@ static struct menu *rootEntry; static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n"); +static int return_value = 0; + static void strip(char *str) { char *p = str; @@ -116,6 +120,12 @@ static void conf_askvalue(struct symbol *sym, const char *def) fflush(stdout); fgets_check_stream(line, 128, stdin); return; + case dont_ask: + if (!sym_has_value(sym)) { + fprintf(stderr,"CONFIG_%s\n",sym->name); + return_value++; + } + return; case set_default: printf("%s\n", def); return; @@ -360,6 +370,10 @@ static int conf_choice(struct menu *menu) printf("?"); printf("]: "); switch (input_mode) { + case dont_ask: + cnt = def; + printf("%d\n", cnt); + break; case ask_new: case ask_silent: if (!is_new) { @@ -496,7 +510,10 @@ static void check_conf(struct menu *menu) if (!conf_cnt++) printf(_("*\n* Restart config...\n*\n")); rootEntry = menu_get_parent_menu(menu); - conf(rootEntry); + if (input_mode == dont_ask) + fprintf(stderr,"CONFIG_%s\n",sym->name); + else + conf(rootEntry); } } @@ -515,6 +532,9 @@ int main(int ac, char **av) case 'o': input_mode = ask_new; break; + case 'b': + input_mode = dont_ask; + break; case 's': input_mode = ask_silent; valid_stdin = isatty(0) && isatty(1) && isatty(2); @@ -579,6 +599,7 @@ int main(int ac, char **av) } case ask_all: case ask_new: + case dont_ask: conf_read(NULL); break; case set_no: @@ -617,10 +638,10 @@ int main(int ac, char **av) do { conf_cnt = 0; check_conf(&rootmenu); - } while (conf_cnt); + } while ((conf_cnt) && (input_mode != dont_ask)); if (conf_write(NULL)) { fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); return 1; } - return 0; + return return_value; }