diff options
Diffstat (limited to 'kconfig')
-rw-r--r-- | kconfig/confdata.c | 62 |
1 files changed, 34 insertions, 28 deletions
diff --git a/kconfig/confdata.c b/kconfig/confdata.c index ecca23a0..91c1ed5f 100644 --- a/kconfig/confdata.c +++ b/kconfig/confdata.c @@ -27,6 +27,10 @@ static int conf_lineno, conf_warnings, conf_unsaved; const char conf_defname[] = "arch/$ARCH/defconfig"; #endif +#ifndef CONFIG_PREFIX +#define CONFIG_PREFIX "CONFIG_" +#endif + static void conf_warning(const char *fmt, ...) { va_list ap; @@ -154,18 +158,20 @@ load: sym = NULL; switch (line[0]) { case '#': - if (memcmp(line + 2, "CONFIG_", 7)) + if (line[1]!=' ' || memcmp(line + 2, CONFIG_PREFIX, + strlen(CONFIG_PREFIX))) { continue; - p = strchr(line + 9, ' '); + } + p = strchr(line + 2 + strlen(CONFIG_PREFIX), ' '); 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 + strlen(CONFIG_PREFIX)); if (!sym) { - conf_warning("trying to assign nonexistent symbol %s", line + 9); + conf_warning("trying to assign nonexistent symbol %s", line + 2 + strlen(CONFIG_PREFIX)); break; } } else { @@ -187,12 +193,12 @@ load: ; } break; - case 'C': - if (memcmp(line, "CONFIG_", 7)) { + case 'A' ... 'Z': + if (memcmp(line, CONFIG_PREFIX, strlen(CONFIG_PREFIX))) { conf_warning("unexpected data"); continue; } - p = strchr(line + 7, '='); + p = strchr(line + strlen(CONFIG_PREFIX), '='); if (!p) continue; *p++ = 0; @@ -203,13 +209,13 @@ load: *p2 = 0; } if (def == S_DEF_USER) { - sym = sym_find(line + 7); + sym = sym_find(line + strlen(CONFIG_PREFIX)); if (!sym) { conf_warning("trying to assign nonexistent symbol %s", line + 7); break; } } else { - sym = sym_lookup(line + 7, 0); + sym = sym_lookup(line + strlen(CONFIG_PREFIX), 0); if (sym->type == S_UNKNOWN) sym->type = S_OTHER; } @@ -435,7 +441,7 @@ int conf_write(const char *name) if (!out) return 1; - sym = sym_lookup("KERNELVERSION", 0); + sym = sym_lookup("KCONFIG_VERSION", 0); sym_calc_value(sym); time(&now); env = getenv("KCONFIG_NOTIMESTAMP"); @@ -492,19 +498,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, "# "CONFIG_PREFIX"%s is not set\n", sym->name); break; case mod: - fprintf(out, "CONFIG_%s=m\n", sym->name); + fprintf(out, CONFIG_PREFIX"%s=m\n", sym->name); break; case yes: - fprintf(out, "CONFIG_%s=y\n", sym->name); + fprintf(out, CONFIG_PREFIX"%s=y\n", sym->name); break; } break; case S_STRING: str = sym_get_string_value(sym); - fprintf(out, "CONFIG_%s=\"", sym->name); + fprintf(out, CONFIG_PREFIX"%s=\"", sym->name); while (1) { l = strcspn(str, "\"\\"); if (l) { @@ -520,12 +526,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 ? str : "0"); + fprintf(out, CONFIG_PREFIX"%s=%s\n", sym->name, *str ? str : "0"); break; } case S_INT: str = sym_get_string_value(sym); - fprintf(out, "CONFIG_%s=%s\n", sym->name, *str ? str : "0"); + fprintf(out, CONFIG_PREFIX"%s=%s\n", sym->name, *str ? str : "0"); break; } } @@ -705,7 +711,7 @@ int conf_write_autoconf(void) return 1; } - sym = sym_lookup("KERNELVERSION", 0); + sym = sym_lookup("KCONFIG_VERSION", 0); sym_calc_value(sym); time(&now); fprintf(out, "#\n" @@ -719,8 +725,8 @@ int conf_write_autoconf(void) " * "PROJECT_NAME" version: %s\n" " * %s" " */\n" - "#define AUTOCONF_INCLUDED\n", - sym_get_string_value(sym), ctime(&now)); + // "#define AUTOCONF_INCLUDED\n" + , sym_get_string_value(sym), ctime(&now)); for_all_symbols(i, sym) { sym_calc_value(sym); @@ -733,19 +739,19 @@ int conf_write_autoconf(void) case no: break; case mod: - fprintf(out, "CONFIG_%s=m\n", sym->name); + fprintf(out, CONFIG_PREFIX"%s=m\n", sym->name); fprintf(out_h, "#define CONFIG_%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, CONFIG_PREFIX"%s=y\n", sym->name); + fprintf(out_h, "#define "CONFIG_PREFIX"%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, CONFIG_PREFIX"%s=\"", sym->name); + fprintf(out_h, "#define "CONFIG_PREFIX"%s \"", sym->name); while (1) { l = strcspn(str, "\"\\"); if (l) { @@ -765,14 +771,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, CONFIG_PREFIX"%s=%s\n", sym->name, str); + fprintf(out_h, "#define "CONFIG_PREFIX"%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, CONFIG_PREFIX"%s=%s\n", sym->name, str); + fprintf(out_h, "#define "CONFIG_PREFIX"%s %s\n", sym->name, str); break; default: break; |