From: Jan Engelhardt <[EMAIL PROTECTED]>

Allow config variables in .config to override earlier ones in the same
file. In other words,

        # CONFIG_SECURITY is not defined
        CONFIG_SECURITY=y

will activate it. This makes it a bit easier to do

cat original-config myconfig myconfig2 ... >.config;
and run *config as expected.

Signed-off-by: Jan Engelhardt <[EMAIL PROTECTED]>
Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
Cc: Roman Zippel <[EMAIL PROTECTED]>
Cc: Randy Dunlap <[EMAIL PROTECTED]>
---
 scripts/kconfig/confdata.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index e0f402f..2eccefb 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -232,8 +232,7 @@ load:
                                        sym->type = S_BOOLEAN;
                        }
                        if (sym->flags & def_flags) {
-                               conf_warning("trying to reassign symbol %s", 
sym->name);
-                               break;
+                               conf_warning("override: reassigning to symbol 
%s", sym->name);
                        }
                        switch (sym->type) {
                        case S_BOOLEAN:
@@ -272,8 +271,7 @@ load:
                                        sym->type = S_OTHER;
                        }
                        if (sym->flags & def_flags) {
-                               conf_warning("trying to reassign symbol %s", 
sym->name);
-                               break;
+                               conf_warning("override: reassigning to symbol 
%s", sym->name);
                        }
                        if (conf_set_sym_val(sym, def, def_flags, p))
                                continue;
@@ -297,11 +295,9 @@ load:
                                }
                                break;
                        case yes:
-                               if (cs->def[def].tri != no) {
-                                       conf_warning("%s creates inconsistent 
choice state", sym->name);
-                                       cs->flags &= ~def_flags;
-                               } else
-                                       cs->def[def].val = sym;
+                               if (cs->def[def].tri != no)
+                                       conf_warning("override: %s changes 
choice state", sym->name);
+                               cs->def[def].val = sym;
                                break;
                        }
                        cs->def[def].tri = E_OR(cs->def[def].tri, 
sym->def[def].tri);
-- 
1.5.4.rc3.14.g44397

-
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to