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

Signed-off-by: Felix Fietkau <nbd@nbd.name>
owl
Felix Fietkau 2016-08-03 19:55:02 +02:00
parent 2d7e602381
commit 9bfa6971ae
1 changed files with 3 additions and 11 deletions

View 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;