summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-15 20:04:51 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-15 20:07:47 +0200
commit9979042a3a40ab5e59ff06dae0fc229cd8bb0cc9 (patch)
treec74f74bef6d9f9ad267b096b343422f387f4fa7a
parent2a4ccc4f8d699ac87cfa057ec887855377d702c1 (diff)
build: Fix multiple defintion error for i386/pc386
Make the objcopy an bld.objects() task generator. Close #4079.
-rw-r--r--spec/build/bsps/i386/pc386/objsmpstart.yml13
1 files changed, 9 insertions, 4 deletions
diff --git a/spec/build/bsps/i386/pc386/objsmpstart.yml b/spec/build/bsps/i386/pc386/objsmpstart.yml
index 0b4a550bdf..dc2302278d 100644
--- a/spec/build/bsps/i386/pc386/objsmpstart.yml
+++ b/spec/build/bsps/i386/pc386/objsmpstart.yml
@@ -6,6 +6,13 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
cppflags: []
do-build: |
+ from waflib import TaskGen
+
+ @TaskGen.feature("i386objcopy")
+ @TaskGen.after("process_rule")
+ def process_i386objcopy(self):
+ self.compiled_tasks = self.tasks
+
startAP = "bsps/i386/pc386/start/startAP"
startAP_o = startAP + ".o"
self.asm(bld, bic, startAP + ".S", startAP_o)
@@ -27,10 +34,8 @@ do-build: |
rule="${OBJCOPY} -I binary -O elf32-i386 -B i386 ${SRC} ${TGT}",
source=appstart_bin,
target=appstart_o,
- )
- bld.objects(
- source=appstart_o,
- target=self.uid,
+ name=self.uid,
+ features="i386objcopy c",
)
bic.objects.append(self.uid)
do-configure: null