aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/confdata.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2005-11-09 00:34:49 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:55:53 -0500
commit90389160efc2864501ced6e662f9419eb7a3e6c8 (patch)
tree3b2957a7540bf9e78ef106fe606945e435fab957 /scripts/kconfig/confdata.c
parent3f23ca2b37d13a89bb6cd0421821fc9c3b8ccd47 (diff)
[PATCH] kconfig: preset config during all*config
Allow to force setting of config variables during all{no,mod,yes,random}config to a specific value. For that conf first checks the KCONFIG_ALLCONFIG environment variable for a file name, otherwise it checks for all{no,mod,yes,random}.config and all.config. The file is a normal config file, which presets the config variables, but they are still subject to normal dependency checks. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/kconfig/confdata.c')
-rw-r--r--scripts/kconfig/confdata.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 02f670cc6bb9..4bba6202b79e 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -69,15 +69,13 @@ char *conf_get_default_confname(void)
69 return name; 69 return name;
70} 70}
71 71
72int conf_read(const char *name) 72int conf_read_simple(const char *name)
73{ 73{
74 FILE *in = NULL; 74 FILE *in = NULL;
75 char line[1024]; 75 char line[1024];
76 char *p, *p2; 76 char *p, *p2;
77 int lineno = 0; 77 int lineno = 0;
78 struct symbol *sym; 78 struct symbol *sym;
79 struct property *prop;
80 struct expr *e;
81 int i; 79 int i;
82 80
83 if (name) { 81 if (name) {
@@ -232,6 +230,19 @@ int conf_read(const char *name)
232 230
233 if (modules_sym) 231 if (modules_sym)
234 sym_calc_value(modules_sym); 232 sym_calc_value(modules_sym);
233 return 0;
234}
235
236int conf_read(const char *name)
237{
238 struct symbol *sym;
239 struct property *prop;
240 struct expr *e;
241 int i;
242
243 if (conf_read_simple(name))
244 return 1;
245
235 for_all_symbols(i, sym) { 246 for_all_symbols(i, sym) {
236 sym_calc_value(sym); 247 sym_calc_value(sym);
237 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { 248 if (sym_has_value(sym) && !sym_is_choice_value(sym)) {