Emit unwritten symbols in Kconfig so we don't have to do constructs like
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Mon, 18 Apr 2011 02:07:16 +0000 (02:07 +0000)
committerStefan Reinauer <stepan@openbios.org>
Mon, 18 Apr 2011 02:07:16 +0000 (02:07 +0000)
#if defined(CONFIG_FOO) && CONFIG_FOO anymore. This was partially implemented
but didn't work for symbols that were unset because of a missing dependency.

Patch taken from SeaBIOS.

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6511 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/kconfig/confdata.c

index 3bbad3010a390c08777cd5526f0faf6b3e9dd9cf..946b8a9c0b476f45dd62a8a2d445ab40afda8705 100644 (file)
@@ -721,8 +721,15 @@ int conf_write_autoconf(void)
 
        for_all_symbols(i, sym) {
                sym_calc_value(sym);
-               if (!(sym->flags & SYMBOL_WRITE) || !sym->name)
+               if (!sym->name)
                        continue;
+               if (!(sym->flags & SYMBOL_WRITE)) {
+                       if (sym->type == S_BOOLEAN || sym->type == S_HEX
+                           || sym->type == S_INT)
+                               fprintf(out_h, "#define CONFIG_%s 0\n",
+                                       sym->name);
+                       continue;
+               }
                switch (sym->type) {
                case S_BOOLEAN:
                case S_TRISTATE: