summaryrefslogtreecommitdiff
path: root/libcpu/arm/cortex-m4/SConscript
blob: 2ac22c8e4d59b0911241293b5cb28b01e39ef6bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# RT-Thread building script for component

from building import *

Import('rtconfig')

cwd     = GetCurrentDir()
src     = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]

if rtconfig.PLATFORM in ['armcc', 'armclang']:
    src += Glob('*_rvds.S')

if rtconfig.PLATFORM == 'armclang':
    src += Glob('*_rvds.S')

if rtconfig.PLATFORM in ['gcc', 'llvm-arm']:
    src += Glob('*_init.S')
    src += Glob('*_gcc.S')

if rtconfig.PLATFORM in ['iccarm']:
    src += Glob('*_iar.S')

using_mpu = (
    GetDepend('RT_USING_MEM_PROTECTION') or
    GetDepend('RT_USING_HW_STACK_GUARD')
)

if using_mpu:
    if rtconfig.PLATFORM not in ['gcc', 'llvm-arm']:
        raise RuntimeError(
            'Cortex-M4 memory protection currently supports GCC only'
        )
else:
    SrcRemove(src, 'mpu.c')

group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH)

Return('group')