Import('RTT_ROOT')
Import('rtconfig')
from building import *

group = []
src = Glob('*.c')

CPPPATH = [RTT_ROOT + '/include']

if GetDepend('RT_USING_SMALL_MEM') == False:
    SrcRemove(src, ['mem.c'])

if GetDepend('RT_USING_SLAB') == False:
    SrcRemove(src, ['slab.c'])

if GetDepend('RT_USING_MEMPOOL') == False:
    SrcRemove(src, ['mempool.c'])

if GetDepend('RT_USING_MEMHEAP') == False:
    SrcRemove(src, ['memheap.c'])

if GetDepend('RT_USING_SIGNALS') == False:
    SrcRemove(src, ['signal.c'])

if GetDepend('RT_USING_DEVICE') == False:
    SrcRemove(src, ['device.c'])

if GetDepend('RT_USING_SMP') == False:
    SrcRemove(src, ['cpu.c'])

CPPDEFINES = ['__RTTHREAD__']

if GetDepend('RT_USING_CORE_RTTHREAD') == False:
    SrcRemove(src, ['clock.c', 'idle.c', 'ipc.c', 'irq.c', 'scheduler.c', 'signal.c', 'thread.c', 'timer.c'])

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

if GetDepend('RT_USING_CORE_FREERTOS') == True:
    group += SConscript(os.path.join(RTT_ROOT, 'third_party/os/freertos/SConscript')) 

Return('group')
