build: Remove enabled-by special case

Doing the enabled-by processing just for the ldflags and just for the
link custom commands is confusing.  Use an option instead which is
intended to be used for such use cases.
This commit is contained in:
Sebastian Huber
2023-09-18 11:46:37 +02:00
parent de25f012b7
commit 109479e874
6 changed files with 30 additions and 18 deletions

12
wscript
View File

@@ -360,7 +360,7 @@ class Item(object):
def __init__(self, item, bic, cmd, env, ldflags):
super(link, self).__init__(self, env=env)
self.cmd = cmd
self.ldflags = bic.ldflags + ldflags
self.ldflags = ldflags
self.stlib = item.data["stlib"]
self.use = (item.data["use-before"] + bic.use +
item.data["use-after"])
@@ -386,14 +386,8 @@ class Item(object):
[],
)
ldflags = []
for ldflag in self.data["ldflags"]:
if isinstance(ldflag, dict):
if _is_enabled(bld.env.ENABLE, ldflag["enabled-by"]):
ldflags.append(ldflag["value"])
else:
ldflags.append(ldflag)
tsk = link(self, bic, cmd, bld.env, ldflags)
tsk = link(self, bic, cmd, bld.env,
bic.ldflags + self.substitute(bld, self.data["ldflags"]))
tsk.set_inputs([bld.bldnode.make_node(s) for s in source])
tsk.set_outputs(bld.bldnode.make_node(target))
bld.add_to_group(tsk)