From 07781ac8e49ed802d962419a2fd08910d68f9bf5 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Thu, 31 Aug 2017 15:11:41 +0100 Subject: COMPMID-518 - Bare metal support Change-Id: Ida6d3dc46476fd9a67b5860e5e5bf8b848a8ac23 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85981 Reviewed-by: Georgios Pinitas Tested-by: Kaizen Reviewed-by: Moritz Pflanzer --- SConstruct | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'SConstruct') diff --git a/SConstruct b/SConstruct index d98a99b97d..34b717b186 100644 --- a/SConstruct +++ b/SConstruct @@ -103,17 +103,22 @@ prefix = "" if env['arch'] == 'armv7a': env.Append(CXXFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon']) - if env['os'] in ['linux', 'bare_metal']: + if env['os'] == 'linux': prefix = "arm-linux-gnueabihf-" env.Append(CXXFLAGS = ['-mfloat-abi=hard']) + elif env['os'] == 'bare_metal': + prefix = "arm-none-eabi-" + env.Append(CXXFLAGS = ['-mfloat-abi=hard']) elif env['os'] == 'android': prefix = "arm-linux-androideabi-" env.Append(CXXFLAGS = ['-mfloat-abi=softfp']) elif env['arch'] == 'arm64-v8a': env.Append(CXXFLAGS = ['-march=armv8-a']) - if env['os'] in ['linux', 'bare_metal']: + if env['os'] == 'linux': prefix = "aarch64-linux-gnu-" + elif env['os'] == 'bare_metal': + prefix = "aarch64-none-elf-" elif env['os'] == 'android': prefix = "aarch64-linux-android-" elif env['arch'] == 'arm64-v8.2-a': @@ -174,8 +179,10 @@ if env['os'] == 'android': env.Append(LINKFLAGS = ['-pie', '-static-libstdc++']) elif env['os'] == 'bare_metal': env.Append(LINKFLAGS = ['-static']) + env.Append(LINKFLAGS = ['-specs=rdimon.specs']) env.Append(CXXFLAGS = ['-fPIC']) env.Append(CPPDEFINES = ['NO_MULTI_THREADING']) + env.Append(CPPDEFINES = ['BARE_METAL']) if env['opencl']: if env['os'] == 'bare_metal': -- cgit v1.2.1