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

src = []
cwd = GetCurrentDir()
group = []
LIBS = []
CPPDEFINES = []
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']

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

Return('group')