diff options
Diffstat (limited to 'package/config/kconfig-to-buildroot2.patch')
-rw-r--r-- | package/config/kconfig-to-buildroot2.patch | 917 |
1 files changed, 0 insertions, 917 deletions
diff --git a/package/config/kconfig-to-buildroot2.patch b/package/config/kconfig-to-buildroot2.patch deleted file mode 100644 index db72ea8dd..000000000 --- a/package/config/kconfig-to-buildroot2.patch +++ /dev/null @@ -1,917 +0,0 @@ ---- - Makefile | 7 +++ - README.buildroot2 | 22 ++++++++++ - conf.c | 17 ++++---- - 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, 244 insertions(+), 104 deletions(-) - -Index: config/Makefile -=================================================================== ---- config.orig/Makefile -+++ config/Makefile -@@ -124,10 +124,21 @@ - ifeq ($(MAKECMDGOALS),menuconfig) - hostprogs-y += mconf - endif -+ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf) -+ hostprogs-y += mconf -+endif - - ifeq ($(MAKECMDGOALS),xconfig) - qconf-target := 1 - endif -+ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf) -+ qconf-target := 1 -+endif -+ - ifeq ($(MAKECMDGOALS),gconfig) - gconf-target := 1 - endif -+ifeq ($(findstring gconf,$(MAKECMDGOALS)),gconf) -+ 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); - 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 \"%s\")\n" -+ "*** You have not yet configured Buildroot!\n" -+ "*** (missing .config file \"%s\")\n" - "***\n" - "*** Please run some configurator (e.g. \"make oldconfig\" or\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,18 +599,22 @@ - * 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); - } - 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 { - 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); - } -+ if (conf_write_autoconf()) { -+ fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n")); -+ return 1; -+ } - } - return 0; - } -Index: config/confdata.c -=================================================================== ---- config.orig/confdata.c -+++ config/confdata.c -@@ -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 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,16 +37,14 @@ - - const char *conf_get_configname(void) - { -- char *name = getenv("KCONFIG_CONFIG"); -+ char *name = getenv("BUILDROOT_CONFIG"); - - return name ? name : ".config"; - } - - const char *conf_get_autoconfig_name(void) - { -- char *name = getenv("KCONFIG_AUTOCONFIG"); -- -- return name ? name : "include/config/auto.conf"; -+ return getenv("KCONFIG_AUTOCONFIG"); - } - - static char *conf_expand_value(const char *in) -@@ -219,22 +218,22 @@ - 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) { - sym_add_change_count(1); - break; - } - } else { -- sym = sym_lookup(line + 9, 0); -+ sym = sym_lookup(line + 2, 0); - if (sym->type == S_UNKNOWN) - sym->type = S_BOOLEAN; - } -@@ -251,12 +250,8 @@ - ; - } - 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; -@@ -267,13 +262,13 @@ - *p2 = 0; - } - if (def == S_DEF_USER) { -- sym = sym_find(line + 7); -+ sym = sym_find(line); - if (!sym) { - sym_add_change_count(1); - break; - } - } else { -- sym = sym_lookup(line + 7, 0); -+ sym = sym_lookup(line, 0); - if (sym->type == S_UNKNOWN) - sym->type = S_OTHER; - } -@@ -443,7 +438,7 @@ - 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"); -@@ -452,10 +447,8 @@ - - 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) : ""); - -@@ -489,19 +482,19 @@ - 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) { -@@ -517,12 +510,12 @@ - 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; - } - } -@@ -564,6 +557,7 @@ - { - const char *name; - char path[128]; -+ char *opwd, *dir, *_name; - char *s, *d, c; - struct symbol *sym; - struct stat sb; -@@ -572,8 +566,20 @@ - name = conf_get_autoconfig_name(); - 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) { -@@ -666,9 +672,11 @@ - close(fd); - } - out: -- if (chdir("../..")) -- return 1; -- -+ if (chdir(opwd)) -+ res = 1; -+err: -+ free(opwd); -+ free(_name); - return res; - } - -@@ -683,7 +691,7 @@ - - sym_clear_all_valid(); - -- file_write_dep("include/config/auto.conf.cmd"); -+ file_write_dep(".config.cmd"); - - if (conf_split_config()) - return 1; -@@ -698,22 +706,19 @@ - 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); -@@ -726,19 +731,19 @@ - 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) { -@@ -758,14 +763,14 @@ - 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; -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: -- // 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 @@ - 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 @@ - - 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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - 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 @@ - break; - } - if (e->left.expr->left.sym == &symbol_no) { -- // !'n' -> 'y' -+ /* !'n' -> 'y' */ - tmp = e->left.expr; - free(e); - e = tmp; -Index: config/gconf.c -=================================================================== ---- config.orig/gconf.c -+++ config/gconf.c -@@ -266,8 +266,8 @@ - /*"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); -Index: config/gconf.glade -=================================================================== ---- config.orig/gconf.glade -+++ config/gconf.glade -@@ -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> -Index: config/mconf.c -=================================================================== ---- config.orig/mconf.c -+++ config/mconf.c -@@ -25,10 +25,9 @@ - static const char mconf_readme[] = N_( - "Overview\n" - "--------\n" --"Some kernel features may be built directly into the kernel.\n" --"Some may be made into loadable runtime modules. Some features\n" -+"Some features may be built directly into Buildroot. Some features\n" - "may be completely removed altogether. There are also certain\n" --"kernel parameters which are not really features, but must be\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 following braces represent features that\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" --"between different kernel configurations.\n" -+"between different configurations.\n" - "\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" -@@ -148,7 +147,7 @@ - "\n" - "Optional personality available\n" - "------------------------------\n" --"If you prefer to have all of the kernel options listed in a single\n" -+"If you prefer to have all of the options listed in a single\n" - "menu, rather than the default multimenu hierarchy, run the menuconfig\n" - "with MENUCONFIG_MODE environment variable set to single_menu. Example:\n" - "\n" -@@ -178,9 +177,9 @@ - "Arrow keys navigate the menu. " - "<Enter> selects submenus --->. " - "Highlighted letters are hotkeys. " -- "Pressing <Y> includes, <N> excludes, <M> modularizes features. " -+ "Pressing <Y> selectes a feature, while <N> will exclude a feature. " - "Press <Esc><Esc> to exit, <?> for Help, </> for Search. " -- "Legend: [*] built-in [ ] excluded <M> module < > module capable"), -+ "Legend: [*] feature is selected [ ] feature is excluded"), - radiolist_instructions[] = N_( - "Use the arrow keys to navigate this window or " - "press the hotkey of the item you wish to select " -@@ -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_( -- "There is no help available for this kernel option.\n"), -+ "There is no help available for this option.\n"), - load_config_text[] = N_( - "Enter the name of the configuration file you wish to load. " - "Accept the name shown to restore the configuration you " - "last retrieved. Leave blank to abort."), - load_config_help[] = N_( - "\n" -- "For various reasons, one may wish to keep several different kernel\n" -+ "For various reasons, one may wish to keep several different Buildroot\n" - "configurations available on a single machine.\n" - "\n" - "If you have saved a previous configuration in a file other than the\n" -- "kernel's default, entering the name of the file here will allow you\n" -+ "Buildroot's default, entering the name of the file here will allow you\n" - "to modify that configuration.\n" - "\n" - "If you are uncertain, then you have probably never used alternate\n" -@@ -221,7 +220,7 @@ - "as an alternate. Leave blank to abort."), - save_config_help[] = N_( - "\n" -- "For various reasons, one may wish to keep different kernel\n" -+ "For various reasons, one may wish to keep different Buildroot\n" - "configurations available on a single machine.\n" - "\n" - "Entering a file name here will allow you to later retrieve, modify\n" -@@ -364,10 +363,10 @@ - int size; - struct symbol *sym; - -- sym = sym_lookup("KERNELVERSION", 0); -+ sym = sym_lookup("BR2_VERSION", 0); - sym_calc_value(sym); - size = snprintf(menu_backtitle, sizeof(menu_backtitle), -- _("%s - Linux Kernel v%s Configuration"), -+ _("%s - buildroot v%s Configuration"), - config_filename, sym_get_string_value(sym)); - if (size >= sizeof(menu_backtitle)) - menu_backtitle[sizeof(menu_backtitle)-1] = '\0'; -@@ -902,7 +901,7 @@ - if (conf_get_changed()) - res = dialog_yesno(NULL, - _("Do you wish to save your " -- "new kernel configuration?\n" -+ "new Buildroot configuration?\n" - "<ESC><ESC> to continue."), - 6, 60); - else -@@ -914,23 +913,23 @@ - case 0: - if (conf_write(filename)) { - fprintf(stderr, _("\n\n" -- "Error during writing of the kernel configuration.\n" -- "Your kernel configuration changes were NOT saved." -+ "Error during writing of the Buildroot configuration.\n" -+ "Your Buildroot configuration changes were NOT saved." - "\n\n")); - return 1; - } - case -1: - printf(_("\n\n" -- "*** End of Linux kernel configuration.\n" -- "*** Execute 'make' to build the kernel or try 'make help'." -+ "*** End of Buildroot configuration.\n" -+ "*** Execute 'make' to build Buildroot or try 'make help'." - "\n\n")); - break; - default: - fprintf(stderr, _("\n\n" -- "Your kernel configuration changes were NOT saved." -+ "Your Buildroot configuration changes were NOT saved." - "\n\n")); - } - -- return 0; -+ return conf_write_autoconf(); - } - -Index: config/qconf.cc -=================================================================== ---- config.orig/qconf.cc -+++ config/qconf.cc -@@ -1277,8 +1277,7 @@ - char title[256]; - - 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; - } - -+static char* br2_symbol_printer(const char * const in) -+{ -+ ssize_t i, j, len = strlen(in); -+ char *ret; -+ if (len < 1) -+ return NULL; -+ ret = malloc(len); -+ if (!ret) { -+ printf("Out of memory!"); -+ exit(1); -+ } -+ memset(ret, 0, len); -+ i = j = 0; -+ if (strncmp("BR2_", in, 4) == 0) -+ i += 4; -+ if (strncmp("PACKAGE_", in + i, 8) == 0) -+ i += 8; -+ else if (strncmp("TARGET_", in + i, 7) == 0) -+ i += 7; -+ while (i <= len) -+ ret[j++] = tolower(in[i++]); -+ return ret; -+} -+ -+/* write dependencies of the infividual config-symbols */ -+static int write_make_deps(const char *name) -+{ -+ struct menu *menu; -+ struct symbol *sym; -+ struct property *prop, *p; -+ unsigned done; -+ const char * const name_tmp = "..make.deps.tmp"; -+ FILE *out; -+ if (!name) -+ name = ".auto.deps"; -+ out = fopen(name_tmp, "w"); -+ if (!out) -+ return 1; -+ fprintf(out, "# ATTENTION! This does not handle 'depends', just 'select'! \n" -+ "# See package/config/util.c write_make_deps()\n#\n"); -+ menu = &rootmenu;//rootmenu.list; -+ while (menu) { -+ sym = menu->sym; -+ if (!sym) { -+ if (!menu_is_visible(menu)) -+ goto next; -+ } else if (!(sym->flags & SYMBOL_CHOICE)) { -+ sym_calc_value(sym); -+ if (sym->type == S_BOOLEAN -+ && sym_get_tristate_value(sym) != no) { -+ done = 0; -+ for_all_prompts(sym, prop) { -+ struct expr *e; -+//printf("\nname=%s\n", sym->name); -+ for_all_properties(sym, p, P_SELECT) { -+ e = p->expr; -+ if (e && e->left.sym->name) { -+ if (!done) { -+ fprintf(out, "%s: $(BASE_TARGETS)", br2_symbol_printer(sym->name)); -+ done = 1; -+ } -+//printf("SELECTS %s\n",e->left.sym->name); -+ fprintf(out, " %s",br2_symbol_printer(e->left.sym->name)); -+ } -+ } -+ if (done) -+ fprintf(out, "\n"); -+#if 0 -+ e = sym->rev_dep.expr; -+ if (e && e->type == E_SYMBOL -+ && e->left.sym->name) { -+ fprintf(out, "%s: %s", br2_symbol_printer(e->left.sym->name), -+ br2_symbol_printer(sym->name)); -+printf("%s is Selected BY: %s", sym->name, e->left.sym->name); -+ } -+#endif -+ } -+ } -+ } -+next: -+ if (menu->list) { -+ menu = menu->list; -+ continue; -+ } -+ if (menu->next) -+ menu = menu->next; -+ else while ((menu = menu->parent)) { -+ if (menu->next) { -+ menu = menu->next; -+ break; -+ } -+ } -+ } -+ fclose(out); -+ rename(name_tmp, name); -+ printf(_("#\n" -+ "# make dependencies written to %s\n" -+ "# ATTENTION buildroot devels!\n" -+ "# See top of this file before playing with this auto-preprequisites!\n" -+ "#\n"), name); -+ return 0; -+} -+ - /* write a dependency file as used by kbuild to track dependencies */ - int file_write_dep(const char *name) - { -@@ -68,7 +171,7 @@ - fprintf(out, "\n$(deps_config): ;\n"); - fclose(out); - rename("..config.tmp", name); -- return 0; -+ return write_make_deps(NULL); - } - - -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; -- rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL); -+ rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); - - #if YYDEBUG - if (getenv("ZCONF_DEBUG")) -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; -- rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL); -+ rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); - - #if YYDEBUG - if (getenv("ZCONF_DEBUG")) |