Jan Engelhardt wrote:
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 menuconfig as expected.

This is a feature that we want IMO, but I already do this without having
a patch for it (although to a lesser degree than full config files;
I just cat a few entries to the end of a config file then run oldconfig)...
so are there some cases where it works and some cases
where it doesn't work?  Do you know what those cases are?


Previously sent:
        http://lkml.org/lkml/2006/10/25/81
        http://lkml.org/lkml/2007/4/1/175

Signed-off-by: Jan Engelhardt <[EMAIL PROTECTED]>
Cc: Sam Ravnborg <[EMAIL PROTECTED]>
Cc: Roman Zippel <[EMAIL PROTECTED]>
Cc: Randy Dunlap <[EMAIL PROTECTED]>

---
 scripts/kconfig/confdata.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

#
# Applies cleanly to 2.6.22/23/git.
#
Index: linux-2.6.22.1/scripts/kconfig/confdata.c
===================================================================
--- linux-2.6.22.1.orig/scripts/kconfig/confdata.c
+++ linux-2.6.22.1/scripts/kconfig/confdata.c
@@ -170,8 +170,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:
@@ -210,8 +209,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);
                        }
                        switch (sym->type) {
                        case S_TRISTATE:
@@ -288,11 +286,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 turns state 
choice", sym->name);
+                               cs->def[def].val = sym;
                                break;
                        }
                        cs->def[def].tri = E_OR(cs->def[def].tri, 
sym->def[def].tri);



--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to