X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=linux-2.6-100-build-nonintconfig.patch;h=bd65daf516f1d96176cb046da04c8ddcbbe530b1;hb=refs%2Fheads%2F27;hp=1f51ca17a3b3a5802d49f7009e35f6cc2e70c6fb;hpb=eae01a254d659e02b25533ef99c601eee0a56fe3;p=linux-2.6.git diff --git a/linux-2.6-100-build-nonintconfig.patch b/linux-2.6-100-build-nonintconfig.patch index 1f51ca17a..bd65daf51 100644 --- a/linux-2.6-100-build-nonintconfig.patch +++ b/linux-2.6-100-build-nonintconfig.patch @@ -1,7 +1,24 @@ -diff -Nurp linux-2.6.22.noarch.orig/scripts/kconfig/conf.c linux-2.6.22.noarch/scripts/kconfig/conf.c ---- linux-2.6.22.noarch.orig/scripts/kconfig/conf.c 2007-10-11 20:51:33.000000000 +0200 -+++ linux-2.6.22.noarch/scripts/kconfig/conf.c 2007-10-11 20:56:30.000000000 +0200 -@@ -21,6 +21,8 @@ enum { +diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile +index 32e8c5a..8020453 100644 +--- a/scripts/kconfig/Makefile ++++ b/scripts/kconfig/Makefile +@@ -24,6 +24,11 @@ oldconfig: $(obj)/conf + silentoldconfig: $(obj)/conf + $< -s $(Kconfig) + ++nonint_oldconfig: $(obj)/conf ++ $< -b $(Kconfig) ++loose_nonint_oldconfig: $(obj)/conf ++ $< -B $(Kconfig) ++ + # Create new linux.pot file + # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files + # The symlink is used to repair a deficiency in arch/um +diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c +index fda6313..ed33b66 100644 +--- a/scripts/kconfig/conf.c ++++ b/scripts/kconfig/conf.c +@@ -22,6 +22,8 @@ ask_all, ask_new, ask_silent, @@ -10,55 +27,61 @@ diff -Nurp linux-2.6.22.noarch.orig/scripts/kconfig/conf.c linux-2.6.22.noarch/s set_default, set_yes, set_mod, -@@ -37,6 +39,8 @@ static struct menu *rootEntry; +@@ -39,6 +41,8 @@ static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n"); +static int return_value = 0; + - static void strip(char *str) + static const char *get_help(struct menu *menu) { - char *p = str; -@@ -103,6 +107,13 @@ static int conf_askvalue(struct symbol * - fflush(stdout); - fgets(line, 128, stdin); - return 1; -+ case dont_ask: -+ if (!sym_has_value(sym)) { -+ fprintf(stderr, "CONFIG_%s\n", sym->name); -+ return_value++; -+ } -+ case dont_ask_dont_tell: -+ return 1; - case set_default: - printf("%s\n", def); - return 1; -@@ -349,6 +360,11 @@ static int conf_choice(struct menu *menu - printf("?"); - printf("]: "); - switch (input_mode) { -+ case dont_ask: -+ case dont_ask_dont_tell: -+ cnt = def; -+ printf("%d\n", cnt); -+ break; - case ask_new: - case ask_silent: - if (!is_new) { -@@ -485,6 +501,10 @@ static void check_conf(struct menu *menu + if (menu_has_help(menu)) +@@ -359,7 +363,10 @@ + + switch (prop->type) { + case P_MENU: +- if (input_mode == ask_silent && rootEntry != menu) { ++ if ((input_mode == ask_silent || ++ input_mode == dont_ask || ++ input_mode == dont_ask_dont_tell) && ++ rootEntry != menu) { + check_conf(menu); + return; + } +@@ -417,12 +424,21 @@ + if (sym && !sym_has_value(sym)) { + if (sym_is_changable(sym) || + (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) { ++ if (input_mode == dont_ask || ++ input_mode == dont_ask_dont_tell) { ++ if (input_mode == dont_ask && ++ sym->name && !sym_is_choice_value(sym)) { ++ fprintf(stderr,"CONFIG_%s\n",sym->name); ++ ++return_value; ++ } ++ } else { if (!conf_cnt++) printf(_("*\n* Restart config...\n*\n")); rootEntry = menu_get_parent_menu(menu); -+ if (input_mode == dont_ask -+ || input_mode == dont_ask_dont_tell) -+ fprintf(stderr,"CONFIG_%s\n",sym->name); -+ else conf(rootEntry); } } -@@ -504,6 +524,12 @@ int main(int ac, char **av) ++ } + + for (child = menu->list; child; child = child->next) + check_conf(child); +@@ -438,7 +454,7 @@ + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + +- while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) { ++ while ((opt = getopt(ac, av, "osbBdD:nmyrh")) != -1) { + switch (opt) { case 'o': - input_mode = ask_new; + input_mode = ask_silent; +@@ -447,6 +463,12 @@ + input_mode = ask_silent; + sync_kconfig = 1; break; + case 'b': + input_mode = dont_ask; @@ -66,11 +89,11 @@ diff -Nurp linux-2.6.22.noarch.orig/scripts/kconfig/conf.c linux-2.6.22.noarch/s + case 'B': + input_mode = dont_ask_dont_tell; + break; - case 's': - input_mode = ask_silent; - valid_stdin = isatty(0) && isatty(1) && isatty(2); -@@ -570,6 +596,8 @@ int main(int ac, char **av) - } + case 'd': + input_mode = set_default; + break; +@@ -510,6 +532,8 @@ + case ask_silent: case ask_all: case ask_new: + case dont_ask: @@ -78,35 +101,28 @@ diff -Nurp linux-2.6.22.noarch.orig/scripts/kconfig/conf.c linux-2.6.22.noarch/s conf_read(NULL); break; case set_no: -@@ -616,7 +644,8 @@ int main(int ac, char **av) - do { - conf_cnt = 0; - check_conf(&rootmenu); -- } while (conf_cnt); -+ } while (conf_cnt && (input_mode != dont_ask -+ && input_mode != dont_ask_dont_tell)); - if (conf_write(NULL)) { - fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); - return 1; -@@ -627,5 +656,5 @@ skip_check: - return 1; +@@ -571,12 +595,16 @@ + conf(&rootmenu); + input_mode = ask_silent; + /* fall through */ ++ case dont_ask: ++ case dont_ask_dont_tell: + case ask_silent: + /* Update until a loop caused no more changes */ + do { + conf_cnt = 0; + check_conf(&rootmenu); +- } while (conf_cnt); ++ } while (conf_cnt && ++ (input_mode != dont_ask && ++ input_mode != dont_ask_dont_tell)); + break; } +@@ -598,5 +626,5 @@ + exit(1); + } + } - return 0; + return return_value; } -diff -Nurp linux-2.6.22.noarch.orig/scripts/kconfig/Makefile linux-2.6.22.noarch/scripts/kconfig/Makefile ---- linux-2.6.22.noarch.orig/scripts/kconfig/Makefile 2007-07-09 01:32:17.000000000 +0200 -+++ linux-2.6.22.noarch/scripts/kconfig/Makefile 2007-10-11 20:52:11.000000000 +0200 -@@ -22,6 +22,11 @@ oldconfig: $(obj)/conf - silentoldconfig: $(obj)/conf - $< -s arch/$(ARCH)/Kconfig - -+nonint_oldconfig: $(obj)/conf -+ $< -b arch/$(ARCH)/Kconfig -+loose_nonint_oldconfig: $(obj)/conf -+ $< -B arch/$(ARCH)/Kconfig -+ - update-po-config: $(obj)/kxgettext - xgettext --default-domain=linux \ - --add-comments --keyword=_ --keyword=N_ \