From 9979042a3a40ab5e59ff06dae0fc229cd8bb0cc9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 15 Sep 2020 20:04:51 +0200 Subject: build: Fix multiple defintion error for i386/pc386 Make the objcopy an bld.objects() task generator. Close #4079. --- spec/build/bsps/i386/pc386/objsmpstart.yml | 13 +++++++++---- 1 file 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 -- cgit v1.2.3