diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-09-18 11:46:37 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-09-18 14:17:40 +0200 |
commit | b7391a6214f1e89172a17d07b81262751aed8dc7 (patch) | |
tree | af13d994f4f638f445820bcb9f399c313eaa7634 | |
parent | c827a7a0ac950cefb6a9e0029d137788e3d3e56b (diff) |
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.
-rw-r--r-- | spec/build/testsuites/libtests/dl07.yml | 4 | ||||
-rw-r--r-- | spec/build/testsuites/libtests/dl08.yml | 4 | ||||
-rw-r--r-- | spec/build/testsuites/libtests/dl09.yml | 4 | ||||
-rw-r--r-- | spec/build/testsuites/libtests/grp.yml | 2 | ||||
-rw-r--r-- | spec/build/testsuites/libtests/optdlldflags.yml | 22 | ||||
-rwxr-xr-x | wscript | 12 |
6 files changed, 30 insertions, 18 deletions
diff --git a/spec/build/testsuites/libtests/dl07.yml b/spec/build/testsuites/libtests/dl07.yml index 79f7dad6c5..39848c9a1e 100644 --- a/spec/build/testsuites/libtests/dl07.yml +++ b/spec/build/testsuites/libtests/dl07.yml @@ -33,9 +33,7 @@ enabled-by: includes: - testsuites/libtests/dl07 ldflags: -- enabled-by: - - microblaze - value: -u__extendsfdf2 +- ${LIBDL_TESTS_LDFLAGS} links: [] prepare-build: null prepare-configure: null diff --git a/spec/build/testsuites/libtests/dl08.yml b/spec/build/testsuites/libtests/dl08.yml index 42470eff33..f22170d56a 100644 --- a/spec/build/testsuites/libtests/dl08.yml +++ b/spec/build/testsuites/libtests/dl08.yml @@ -38,9 +38,7 @@ enabled-by: includes: - testsuites/libtests/dl08 ldflags: -- enabled-by: - - microblaze - value: -u__extendsfdf2 +- ${LIBDL_TESTS_LDFLAGS} links: [] prepare-build: null prepare-configure: null diff --git a/spec/build/testsuites/libtests/dl09.yml b/spec/build/testsuites/libtests/dl09.yml index f7cc4a39da..7fc425323d 100644 --- a/spec/build/testsuites/libtests/dl09.yml +++ b/spec/build/testsuites/libtests/dl09.yml @@ -33,9 +33,7 @@ enabled-by: includes: - testsuites/libtests/dl09 ldflags: -- enabled-by: - - microblaze - value: -u__extendsfdf2 +- ${LIBDL_TESTS_LDFLAGS} links: [] prepare-build: null prepare-configure: null diff --git a/spec/build/testsuites/libtests/grp.yml b/spec/build/testsuites/libtests/grp.yml index c1a6209e99..eaf21751c4 100644 --- a/spec/build/testsuites/libtests/grp.yml +++ b/spec/build/testsuites/libtests/grp.yml @@ -23,6 +23,8 @@ links: - role: build-dependency uid: ../optxz - role: build-dependency + uid: optdlldflags +- role: build-dependency uid: optrtemsld - role: build-dependency uid: optrtemssyms diff --git a/spec/build/testsuites/libtests/optdlldflags.yml b/spec/build/testsuites/libtests/optdlldflags.yml new file mode 100644 index 0000000000..0d754c5270 --- /dev/null +++ b/spec/build/testsuites/libtests/optdlldflags.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- split: null +- env-assign: null +build-type: option +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +default: +- enabled-by: microblaze + value: + - -u__extendsfdf2 +- enabled-by: true + value: [] +description: | + Linker flags used to link libdl tests with a base image. For example, it may + be used to add undefined symbols which the linker has to resolve to pull in + services required by loaded parts. +enabled-by: true +links: [] +name: LIBDL_TESTS_LDFLAGS +type: build @@ -366,7 +366,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"]) @@ -392,14 +392,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) |