COMPMID-2706: Add the ability to build bootcode for bare metal
Adds an option for providing a linker script and also adds the
bootcode folder, it it exists, in the build path and links it
with the executable binaries.
Change-Id: I4119b21bdf1b4dd7fe38c4ee66741460666f53a1
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/2051
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/SConscript b/SConscript
index 0b7729c..66dfff4 100644
--- a/SConscript
+++ b/SConscript
@@ -31,6 +31,14 @@
Import('vars')
Import('install_lib')
+def build_bootcode_objs(sources):
+
+ arm_compute_env.Append(ASFLAGS = "-I bootcode/")
+ obj = arm_compute_env.Object(sources)
+ obj = install_lib(obj)
+ Default(obj)
+ return obj
+
def build_library(name, sources, static=False, libs=[]):
if static:
obj = arm_compute_env.StaticLibrary(name, source=sources, LIBS = arm_compute_env["LIBS"] + libs)
@@ -240,6 +248,12 @@
graph_files += Glob('src/graph/backends/GLES/*.cpp')
+bootcode_o = []
+if env['os'] == 'bare_metal':
+ bootcode_files = Glob('bootcode/*.s')
+ bootcode_o = build_bootcode_objs(bootcode_files)
+Export('bootcode_o')
+
arm_compute_core_a = build_library('arm_compute_core-static', core_files, static=True)
Export('arm_compute_core_a')