scripts/config: properly handle select on symbols with unmet direct dependencies

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2016-08-03 19:55:02 +02:00
parent 2d7e602381
commit 9bfa6971ae

View file

@ -400,19 +400,11 @@ void sym_calc_value(struct symbol *sym)
} }
calc_newval: calc_newval:
if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) { if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
struct expr *e; newval.tri = no;
e = expr_simplify_unmet_dep(sym->rev_dep.expr, } else {
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 = 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) if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
newval.tri = yes; newval.tri = yes;
break; break;