support/kconfig: use kconfig-provided way of setting the CONFIG_ prefix
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 14 Apr 2013 02:53:17 +0000 (02:53 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 21 Apr 2013 21:33:11 +0000 (23:33 +0200)
It's now been a while since it has been possible to build the kconfig
parser to understand a prefix other than CONFIG_, and even no prefix
at all, by setting the CONFIG_ macro (#define) at biuld time.

Just use that, insted of patching, it will make it easier for us in the
future.

Our patches have been refreshed at the same time.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
support/kconfig/Makefile.br
support/kconfig/confdata.c
support/kconfig/lkc.h
support/kconfig/menu.c
support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch
support/kconfig/patches/03-change-config-option-prefix.patch [deleted file]
support/kconfig/patches/09-implement-kconfig-probability.patch
support/kconfig/patches/10-br-build-system.patch
support/kconfig/patches/14-support-out-of-tree-config.patch
support/kconfig/patches/series

index 2f8b6ba9271d05a261052179605cad028320ea74..41c5ce165d25212bc0ab4f18d959b6c5ec5cdd02 100644 (file)
@@ -19,7 +19,7 @@ host-cxxmulti := $(foreach m,$(__hostprogs),\
 host-cobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-objs))))
 host-cxxobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs))))
 
-HOST_EXTRACFLAGS += -I$(obj)
+HOST_EXTRACFLAGS += -I$(obj) -DCONFIG_=\"\"
 
 $(host-csingle): %: %.c
        $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< -o $(obj)/$@
index b7df92f9bef96716c519c9c9e9ac65fdd422e90c..43f08fa1f9325dbec0a53c38c7443aad3ea94d4a 100644 (file)
@@ -13,7 +13,6 @@
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
-#include <libgen.h>
 
 #include "lkc.h"
 
@@ -308,20 +307,20 @@ load:
                if (line[0] == '#') {
                        if (memcmp(line + 2, CONFIG_, strlen(CONFIG_)))
                                continue;
-                       p = strchr(line + 2, ' ');
+                       p = strchr(line + 2 + strlen(CONFIG_), ' ');
                        if (!p)
                                continue;
                        *p++ = 0;
                        if (strncmp(p, "is not set", 10))
                                continue;
                        if (def == S_DEF_USER) {
-                               sym = sym_find(line + 2);
+                               sym = sym_find(line + 2 + strlen(CONFIG_));
                                if (!sym) {
                                        sym_add_change_count(1);
                                        goto setsym;
                                }
                        } else {
-                               sym = sym_lookup(line + 2, 0);
+                               sym = sym_lookup(line + 2 + strlen(CONFIG_), 0);
                                if (sym->type == S_UNKNOWN)
                                        sym->type = S_BOOLEAN;
                        }
@@ -337,8 +336,8 @@ load:
                        default:
                                ;
                        }
-               } else if (isupper(line[0])) {
-                       p = strchr(line, '=');
+               } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) {
+                       p = strchr(line + strlen(CONFIG_), '=');
                        if (!p)
                                continue;
                        *p++ = 0;
@@ -349,13 +348,13 @@ load:
                                        *p2 = 0;
                        }
                        if (def == S_DEF_USER) {
-                               sym = sym_find(line);
+                               sym = sym_find(line + strlen(CONFIG_));
                                if (!sym) {
                                        sym_add_change_count(1);
                                        goto setsym;
                                }
                        } else {
-                               sym = sym_lookup(line, 0);
+                               sym = sym_lookup(line + strlen(CONFIG_), 0);
                                if (sym->type == S_UNKNOWN)
                                        sym->type = S_OTHER;
                        }
@@ -483,8 +482,8 @@ kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
                        bool skip_unset = (arg != NULL);
 
                        if (!skip_unset)
-                               fprintf(fp, "# %s is not set\n",
-                                   sym->name);
+                               fprintf(fp, "# %s%s is not set\n",
+                                   CONFIG_, sym->name);
                        return;
                }
                break;
@@ -492,7 +491,7 @@ kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
                break;
        }
 
-       fprintf(fp, "%s=%s\n", sym->name, value);
+       fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value);
 }
 
 static void
@@ -542,8 +541,8 @@ header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
                        suffix = "_MODULE";
                        /* fall through */
                default:
-                       fprintf(fp, "#define %s%s 1\n",
-                           sym->name, suffix);
+                       fprintf(fp, "#define %s%s%s 1\n",
+                           CONFIG_, sym->name, suffix);
                }
                break;
        }
@@ -552,14 +551,14 @@ header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
 
                if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X'))
                        prefix = "0x";
-               fprintf(fp, "#define %s %s%s\n",
-                   sym->name, prefix, value);
+               fprintf(fp, "#define %s%s %s%s\n",
+                   CONFIG_, sym->name, prefix, value);
                break;
        }
        case S_STRING:
        case S_INT:
-               fprintf(fp, "#define %s %s\n",
-                   sym->name, value);
+               fprintf(fp, "#define %s%s %s\n",
+                   CONFIG_, sym->name, value);
                break;
        default:
                break;
@@ -605,7 +604,7 @@ tristate_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg
 {
 
        if (sym->type == S_TRISTATE && *value != 'n')
-               fprintf(fp, "%s=%c\n", sym->name, (char)toupper(*value));
+               fprintf(fp, "%s%s=%c\n", CONFIG_, sym->name, (char)toupper(*value));
 }
 
 static struct conf_printer tristate_printer_cb =
index eeb6a905ac04be9f3c7a5ecd9cddf7ff50f6e69d..f8aee5fc6d5e607625fc9e7f93bcbcf7f2e9f13b 100644 (file)
@@ -37,7 +37,7 @@ extern "C" {
 #define N_(text) (text)
 
 #ifndef CONFIG_
-#define CONFIG_ "BR2_"
+#define CONFIG_ "CONFIG_"
 #endif
 static inline const char *CONFIG_prefix(void)
 {
index 06a93646d547b01721efa662637166cc8ff41943..f3bffa309333061ed5d852e7c00132107017add5 100644 (file)
@@ -635,7 +635,7 @@ void menu_get_ext_help(struct menu *menu, struct gstr *help)
 
        if (menu_has_help(menu)) {
                if (sym->name)
-                       str_printf(help, "%s:\n\n", sym->name);
+                       str_printf(help, "%s%s:\n\n", CONFIG_, sym->name);
                help_text = menu_get_help(menu);
        }
        str_printf(help, "%s\n", _(help_text));
index f28131cf8c13e2f996aa0b3738d01efae6b096c0..d7206a0040b8edd0df1b47a5f2bc3e97fd39eac1 100644 (file)
@@ -1,9 +1,10 @@
 ---
+ confdata.c          |    4 ++--
  gconf.glade         |    2 +-
  mconf.c             |    4 ++--
  zconf.tab.c_shipped |    2 +-
  zconf.y             |    2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
5 files changed, 7 insertions(+), 7 deletions(-)
 
 Index: b/gconf.glade
 ===================================================================
@@ -60,3 +61,25 @@ Index: b/zconf.y
  
        if (getenv("ZCONF_DEBUG"))
                zconfdebug = 1;
+Index: b/confdata.c
+===================================================================
+--- a/confdata.c
++++ b/confdata.c
+@@ -25,7 +26,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, ...)
+ {
+@@ -63,7 +64,7 @@
+ const char *conf_get_configname(void)
+ {
+-      char *name = getenv("KCONFIG_CONFIG");
++      char *name = getenv("BUILDROOT_CONFIG");
+       return name ? name : ".config";
+ }
diff --git a/support/kconfig/patches/03-change-config-option-prefix.patch b/support/kconfig/patches/03-change-config-option-prefix.patch
deleted file mode 100644 (file)
index 0644ab0..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
----
- confdata.c |   57 +++++++++++++++++++++++++++++----------------------------
- lkc.h      |    2 +-
- menu.c     |    2 +-
- 3 files changed, 31 insertions(+), 30 deletions(-)
-
-Index: b/confdata.c
-===================================================================
---- a/confdata.c
-+++ b/confdata.c
-@@ -13,6 +13,7 @@
- #include <string.h>
- #include <time.h>
- #include <unistd.h>
-+#include <libgen.h>
- #include "lkc.h"
-@@ -25,7 +26,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, ...)
- {
-@@ -63,7 +64,7 @@
- const char *conf_get_configname(void)
- {
--      char *name = getenv("KCONFIG_CONFIG");
-+      char *name = getenv("BUILDROOT_CONFIG");
-       return name ? name : ".config";
- }
-@@ -309,20 +310,20 @@
-               if (line[0] == '#') {
-                       if (memcmp(line + 2, CONFIG_, strlen(CONFIG_)))
-                               continue;
--                      p = strchr(line + 2 + strlen(CONFIG_), ' ');
-+                      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 + 2 + strlen(CONFIG_));
-+                              sym = sym_find(line + 2);
-                               if (!sym) {
-                                       sym_add_change_count(1);
-                                       goto setsym;
-                               }
-                       } else {
--                              sym = sym_lookup(line + 2 + strlen(CONFIG_), 0);
-+                              sym = sym_lookup(line + 2, 0);
-                               if (sym->type == S_UNKNOWN)
-                                       sym->type = S_BOOLEAN;
-                       }
-@@ -338,8 +339,8 @@
-                       default:
-                               ;
-                       }
--              } else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) {
--                      p = strchr(line + strlen(CONFIG_), '=');
-+              } else if (isupper(line[0])) {
-+                      p = strchr(line, '=');
-                       if (!p)
-                               continue;
-                       *p++ = 0;
-@@ -350,13 +351,13 @@
-                                       *p2 = 0;
-                       }
-                       if (def == S_DEF_USER) {
--                              sym = sym_find(line + strlen(CONFIG_));
-+                              sym = sym_find(line);
-                               if (!sym) {
-                                       sym_add_change_count(1);
-                                       goto setsym;
-                               }
-                       } else {
--                              sym = sym_lookup(line + strlen(CONFIG_), 0);
-+                              sym = sym_lookup(line, 0);
-                               if (sym->type == S_UNKNOWN)
-                                       sym->type = S_OTHER;
-                       }
-@@ -484,8 +485,8 @@
-                       bool skip_unset = (arg != NULL);
-                       if (!skip_unset)
--                              fprintf(fp, "# %s%s is not set\n",
--                                  CONFIG_, sym->name);
-+                              fprintf(fp, "# %s is not set\n",
-+                                  sym->name);
-                       return;
-               }
-               break;
-@@ -493,7 +494,7 @@
-               break;
-       }
--      fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value);
-+      fprintf(fp, "%s=%s\n", sym->name, value);
- }
- static void
-@@ -543,8 +544,8 @@
-                       suffix = "_MODULE";
-                       /* fall through */
-               default:
--                      fprintf(fp, "#define %s%s%s 1\n",
--                          CONFIG_, sym->name, suffix);
-+                      fprintf(fp, "#define %s%s 1\n",
-+                          sym->name, suffix);
-               }
-               break;
-       }
-@@ -553,14 +554,14 @@
-               if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X'))
-                       prefix = "0x";
--              fprintf(fp, "#define %s%s %s%s\n",
--                  CONFIG_, sym->name, prefix, value);
-+              fprintf(fp, "#define %s %s%s\n",
-+                  sym->name, prefix, value);
-               break;
-       }
-       case S_STRING:
-       case S_INT:
--              fprintf(fp, "#define %s%s %s\n",
--                  CONFIG_, sym->name, value);
-+              fprintf(fp, "#define %s %s\n",
-+                  sym->name, value);
-               break;
-       default:
-               break;
-@@ -606,7 +607,7 @@
- {
-       if (sym->type == S_TRISTATE && *value != 'n')
--              fprintf(fp, "%s%s=%c\n", CONFIG_, sym->name, (char)toupper(*value));
-+              fprintf(fp, "%s=%c\n", sym->name, (char)toupper(*value));
- }
- static struct conf_printer tristate_printer_cb =
-Index: b/lkc.h
-===================================================================
---- a/lkc.h
-+++ b/lkc.h
-@@ -37,7 +37,7 @@
- #define N_(text) (text)
- #ifndef CONFIG_
--#define CONFIG_ "CONFIG_"
-+#define CONFIG_ "BR2_"
- #endif
- static inline const char *CONFIG_prefix(void)
- {
-Index: b/menu.c
-===================================================================
---- a/menu.c
-+++ b/menu.c
-@@ -635,7 +635,7 @@
-       if (menu_has_help(menu)) {
-               if (sym->name)
--                      str_printf(help, "%s%s:\n\n", CONFIG_, sym->name);
-+                      str_printf(help, "%s:\n\n", sym->name);
-               help_text = menu_get_help(menu);
-       }
-       str_printf(help, "%s\n", _(help_text));
index 72e2a254f971e6b70acb61cf8ae8d2f8d3411119..45fa2513a1056f5e8beb17b2c2469f312f53a9f8 100644 (file)
@@ -6,7 +6,7 @@ Index: b/confdata.c
 ===================================================================
 --- a/confdata.c
 +++ b/confdata.c
-@@ -1107,7 +1107,16 @@
+@@ -1106,7 +1106,16 @@
  void conf_set_all_new_symbols(enum conf_def_mode mode)
  {
        struct symbol *sym, *csym;
@@ -24,7 +24,7 @@ Index: b/confdata.c
  
        for_all_symbols(i, sym) {
                if (sym_has_value(sym))
-@@ -1126,8 +1135,15 @@
+@@ -1125,8 +1134,15 @@
                                sym->def[S_DEF_USER].tri = no;
                                break;
                        case def_random:
index a877318e7261dc9b7d3263a31c53fe9d22f4f0a3..be6fda07af9994c999a3e7a7557b21c47c19ff6b 100644 (file)
@@ -29,7 +29,7 @@ Index: b/Makefile.br
 +host-cobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-objs))))
 +host-cxxobjs := $(addprefix $(obj)/,$(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs))))
 +
-+HOST_EXTRACFLAGS += -I$(obj)
++HOST_EXTRACFLAGS += -I$(obj) -DCONFIG_=\"\"
 +
 +$(host-csingle): %: %.c
 +      $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< -o $(obj)/$@
index 318d0ddd9426ebb395466730e127369ae355bb7e..9e3f93d4f277a9dbb074d5e7bf979267d32bb7d0 100644 (file)
@@ -20,7 +20,7 @@ Index: b/confdata.c
 ===================================================================
 --- a/confdata.c
 +++ b/confdata.c
-@@ -71,9 +71,7 @@
+@@ -70,9 +70,7 @@
  
  const char *conf_get_autoconfig_name(void)
  {
@@ -31,7 +31,7 @@ Index: b/confdata.c
  }
  
  static char *conf_expand_value(const char *in)
-@@ -738,6 +736,9 @@
+@@ -737,6 +735,9 @@
        char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1];
        char *env;
  
@@ -41,7 +41,7 @@ Index: b/confdata.c
        dirname[0] = 0;
        if (name && name[0]) {
                struct stat st;
-@@ -832,6 +833,7 @@
+@@ -831,6 +832,7 @@
  {
        const char *name;
        char path[PATH_MAX+1];
@@ -49,7 +49,7 @@ Index: b/confdata.c
        char *s, *d, c;
        struct symbol *sym;
        struct stat sb;
-@@ -840,8 +842,20 @@
+@@ -839,8 +841,20 @@
        name = conf_get_autoconfig_name();
        conf_read_simple(name, S_DEF_AUTO);
  
@@ -72,7 +72,7 @@ Index: b/confdata.c
  
        res = 0;
        for_all_symbols(i, sym) {
-@@ -934,9 +948,11 @@
+@@ -933,9 +947,11 @@
                close(fd);
        }
  out:
@@ -87,7 +87,7 @@ Index: b/confdata.c
        return res;
  }
  
-@@ -946,25 +962,38 @@
+@@ -945,25 +961,38 @@
        const char *name;
        FILE *out, *tristate, *out_h;
        int i;
@@ -130,7 +130,7 @@ Index: b/confdata.c
        if (!out_h) {
                fclose(out);
                fclose(tristate);
-@@ -996,19 +1025,22 @@
+@@ -995,19 +1024,22 @@
        name = getenv("KCONFIG_AUTOHEADER");
        if (!name)
                name = "include/generated/autoconf.h";
index 2d0e9919a094f19a57b450628517200b8a44b77a..523e6523994814dbf28783ac76fbcbd277a4a545 100644 (file)
@@ -1,6 +1,5 @@
 01-kconfig-kernel-to-buildroot.patch
 02-cpp-comments-to-c-comments.patch
-03-change-config-option-prefix.patch
 06-br-build-system-integration.patch
 09-implement-kconfig-probability.patch
 10-br-build-system.patch