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:
parent
49f836380a
commit
b58bf60b51
|
@ -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)/$@
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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));
|
|
@ -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:
|
||||
|
|
|
@ -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)/$@
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue