summaryrefslogtreecommitdiff
path: root/components/libc/compilers/newlib/SConscript
blob: b1ad6e47849f76862db4579cbbc9af2f81a6b7ff (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
from building import *
Import('rtconfig')

src = []
cwd = GetCurrentDir()
group = []

CPPPATH = [cwd]

if rtconfig.PLATFORM == 'gcc':
    if GetDepend('RT_USING_LIBC'):
        CPPDEFINES = ['RT_USING_NEWLIB']
        # link with libc and libm:
        # libm is a frequently used lib. Newlib is compiled with -ffunction-sections in
        # recent GCC tool chains. The linker would just link in the functions that have
        # been referenced. So setting this won't result in bigger text size.
        LIBS = ['c', 'm']

        src += Glob('*.c')
        SrcRemove(src, ['minilib.c'])
        if GetDepend('RT_USING_MODULE') == False:
            SrcRemove(src, ['libc_syms.c'])
    else:
        src += ['minilib.c']
        CPPDEFINES = []
        LIBS = []

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

Return('group')