support/kconfig: use kconfig-provided way of setting the CONFIG_ prefix

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>
This commit is contained in:
Yann E. MORIN 2013-04-14 02:53:17 +00:00 committed by Peter Korsgaard
parent 49f836380a
commit b58bf60b51
10 changed files with 54 additions and 205 deletions

View 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)/$@

View 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 =

View 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)
{

View 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));

View 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";
}

View file

@ -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));

View 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:

View 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)/$@

View 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";

View 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