Add new "fast" optimization mixin and handle
disabled components in builder.py
This commit is contained in:
parent
6cf0502beb
commit
7ccd17d64b
|
@ -214,6 +214,10 @@ def build(
|
||||||
|
|
||||||
products: list[Product] = []
|
products: list[Product] = []
|
||||||
for c in components:
|
for c in components:
|
||||||
|
r = c.resolved[target.id]
|
||||||
|
if not r.enabled:
|
||||||
|
raise RuntimeError(f"Component {c.id} is disabled: {r.reason}")
|
||||||
|
|
||||||
products.append(
|
products.append(
|
||||||
Product(
|
Product(
|
||||||
path=Path(outfile(target, c)),
|
path=Path(outfile(target, c)),
|
||||||
|
@ -224,9 +228,9 @@ def build(
|
||||||
|
|
||||||
outs = list(map(lambda p: str(p.path), products))
|
outs = list(map(lambda p: str(p.path), products))
|
||||||
if all:
|
if all:
|
||||||
shell.exec("ninja", "-v", "-f", ninjaPath)
|
shell.exec("ninja", "-f", ninjaPath)
|
||||||
else:
|
else:
|
||||||
shell.exec("ninja", "-v", "-f", ninjaPath, *outs)
|
shell.exec("ninja", "-f", ninjaPath, *outs)
|
||||||
return products
|
return products
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ mixins: dict[str, Mixin] = {
|
||||||
"tsan": makeMixinSan("thread"),
|
"tsan": makeMixinSan("thread"),
|
||||||
"ubsan": makeMixinSan("undefined"),
|
"ubsan": makeMixinSan("undefined"),
|
||||||
"tune": makeMixinTune("native"),
|
"tune": makeMixinTune("native"),
|
||||||
|
"fast": makeMixinOptimize("fast"),
|
||||||
"o3": makeMixinOptimize("3"),
|
"o3": makeMixinOptimize("3"),
|
||||||
"o2": makeMixinOptimize("2"),
|
"o2": makeMixinOptimize("2"),
|
||||||
"o1": makeMixinOptimize("1"),
|
"o1": makeMixinOptimize("1"),
|
||||||
|
@ -77,4 +78,6 @@ def append(mixinSpec: str, mixin: Mixin):
|
||||||
|
|
||||||
|
|
||||||
def byId(id: str) -> Mixin:
|
def byId(id: str) -> Mixin:
|
||||||
|
if id not in mixins:
|
||||||
|
raise RuntimeError(f"Unknown mixin {id}")
|
||||||
return mixins[id]
|
return mixins[id]
|
||||||
|
|
Loading…
Reference in a new issue