scripts/config: properly handle select on symbols with unmet direct dependencies
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
2d7e602381
commit
9bfa6971ae
1 changed files with 3 additions and 11 deletions
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue