scripts/config: properly handle select on symbols with unmet direct dependencies
authorFelix Fietkau <nbd@nbd.name>
Wed, 3 Aug 2016 17:55:02 +0000 (19:55 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 3 Aug 2016 18:03:36 +0000 (20:03 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
scripts/config/symbol.c

index ca6f43726b9de737c6edd5a984133af9c5c75961..31f268a4eecd6a9f767100920c381a8d7ddb7b1b 100644 (file)
@@ -400,18 +400,10 @@ void sym_calc_value(struct symbol *sym)
                        }
                calc_newval:
                        if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
-                               struct expr *e;
-                               e = expr_simplify_unmet_dep(sym->rev_dep.expr,
-                                   sym->dir_dep.expr);
-                               fprintf(stderr, "warning: (");
-                               expr_fprint(e, stderr);
-                               fprintf(stderr, ") selects %s which has unmet direct dependencies (",
-                                       sym->name);
-                               expr_fprint(sym->dir_dep.expr, stderr);
-                               fprintf(stderr, ")\n");
-                               expr_free(e);
+                               newval.tri = no;
+                       } else {
+                               newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
                        }
-                       newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
                }
                if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
                        newval.tri = yes;