diff options
Diffstat (limited to 'package/config/kconfig-to-buildroot2.patch')
-rw-r--r-- | package/config/kconfig-to-buildroot2.patch | 945 |
1 files changed, 214 insertions, 731 deletions
diff --git a/package/config/kconfig-to-buildroot2.patch b/package/config/kconfig-to-buildroot2.patch index a3a35ec7f..3348b85a1 100644 --- a/package/config/kconfig-to-buildroot2.patch +++ b/package/config/kconfig-to-buildroot2.patch @@ -1,82 +1,120 @@ -diff -rduNp config.new.oorig/Makefile config.new/Makefile ---- config.new.oorig/Makefile 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/Makefile 2008-04-07 11:06:30.000000000 +0200 -@@ -123,6 +123,9 @@ hostprogs-y := conf qconf gconf kxgettex +--- + Makefile | 7 +++ + README.buildroot2 | 22 ++++++++++ + conf.c | 13 ++---- + confdata.c | 101 ++++++++++++++++++++++++++------------------------ + expr.c | 42 ++++++++++---------- + gconf.c | 4 - + gconf.glade | 2 + mconf.c | 39 +++++++++---------- + qconf.cc | 5 +- + util.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- + zconf.tab.c_shipped | 2 + zconf.y | 2 + 12 files changed, 241 insertions(+), 103 deletions(-) + +Index: config/Makefile +=================================================================== +--- config.orig/Makefile ++++ config/Makefile +@@ -124,10 +124,17 @@ ifeq ($(MAKECMDGOALS),menuconfig) hostprogs-y += mconf endif +ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) -+ hostprogs-y += mconf ++ hostprogs-y += mconf +endif ifeq ($(MAKECMDGOALS),xconfig) qconf-target := 1 -@@ -181,8 +184,8 @@ $(obj)/.tmp_qtcheck: - done; \ - if [ -z "$$dir" ]; then \ - echo "*"; \ -- echo "* Unable to find the QT3 installation. Please make sure that"; \ -- echo "* the QT3 development package is correctly installed and"; \ -+ echo "* Unable to find the QT installation. Please make sure that"; \ -+ echo "* the QT development package is correctly installed and"; \ - echo "* either install pkg-config or set the QTDIR environment"; \ - echo "* variable to the correct location."; \ - echo "*"; \ -diff -rduNp config.new.oorig/conf.c config.new/conf.c ---- config.new.oorig/conf.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/conf.c 2008-04-07 11:06:30.000000000 +0200 -@@ -545,7 +545,7 @@ int main(int ac, char **av) - exit(1); + endif ++ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf) ++ qconf-target := 1 ++endif ++ + ifeq ($(MAKECMDGOALS),gconfig) + gconf-target := 1 + endif +Index: config/README.buildroot2 +=================================================================== +--- /dev/null ++++ config/README.buildroot2 +@@ -0,0 +1,22 @@ ++This is a copy of the kconfig code in the kernel (currently 2.6.24.4) tweaked ++to suit Buildroot. ++ ++To update: ++ cp -r /usr/src/linux/scripts/kconfig package/config.new ++ cd package/config.new ++ cp /usr/src/linux/Documentation/kbuild/kconfig-language.txt . ++ patch -p1 < ../config/kconfig-to-buildroot2.patch ++ mv Makefile Makefile.kconfig ++ cp ../config/README.buildroot2 . ++ cp ../config/foo.h . ++ cp ../config/Makefile . ++ cp ../config/kconfig-to-buildroot2.patch . ++ cd .. ++ rm -rf config ++ mv config.new config ++ ++Then verify the toplevel targets work: ++ config ++ defconfig ++ menuconfig ++ oldconfig +Index: config/conf.c +=================================================================== +--- config.orig/conf.c ++++ config/conf.c +@@ -496,13 +496,12 @@ } + name = av[optind]; conf_parse(name); - //zconfdump(stdout); -+ /*zconfdump(stdout);*/ - switch (input_mode) { - case set_default: - if (!defconfig_file) -@@ -560,11 +560,11 @@ int main(int ac, char **av) - case ask_silent: - if (stat(".config", &tmpstat)) { - printf(_("***\n" + if (sync_kconfig) { + name = conf_get_configname(); + if (stat(name, &tmpstat)) { + fprintf(stderr, _("***\n" - "*** You have not yet configured your kernel!\n" -- "*** (missing kernel .config file)\n" +- "*** (missing kernel config file \"%s\")\n" + "*** You have not yet configured Buildroot!\n" -+ "*** (missing .config file)\n" ++ "*** (missing .config file \"%s\")\n" "***\n" "*** Please run some configurator (e.g. \"make oldconfig\" or\n" -- "*** \"make menuconfig\" or \"make xconfig\").\n" -+ "*** \"make menuconfig\" or \"make config\").\n" - "***\n")); + "*** \"make menuconfig\" or \"make xconfig\").\n" +@@ -557,7 +556,7 @@ + name = getenv("KCONFIG_NOSILENTUPDATE"); + if (name && *name) { + fprintf(stderr, +- _("\n*** Kernel configuration requires explicit update.\n\n")); ++ _("\n*** Buildroot configuration requires explicit update.\n\n")); + return 1; + } + } +@@ -600,16 +599,16 @@ + * All other commands are only used to generate a config. + */ + if (conf_get_changed() && conf_write(NULL)) { +- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); ++ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); exit(1); } -@@ -607,7 +607,7 @@ int main(int ac, char **av) - } else if (conf_get_changed()) { - name = getenv("KCONFIG_NOSILENTUPDATE"); - if (name && *name) { -- fprintf(stderr, _("\n*** Kernel configuration requires explicit update.\n\n")); -+ fprintf(stderr, _("\n*** Buildroot configuration requires explicit update.\n\n")); + if (conf_write_autoconf()) { +- fprintf(stderr, _("\n*** Error during update of the kernel configuration.\n\n")); ++ fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n")); return 1; } - } else -@@ -618,12 +618,12 @@ int main(int ac, char **av) - check_conf(&rootmenu); - } while (conf_cnt); - if (conf_write(NULL)) { -- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); -+ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); - return 1; - } - skip_check: -- if (input_mode == ask_silent && conf_write_autoconf()) { -- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); -+ if (/*input_mode == ask_silent &&*/ conf_write_autoconf()) { -+ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); - return 1; + } else { + if (conf_write(NULL)) { +- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); ++ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); + exit(1); + } } - -diff -rduNp config.new.oorig/confdata.c config.new/confdata.c ---- config.new.oorig/confdata.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/confdata.c 2008-04-07 11:06:30.000000000 +0200 +Index: config/confdata.c +=================================================================== +--- config.orig/confdata.c ++++ config/confdata.c @@ -11,6 +11,7 @@ #include <string.h> #include <time.h> @@ -85,7 +123,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c #define LKC_DIRECT_LINK #include "lkc.h" -@@ -21,7 +22,7 @@ static void conf_warning(const char *fmt +@@ -21,7 +22,7 @@ static const char *conf_filename; static int conf_lineno, conf_warnings, conf_unsaved; @@ -94,7 +132,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c static void conf_warning(const char *fmt, ...) { -@@ -36,7 +37,7 @@ static void conf_warning(const char *fmt +@@ -36,16 +37,16 @@ const char *conf_get_configname(void) { @@ -103,7 +141,18 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c return name ? name : ".config"; } -@@ -212,22 +213,22 @@ load: + + const char *conf_get_autoconfig_name(void) + { +- char *name = getenv("KCONFIG_AUTOCONFIG"); ++ char *name = getenv("BUILDROOT_AUTOCONFIG"); + +- return name ? name : "include/config/auto.conf"; ++ return name ? name : "$(BR2_DEPENDS_DIR)/config/auto.conf"; + } + + static char *conf_expand_value(const char *in) +@@ -219,22 +220,22 @@ sym = NULL; switch (line[0]) { case '#': @@ -121,8 +170,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c - sym = sym_find(line + 9); + sym = sym_find(line + 2); if (!sym) { -- conf_warning("trying to assign nonexistent symbol %s", line + 9); -+ conf_warning("trying to assign nonexistent symbol %s", line + 2); + sym_add_change_count(1); break; } } else { @@ -131,7 +179,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c if (sym->type == S_UNKNOWN) sym->type = S_BOOLEAN; } -@@ -245,12 +246,8 @@ load: +@@ -251,12 +252,8 @@ ; } break; @@ -146,15 +194,14 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c if (!p) continue; *p++ = 0; -@@ -261,13 +258,13 @@ load: +@@ -267,13 +264,13 @@ *p2 = 0; } if (def == S_DEF_USER) { - sym = sym_find(line + 7); + sym = sym_find(line); if (!sym) { -- conf_warning("trying to assign nonexistent symbol %s", line + 7); -+ conf_warning("trying to assign nonexistent symbol %s", line); + sym_add_change_count(1); break; } } else { @@ -163,7 +210,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c if (sym->type == S_UNKNOWN) sym->type = S_OTHER; } -@@ -440,7 +437,7 @@ int conf_write(const char *name) +@@ -443,7 +440,7 @@ if (!out) return 1; @@ -172,7 +219,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c sym_calc_value(sym); time(&now); env = getenv("KCONFIG_NOTIMESTAMP"); -@@ -449,10 +446,8 @@ int conf_write(const char *name) +@@ -452,10 +449,8 @@ fprintf(out, _("#\n" "# Automatically generated make config: don't edit\n" @@ -183,7 +230,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c use_timestamp ? "# " : "", use_timestamp ? ctime(&now) : ""); -@@ -486,19 +481,19 @@ int conf_write(const char *name) +@@ -489,19 +484,19 @@ case S_TRISTATE: switch (sym_get_tristate_value(sym)) { case no: @@ -207,7 +254,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c while (1) { l = strcspn(str, "\"\\"); if (l) { -@@ -514,12 +509,12 @@ int conf_write(const char *name) +@@ -517,12 +512,12 @@ case S_HEX: str = sym_get_string_value(sym); if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { @@ -222,17 +269,16 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c break; } } -@@ -559,7 +554,7 @@ int conf_write(const char *name) - - int conf_split_config(void) +@@ -564,6 +559,7 @@ { -- char *name, path[128]; -+ char *name, path[128], *opwd, *dir, *_name; + const char *name; + char path[128]; ++ char *opwd, *dir, *_name; char *s, *d, c; struct symbol *sym; struct stat sb; -@@ -570,8 +565,20 @@ int conf_split_config(void) - name = "include/config/auto.conf"; +@@ -572,8 +568,20 @@ + name = conf_get_autoconfig_name(); conf_read_simple(name, S_DEF_AUTO); - if (chdir("include/config")) @@ -253,7 +299,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c res = 0; for_all_symbols(i, sym) { -@@ -664,9 +671,11 @@ int conf_split_config(void) +@@ -666,9 +674,11 @@ close(fd); } out: @@ -268,7 +314,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c return res; } -@@ -681,7 +690,7 @@ int conf_write_autoconf(void) +@@ -683,7 +693,7 @@ sym_clear_all_valid(); @@ -277,7 +323,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c if (conf_split_config()) return 1; -@@ -696,22 +705,19 @@ int conf_write_autoconf(void) +@@ -698,22 +708,19 @@ return 1; } @@ -304,7 +350,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c for_all_symbols(i, sym) { sym_calc_value(sym); -@@ -724,19 +730,19 @@ int conf_write_autoconf(void) +@@ -726,19 +733,19 @@ case no: break; case mod: @@ -330,7 +376,7 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c while (1) { l = strcspn(str, "\"\\"); if (l) { -@@ -756,14 +762,14 @@ int conf_write_autoconf(void) +@@ -758,14 +765,14 @@ case S_HEX: str = sym_get_string_value(sym); if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { @@ -349,10 +395,11 @@ diff -rduNp config.new.oorig/confdata.c config.new/confdata.c break; default: break; -diff -rduNp config.new.oorig/expr.c config.new/expr.c ---- config.new.oorig/expr.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/expr.c 2008-04-07 11:06:30.000000000 +0200 -@@ -331,7 +331,7 @@ struct expr *expr_trans_bool(struct expr +Index: config/expr.c +=================================================================== +--- config.orig/expr.c ++++ config/expr.c +@@ -331,7 +331,7 @@ e->right.expr = expr_trans_bool(e->right.expr); break; case E_UNEQUAL: @@ -361,7 +408,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c if (e->left.sym->type == S_TRISTATE) { if (e->right.sym == &symbol_no) { e->type = E_SYMBOL; -@@ -380,19 +380,19 @@ struct expr *expr_join_or(struct expr *e +@@ -380,19 +380,19 @@ if (e1->type == E_EQUAL && e2->type == E_EQUAL && ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { @@ -384,7 +431,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes); } } -@@ -443,29 +443,29 @@ struct expr *expr_join_and(struct expr * +@@ -443,29 +443,29 @@ if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) @@ -419,7 +466,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c sym2 = e2->right.sym; if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) -@@ -474,19 +474,19 @@ struct expr *expr_join_and(struct expr * +@@ -474,19 +474,19 @@ if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) @@ -442,7 +489,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || -@@ -579,7 +579,7 @@ static void expr_eliminate_dups2(enum ex +@@ -579,7 +579,7 @@ switch (e1->type) { case E_OR: expr_eliminate_dups2(e1->type, &e1, &e1); @@ -451,7 +498,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); tmp2 = expr_copy(e2); tmp = expr_extract_eq_and(&tmp1, &tmp2); -@@ -594,7 +594,7 @@ static void expr_eliminate_dups2(enum ex +@@ -594,7 +594,7 @@ break; case E_AND: expr_eliminate_dups2(e1->type, &e1, &e1); @@ -460,7 +507,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); tmp2 = expr_copy(e2); tmp = expr_extract_eq_or(&tmp1, &tmp2); -@@ -703,7 +703,7 @@ struct expr *expr_transform(struct expr +@@ -703,7 +703,7 @@ case E_NOT: switch (e->left.expr->type) { case E_NOT: @@ -469,7 +516,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr->left.expr; free(e->left.expr); free(e); -@@ -712,14 +712,14 @@ struct expr *expr_transform(struct expr +@@ -712,14 +712,14 @@ break; case E_EQUAL: case E_UNEQUAL: @@ -486,7 +533,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr; e->type = E_AND; e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); -@@ -728,7 +728,7 @@ struct expr *expr_transform(struct expr +@@ -728,7 +728,7 @@ e = expr_transform(e); break; case E_AND: @@ -495,7 +542,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr; e->type = E_OR; e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); -@@ -738,7 +738,7 @@ struct expr *expr_transform(struct expr +@@ -738,7 +738,7 @@ break; case E_SYMBOL: if (e->left.expr->left.sym == &symbol_yes) { @@ -504,7 +551,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr; free(e); e = tmp; -@@ -747,7 +747,7 @@ struct expr *expr_transform(struct expr +@@ -747,7 +747,7 @@ break; } if (e->left.expr->left.sym == &symbol_mod) { @@ -513,7 +560,7 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr; free(e); e = tmp; -@@ -756,7 +756,7 @@ struct expr *expr_transform(struct expr +@@ -756,7 +756,7 @@ break; } if (e->left.expr->left.sym == &symbol_no) { @@ -522,22 +569,11 @@ diff -rduNp config.new.oorig/expr.c config.new/expr.c tmp = e->left.expr; free(e); e = tmp; -diff -rduNp config.new.oorig/expr.h config.new/expr.h ---- config.new.oorig/expr.h 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/expr.h 2008-04-07 11:06:30.000000000 +0200 -@@ -65,7 +65,7 @@ enum symbol_type { - - enum { - S_DEF_USER, /* main user value */ -- S_DEF_AUTO, -+ S_DEF_AUTO - }; - - struct symbol { -diff -rduNp config.new.oorig/gconf.c config.new/gconf.c ---- config.new.oorig/gconf.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/gconf.c 2008-04-07 11:06:30.000000000 +0200 -@@ -268,8 +268,8 @@ void init_main_window(const gchar * glad +Index: config/gconf.c +=================================================================== +--- config.orig/gconf.c ++++ config/gconf.c +@@ -266,8 +266,8 @@ /*"style", PANGO_STYLE_OBLIQUE, */ NULL); @@ -548,9 +584,10 @@ diff -rduNp config.new.oorig/gconf.c config.new/gconf.c gtk_window_set_title(GTK_WINDOW(main_wnd), title); gtk_widget_show(main_wnd); -diff -rduNp config.new.oorig/gconf.glade config.new/gconf.glade ---- config.new.oorig/gconf.glade 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/gconf.glade 2008-04-07 11:06:30.000000000 +0200 +Index: config/gconf.glade +=================================================================== +--- config.orig/gconf.glade ++++ config/gconf.glade @@ -5,7 +5,7 @@ <widget class="GtkWindow" id="window1"> @@ -560,576 +597,11 @@ diff -rduNp config.new.oorig/gconf.glade config.new/gconf.glade <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> -diff -rduNp config.new.oorig/kconfig-to-buildroot2.patch config.new/kconfig-to-buildroot2.patch ---- config.new.oorig/kconfig-to-buildroot2.patch 1970-01-01 01:00:00.000000000 +0100 -+++ config.new/kconfig-to-buildroot2.patch 2008-04-07 11:12:30.000000000 +0200 -@@ -0,0 +1,562 @@ -+diff -rduNp config.new.oorig/Makefile config.new/Makefile -+--- config.new.oorig/Makefile 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/Makefile 2008-04-07 11:06:30.000000000 +0200 -+@@ -123,6 +123,9 @@ hostprogs-y := conf qconf gconf kxgettex -+ ifeq ($(MAKECMDGOALS),menuconfig) -+ hostprogs-y += mconf -+ endif -++ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) -++ hostprogs-y += mconf -++endif -+ -+ ifeq ($(MAKECMDGOALS),xconfig) -+ qconf-target := 1 -+@@ -181,8 +184,8 @@ $(obj)/.tmp_qtcheck: -+ done; \ -+ if [ -z "$$dir" ]; then \ -+ echo "*"; \ -+- echo "* Unable to find the QT3 installation. Please make sure that"; \ -+- echo "* the QT3 development package is correctly installed and"; \ -++ echo "* Unable to find the QT installation. Please make sure that"; \ -++ echo "* the QT development package is correctly installed and"; \ -+ echo "* either install pkg-config or set the QTDIR environment"; \ -+ echo "* variable to the correct location."; \ -+ echo "*"; \ -+diff -rduNp config.new.oorig/conf.c config.new/conf.c -+--- config.new.oorig/conf.c 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/conf.c 2008-04-07 11:06:30.000000000 +0200 -+@@ -545,7 +545,7 @@ int main(int ac, char **av) -+ exit(1); -+ } -+ conf_parse(name); -+- //zconfdump(stdout); -++ /*zconfdump(stdout);*/ -+ switch (input_mode) { -+ case set_default: -+ if (!defconfig_file) -+@@ -560,11 +560,11 @@ int main(int ac, char **av) -+ case ask_silent: -+ if (stat(".config", &tmpstat)) { -+ printf(_("***\n" -+- "*** You have not yet configured your kernel!\n" -+- "*** (missing kernel .config file)\n" -++ "*** You have not yet configured Buildroot!\n" -++ "*** (missing .config file)\n" -+ "***\n" -+ "*** Please run some configurator (e.g. \"make oldconfig\" or\n" -+- "*** \"make menuconfig\" or \"make xconfig\").\n" -++ "*** \"make menuconfig\" or \"make config\").\n" -+ "***\n")); -+ exit(1); -+ } -+@@ -607,7 +607,7 @@ int main(int ac, char **av) -+ } else if (conf_get_changed()) { -+ name = getenv("KCONFIG_NOSILENTUPDATE"); -+ if (name && *name) { -+- fprintf(stderr, _("\n*** Kernel configuration requires explicit update.\n\n")); -++ fprintf(stderr, _("\n*** Buildroot configuration requires explicit update.\n\n")); -+ return 1; -+ } -+ } else -+@@ -618,12 +618,12 @@ int main(int ac, char **av) -+ check_conf(&rootmenu); -+ } while (conf_cnt); -+ if (conf_write(NULL)) { -+- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); -++ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); -+ return 1; -+ } -+ skip_check: -+- if (input_mode == ask_silent && conf_write_autoconf()) { -+- fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n")); -++ if (/*input_mode == ask_silent &&*/ conf_write_autoconf()) { -++ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n")); -+ return 1; -+ } -+ -+diff -rduNp config.new.oorig/confdata.c config.new/confdata.c -+--- config.new.oorig/confdata.c 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/confdata.c 2008-04-07 11:06:30.000000000 +0200 -+@@ -11,6 +11,7 @@ -+ #include <string.h> -+ #include <time.h> -+ #include <unistd.h> -++#include <libgen.h> -+ -+ #define LKC_DIRECT_LINK -+ #include "lkc.h" -+@@ -21,7 +22,7 @@ static void conf_warning(const char *fmt -+ static const char *conf_filename; -+ static int conf_lineno, conf_warnings, conf_unsaved; -+ -+-const char conf_defname[] = "arch/$ARCH/defconfig"; -++const char conf_defname[] = ".defconfig"; -+ -+ static void conf_warning(const char *fmt, ...) -+ { -+@@ -36,7 +37,7 @@ static void conf_warning(const char *fmt -+ -+ const char *conf_get_configname(void) -+ { -+- char *name = getenv("KCONFIG_CONFIG"); -++ char *name = getenv("BUILDROOT_CONFIG"); -+ -+ return name ? name : ".config"; -+ } -+@@ -212,22 +213,22 @@ load: -+ sym = NULL; -+ switch (line[0]) { -+ case '#': -+- if (memcmp(line + 2, "CONFIG_", 7)) -++ if (line[1]!=' ') -+ continue; -+- p = strchr(line + 9, ' '); -++ p = strchr(line + 2, ' '); -+ if (!p) -+ continue; -+ *p++ = 0; -+ if (strncmp(p, "is not set", 10)) -+ continue; -+ if (def == S_DEF_USER) { -+- sym = sym_find(line + 9); -++ sym = sym_find(line + 2); -+ if (!sym) { -+- conf_warning("trying to assign nonexistent symbol %s", line + 9); -++ conf_warning("trying to assign nonexistent symbol %s", line + 2); -+ break; -+ } -+ } else { -+- sym = sym_lookup(line + 9, 0); -++ sym = sym_lookup(line + 2, 0); -+ if (sym->type == S_UNKNOWN) -+ sym->type = S_BOOLEAN; -+ } -+@@ -245,12 +246,8 @@ load: -+ ; -+ } -+ break; -+- case 'C': -+- if (memcmp(line, "CONFIG_", 7)) { -+- conf_warning("unexpected data"); -+- continue; -+- } -+- p = strchr(line + 7, '='); -++ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': -++ p = strchr(line, '='); -+ if (!p) -+ continue; -+ *p++ = 0; -+@@ -261,13 +258,13 @@ load: -+ *p2 = 0; -+ } -+ if (def == S_DEF_USER) { -+- sym = sym_find(line + 7); -++ sym = sym_find(line); -+ if (!sym) { -+- conf_warning("trying to assign nonexistent symbol %s", line + 7); -++ conf_warning("trying to assign nonexistent symbol %s", line); -+ break; -+ } -+ } else { -+- sym = sym_lookup(line + 7, 0); -++ sym = sym_lookup(line, 0); -+ if (sym->type == S_UNKNOWN) -+ sym->type = S_OTHER; -+ } -+@@ -440,7 +437,7 @@ int conf_write(const char *name) -+ if (!out) -+ return 1; -+ -+- sym = sym_lookup("KERNELVERSION", 0); -++ sym = sym_lookup("BR2_VERSION", 0); -+ sym_calc_value(sym); -+ time(&now); -+ env = getenv("KCONFIG_NOTIMESTAMP"); -+@@ -449,10 +446,8 @@ int conf_write(const char *name) -+ -+ fprintf(out, _("#\n" -+ "# Automatically generated make config: don't edit\n" -+- "# Linux kernel version: %s\n" -+ "%s%s" -+ "#\n"), -+- sym_get_string_value(sym), -+ use_timestamp ? "# " : "", -+ use_timestamp ? ctime(&now) : ""); -+ -+@@ -486,19 +481,19 @@ int conf_write(const char *name) -+ case S_TRISTATE: -+ switch (sym_get_tristate_value(sym)) { -+ case no: -+- fprintf(out, "# CONFIG_%s is not set\n", sym->name); -++ fprintf(out, "# %s is not set\n", sym->name); -+ break; -+ case mod: -+- fprintf(out, "CONFIG_%s=m\n", sym->name); -++ fprintf(out, "%s=m\n", sym->name); -+ break; -+ case yes: -+- fprintf(out, "CONFIG_%s=y\n", sym->name); -++ fprintf(out, "%s=y\n", sym->name); -+ break; -+ } -+ break; -+ case S_STRING: -+ str = sym_get_string_value(sym); -+- fprintf(out, "CONFIG_%s=\"", sym->name); -++ fprintf(out, "%s=\"", sym->name); -+ while (1) { -+ l = strcspn(str, "\"\\"); -+ if (l) { -+@@ -514,12 +509,12 @@ int conf_write(const char *name) -+ case S_HEX: -+ str = sym_get_string_value(sym); -+ if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { -+- fprintf(out, "CONFIG_%s=%s\n", sym->name, str); -++ fprintf(out, "%s=%s\n", sym->name, str); -+ break; -+ } -+ case S_INT: -+ str = sym_get_string_value(sym); -+- fprintf(out, "CONFIG_%s=%s\n", sym->name, str); -++ fprintf(out, "%s=%s\n", sym->name, str); -+ break; -+ } -+ } -+@@ -559,7 +554,7 @@ int conf_write(const char *name) -+ -+ int conf_split_config(void) -+ { -+- char *name, path[128]; -++ char *name, path[128], *opwd, *dir, *_name; -+ char *s, *d, c; -+ struct symbol *sym; -+ struct stat sb; -+@@ -570,8 +565,20 @@ int conf_split_config(void) -+ name = "include/config/auto.conf"; -+ conf_read_simple(name, S_DEF_AUTO); -+ -+- if (chdir("include/config")) -++ opwd = malloc(256); -++ _name = strdup(name); -++ if (opwd == NULL || _name == NULL) -+ return 1; -++ opwd = getcwd(opwd, 256); -++ dir = dirname(_name); -++ if (dir == NULL) { -++ res = 1; -++ goto err; -++ } -++ if (chdir(dir)) { -++ res = 1; -++ goto err; -++ } -+ -+ res = 0; -+ for_all_symbols(i, sym) { -+@@ -664,9 +671,11 @@ int conf_split_config(void) -+ close(fd); -+ } -+ out: -+- if (chdir("../..")) -+- return 1; -+- -++ if (chdir(opwd)) -++ res = 1; -++err: -++ free(opwd); -++ free(_name); -+ return res; -+ } -+ -+@@ -681,7 +690,7 @@ int conf_write_autoconf(void) -+ -+ sym_clear_all_valid(); -+ -+- file_write_dep("include/config/auto.conf.cmd"); -++ file_write_dep(".config.cmd"); -+ -+ if (conf_split_config()) -+ return 1; -+@@ -696,22 +705,19 @@ int conf_write_autoconf(void) -+ return 1; -+ } -+ -+- sym = sym_lookup("KERNELVERSION", 0); -++ sym = sym_lookup("BR2_VERSION", 0); -+ sym_calc_value(sym); -+ time(&now); -+ fprintf(out, "#\n" -+ "# Automatically generated make config: don't edit\n" -+- "# Linux kernel version: %s\n" -+ "# %s" -+ "#\n", -+- sym_get_string_value(sym), ctime(&now)); -++ ctime(&now)); -+ fprintf(out_h, "/*\n" -+ " * Automatically generated C config: don't edit\n" -+- " * Linux kernel version: %s\n" -+ " * %s" -+- " */\n" -+- "#define AUTOCONF_INCLUDED\n", -+- sym_get_string_value(sym), ctime(&now)); -++ " */\n", -++ ctime(&now)); -+ -+ for_all_symbols(i, sym) { -+ sym_calc_value(sym); -+@@ -724,19 +730,19 @@ int conf_write_autoconf(void) -+ case no: -+ break; -+ case mod: -+- fprintf(out, "CONFIG_%s=m\n", sym->name); -+- fprintf(out_h, "#define CONFIG_%s_MODULE 1\n", sym->name); -++ fprintf(out, "%s=m\n", sym->name); -++ fprintf(out_h, "#define %s_MODULE 1\n", sym->name); -+ break; -+ case yes: -+- fprintf(out, "CONFIG_%s=y\n", sym->name); -+- fprintf(out_h, "#define CONFIG_%s 1\n", sym->name); -++ fprintf(out, "%s=y\n", sym->name); -++ fprintf(out_h, "#define %s 1\n", sym->name); -+ break; -+ } -+ break; -+ case S_STRING: -+ str = sym_get_string_value(sym); -+- fprintf(out, "CONFIG_%s=\"", sym->name); -+- fprintf(out_h, "#define CONFIG_%s \"", sym->name); -++ fprintf(out, "%s=\"", sym->name); -++ fprintf(out_h, "#define %s \"", sym->name); -+ while (1) { -+ l = strcspn(str, "\"\\"); -+ if (l) { -+@@ -756,14 +762,14 @@ int conf_write_autoconf(void) -+ case S_HEX: -+ str = sym_get_string_value(sym); -+ if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) { -+- fprintf(out, "CONFIG_%s=%s\n", sym->name, str); -+- fprintf(out_h, "#define CONFIG_%s 0x%s\n", sym->name, str); -++ fprintf(out, "%s=%s\n", sym->name, str); -++ fprintf(out_h, "#define %s 0x%s\n", sym->name, str); -+ break; -+ } -+ case S_INT: -+ str = sym_get_string_value(sym); -+- fprintf(out, "CONFIG_%s=%s\n", sym->name, str); -+- fprintf(out_h, "#define CONFIG_%s %s\n", sym->name, str); -++ fprintf(out, "%s=%s\n", sym->name, str); -++ fprintf(out_h, "#define %s %s\n", sym->name, str); -+ break; -+ default: -+ break; -+diff -rduNp config.new.oorig/expr.c config.new/expr.c -+--- config.new.oorig/expr.c 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/expr.c 2008-04-07 11:06:30.000000000 +0200 -+@@ -331,7 +331,7 @@ struct expr *expr_trans_bool(struct expr -+ e->right.expr = expr_trans_bool(e->right.expr); -+ break; -+ case E_UNEQUAL: -+- // FOO!=n -> FOO -++ /* FOO!=n -> FOO */ -+ if (e->left.sym->type == S_TRISTATE) { -+ if (e->right.sym == &symbol_no) { -+ e->type = E_SYMBOL; -+@@ -380,19 +380,19 @@ struct expr *expr_join_or(struct expr *e -+ if (e1->type == E_EQUAL && e2->type == E_EQUAL && -+ ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || -+ (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) { -+- // (a='y') || (a='m') -> (a!='n') -++ /* (a='y') || (a='m') -> (a!='n') */ -+ return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_no); -+ } -+ if (e1->type == E_EQUAL && e2->type == E_EQUAL && -+ ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || -+ (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) { -+- // (a='y') || (a='n') -> (a!='m') -++ /* (a='y') || (a='n') -> (a!='m') */ -+ return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_mod); -+ } -+ if (e1->type == E_EQUAL && e2->type == E_EQUAL && -+ ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || -+ (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) { -+- // (a='m') || (a='n') -> (a!='y') -++ /* (a='m') || (a='n') -> (a!='y') */ -+ return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes); -+ } -+ } -+@@ -443,29 +443,29 @@ struct expr *expr_join_and(struct expr * -+ -+ if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) || -+ (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes)) -+- // (a) && (a='y') -> (a='y') -++ /* (a) && (a='y') -> (a='y') */ -+ return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); -+ -+ if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) || -+ (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no)) -+- // (a) && (a!='n') -> (a) -++ /* (a) && (a!='n') -> (a) */ -+ return expr_alloc_symbol(sym1); -+ -+ if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) || -+ (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod)) -+- // (a) && (a!='m') -> (a='y') -++ /* (a) && (a!='m') -> (a='y') */ -+ return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); -+ -+ if (sym1->type == S_TRISTATE) { -+ if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) { -+- // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' -++ /* (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' */ -+ sym2 = e1->right.sym; -+ if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) -+ return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) -+ : expr_alloc_symbol(&symbol_no); -+ } -+ if (e1->type == E_UNEQUAL && e2->type == E_EQUAL) { -+- // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' -++ /* (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b' */ -+ sym2 = e2->right.sym; -+ if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST)) -+ return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2) -+@@ -474,19 +474,19 @@ struct expr *expr_join_and(struct expr * -+ if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && -+ ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) || -+ (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) -+- // (a!='y') && (a!='n') -> (a='m') -++ /* (a!='y') && (a!='n') -> (a='m') */ -+ return expr_alloc_comp(E_EQUAL, sym1, &symbol_mod); -+ -+ if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && -+ ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) || -+ (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) -+- // (a!='y') && (a!='m') -> (a='n') -++ /* (a!='y') && (a!='m') -> (a='n') */ -+ return expr_alloc_comp(E_EQUAL, sym1, &symbol_no); -+ -+ if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL && -+ ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) || -+ (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) -+- // (a!='m') && (a!='n') -> (a='m') -++ /* (a!='m') && (a!='n') -> (a='m') */ -+ return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes); -+ -+ if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) || -+@@ -579,7 +579,7 @@ static void expr_eliminate_dups2(enum ex -+ switch (e1->type) { -+ case E_OR: -+ expr_eliminate_dups2(e1->type, &e1, &e1); -+- // (FOO || BAR) && (!FOO && !BAR) -> n -++ /* (FOO || BAR) && (!FOO && !BAR) -> n */ -+ tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); -+ tmp2 = expr_copy(e2); -+ tmp = expr_extract_eq_and(&tmp1, &tmp2); -+@@ -594,7 +594,7 @@ static void expr_eliminate_dups2(enum ex -+ break; -+ case E_AND: -+ expr_eliminate_dups2(e1->type, &e1, &e1); -+- // (FOO && BAR) || (!FOO || !BAR) -> y -++ /* (FOO && BAR) || (!FOO || !BAR) -> y */ -+ tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); -+ tmp2 = expr_copy(e2); -+ tmp = expr_extract_eq_or(&tmp1, &tmp2); -+@@ -703,7 +703,7 @@ struct expr *expr_transform(struct expr -+ case E_NOT: -+ switch (e->left.expr->type) { -+ case E_NOT: -+- // !!a -> a -++ /* !!a -> a */ -+ tmp = e->left.expr->left.expr; -+ free(e->left.expr); -+ free(e); -+@@ -712,14 +712,14 @@ struct expr *expr_transform(struct expr -+ break; -+ case E_EQUAL: -+ case E_UNEQUAL: -+- // !a='x' -> a!='x' -++ /* !a='x' -> a!='x' */ -+ tmp = e->left.expr; -+ free(e); -+ e = tmp; -+ e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL; -+ break; -+ case E_OR: -+- // !(a || b) -> !a && !b -++ /* !(a || b) -> !a && !b */ -+ tmp = e->left.expr; -+ e->type = E_AND; -+ e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); -+@@ -728,7 +728,7 @@ struct expr *expr_transform(struct expr -+ e = expr_transform(e); -+ break; -+ case E_AND: -+- // !(a && b) -> !a || !b -++ /* !(a && b) -> !a || !b */ -+ tmp = e->left.expr; -+ e->type = E_OR; -+ e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr); -+@@ -738,7 +738,7 @@ struct expr *expr_transform(struct expr -+ break; -+ case E_SYMBOL: -+ if (e->left.expr->left.sym == &symbol_yes) { -+- // !'y' -> 'n' -++ /* !'y' -> 'n' */ -+ tmp = e->left.expr; -+ free(e); -+ e = tmp; -+@@ -747,7 +747,7 @@ struct expr *expr_transform(struct expr -+ break; -+ } -+ if (e->left.expr->left.sym == &symbol_mod) { -+- // !'m' -> 'm' -++ /* !'m' -> 'm' */ -+ tmp = e->left.expr; -+ free(e); -+ e = tmp; -+@@ -756,7 +756,7 @@ struct expr *expr_transform(struct expr -+ break; -+ } -+ if (e->left.expr->left.sym == &symbol_no) { -+- // !'n' -> 'y' -++ /* !'n' -> 'y' */ -+ tmp = e->left.expr; -+ free(e); -+ e = tmp; -+diff -rduNp config.new.oorig/expr.h config.new/expr.h -+--- config.new.oorig/expr.h 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/expr.h 2008-04-07 11:06:30.000000000 +0200 -+@@ -65,7 +65,7 @@ enum symbol_type { -+ -+ enum { -+ S_DEF_USER, /* main user value */ -+- S_DEF_AUTO, -++ S_DEF_AUTO -+ }; -+ -+ struct symbol { -+diff -rduNp config.new.oorig/gconf.c config.new/gconf.c -+--- config.new.oorig/gconf.c 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/gconf.c 2008-04-07 11:06:30.000000000 +0200 -+@@ -268,8 +268,8 @@ void init_main_window(const gchar * glad -+ /*"style", PANGO_STYLE_OBLIQUE, */ -+ NULL); -+ -+- sprintf(title, _("Linux Kernel v%s Configuration"), -+- getenv("KERNELVERSION")); -++ sprintf(title, _("Buildroot v%s Configuration"), -++ getenv("BR2_VERSION")); -+ gtk_window_set_title(GTK_WINDOW(main_wnd), title); -+ -+ gtk_widget_show(main_wnd); -+diff -rduNp config.new.oorig/gconf.glade config.new/gconf.glade -+--- config.new.oorig/gconf.glade 2008-04-07 11:03:28.000000000 +0200 -++++ config.new/gconf.glade 2008-04-07 11:06:30.000000000 +0200 -+@@ -5,7 +5,7 @@ -+ -+ <widget class="GtkWindow" id="window1"> -+ <property name="visible">True</property> -+- <property name="title" translatable="yes">Gtk Kernel Configurator</property> -++ <property name="title" translatable="yes">Gtk Buildroot Configurator</property> -+ <property name="type">GTK_WINDOW_TOPLEVEL</property> -+ <property name="window_position">GTK_WIN_POS_NONE</property> -+ <property name="modal">False</property> -diff -rduNp config.new.oorig/mconf.c config.new/mconf.c ---- config.new.oorig/mconf.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/mconf.c 2008-04-07 11:09:01.000000000 +0200 -@@ -29,10 +29,9 @@ +Index: config/mconf.c +=================================================================== +--- config.orig/mconf.c ++++ config/mconf.c +@@ -25,10 +25,9 @@ static const char mconf_readme[] = N_( "Overview\n" "--------\n" @@ -1142,7 +614,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "entered in as decimal or hexadecimal numbers or possibly text.\n" "\n" "Menu items beginning with following braces represent features that\n" -@@ -119,7 +118,7 @@ static const char mconf_readme[] = N_( +@@ -115,7 +114,7 @@ "-----------------------------\n" "Menuconfig supports the use of alternate configuration files for\n" "those who, for various reasons, find it necessary to switch\n" @@ -1151,7 +623,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "\n" "At the end of the main menu you will find two options. One is\n" "for saving the current configuration to a file of your choosing.\n" -@@ -152,7 +151,7 @@ static const char mconf_readme[] = N_( +@@ -148,7 +147,7 @@ "\n" "Optional personality available\n" "------------------------------\n" @@ -1160,7 +632,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "menu, rather than the default multimenu hierarchy, run the menuconfig\n" "with MENUCONFIG_MODE environment variable set to single_menu. Example:\n" "\n" -@@ -182,9 +181,9 @@ menu_instructions[] = N_( +@@ -178,9 +177,9 @@ "Arrow keys navigate the menu. " "<Enter> selects submenus --->. " "Highlighted letters are hotkeys. " @@ -1172,7 +644,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c radiolist_instructions[] = N_( "Use the arrow keys to navigate this window or " "press the hotkey of the item you wish to select " -@@ -204,18 +203,18 @@ setmod_text[] = N_( +@@ -200,18 +199,18 @@ "This feature depends on another which has been configured as a module.\n" "As a result, this feature will be built as a module."), nohelp_text[] = N_( @@ -1194,7 +666,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "to modify that configuration.\n" "\n" "If you are uncertain, then you have probably never used alternate\n" -@@ -225,7 +224,7 @@ save_config_text[] = N_( +@@ -221,7 +220,7 @@ "as an alternate. Leave blank to abort."), save_config_help[] = N_( "\n" @@ -1203,7 +675,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "configurations available on a single machine.\n" "\n" "Entering a file name here will allow you to later retrieve, modify\n" -@@ -405,10 +404,10 @@ static void set_config_filename(const ch +@@ -364,10 +363,10 @@ int size; struct symbol *sym; @@ -1216,7 +688,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c config_filename, sym_get_string_value(sym)); if (size >= sizeof(menu_backtitle)) menu_backtitle[sizeof(menu_backtitle)-1] = '\0'; -@@ -935,7 +934,7 @@ int main(int ac, char **av) +@@ -902,7 +901,7 @@ if (conf_get_changed()) res = dialog_yesno(NULL, _("Do you wish to save your " @@ -1225,7 +697,7 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c "<ESC><ESC> to continue."), 6, 60); else -@@ -947,22 +946,22 @@ int main(int ac, char **av) +@@ -914,23 +913,23 @@ case 0: if (conf_write(filename)) { fprintf(stderr, _("\n\n" @@ -1254,26 +726,42 @@ diff -rduNp config.new.oorig/mconf.c config.new/mconf.c - return 0; + return conf_write_autoconf(); } -diff -rduNp config.new.oorig/symbol.c config.new/symbol.c ---- config.new.oorig/symbol.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/symbol.c 2008-04-07 11:06:30.000000000 +0200 -@@ -61,10 +61,10 @@ void sym_init(void) - if (p) - sym_add_default(sym, p); -- sym = sym_lookup("KERNELVERSION", 0); -+ sym = sym_lookup("BR2_VERSION", 0); - sym->type = S_STRING; - sym->flags |= SYMBOL_AUTO; -- p = getenv("KERNELVERSION"); -+ p = getenv("BR2_VERSION"); - if (p) - sym_add_default(sym, p); +Index: config/qconf.cc +=================================================================== +--- config.orig/qconf.cc ++++ config/qconf.cc +@@ -1277,8 +1277,7 @@ + char title[256]; -diff -rduNp config.new.oorig/util.c config.new/util.c ---- config.new.oorig/util.c 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/util.c 2008-04-07 11:06:30.000000000 +0200 -@@ -26,6 +26,109 @@ struct file *file_lookup(const char *nam + QDesktopWidget *d = configApp->desktop(); +- snprintf(title, sizeof(title), _("Linux Kernel v%s Configuration"), +- getenv("KERNELVERSION")); ++ snprintf(title, sizeof(title), _("Buildroot Configuration")); + setCaption(title); + + width = configSettings->readNumEntry("/window width", d->width() - 64); +@@ -1612,6 +1611,7 @@ + { + if (!conf_get_changed()) { + e->accept(); ++ conf_write_autoconf(); + return; + } + QMessageBox mb("qconf", _("Save configuration?"), QMessageBox::Warning, +@@ -1622,6 +1622,7 @@ + switch (mb.exec()) { + case QMessageBox::Yes: + conf_write(NULL); ++ conf_write_autoconf(); + case QMessageBox::No: + e->accept(); + break; +Index: config/util.c +=================================================================== +--- config.orig/util.c ++++ config/util.c +@@ -26,6 +26,109 @@ return file; } @@ -1383,26 +871,20 @@ diff -rduNp config.new.oorig/util.c config.new/util.c /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) { -@@ -44,12 +147,13 @@ int file_write_dep(const char *name) - else - fprintf(out, "\t%s\n", file->name); - } -- fprintf(out, "\ninclude/config/auto.conf: \\\n" -+ fprintf(out, "\n$(BR2_DEPENDS_DIR)/config/auto.conf: \\\n" - "\t$(deps_config)\n\n" - "$(deps_config): ;\n"); +@@ -68,7 +171,7 @@ + fprintf(out, "\n$(deps_config): ;\n"); fclose(out); rename("..config.tmp", name); - return 0; -+ + return write_make_deps(NULL); } -diff -rduNp config.new.oorig/zconf.tab.c_shipped config.new/zconf.tab.c_shipped ---- config.new.oorig/zconf.tab.c_shipped 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/zconf.tab.c_shipped 2008-04-07 11:06:30.000000000 +0200 -@@ -2248,7 +2248,7 @@ void conf_parse(const char *name) +Index: config/zconf.tab.c_shipped +=================================================================== +--- config.orig/zconf.tab.c_shipped ++++ config/zconf.tab.c_shipped +@@ -2259,7 +2259,7 @@ modules_sym = sym_lookup(NULL, 0); modules_sym->type = S_BOOLEAN; modules_sym->flags |= SYMBOL_AUTO; @@ -1411,10 +893,11 @@ diff -rduNp config.new.oorig/zconf.tab.c_shipped config.new/zconf.tab.c_shipped #if YYDEBUG if (getenv("ZCONF_DEBUG")) -diff -rduNp config.new.oorig/zconf.y config.new/zconf.y ---- config.new.oorig/zconf.y 2008-04-07 11:03:28.000000000 +0200 -+++ config.new/zconf.y 2008-04-07 11:06:30.000000000 +0200 -@@ -473,7 +473,7 @@ void conf_parse(const char *name) +Index: config/zconf.y +=================================================================== +--- config.orig/zconf.y ++++ config/zconf.y +@@ -476,7 +476,7 @@ modules_sym = sym_lookup(NULL, 0); modules_sym->type = S_BOOLEAN; modules_sym->flags |= SYMBOL_AUTO; |