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

src = []
cwd = GetCurrentDir()
group = []
LIBS = ['m']
CPPDEFINES = ['RT_USING_NEWLIB']
CPPPATH = [cwd]

if rtconfig.PLATFORM == 'gcc':
    if GetDepend('RT_USING_LIBC'):
        # 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']

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

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

Return('group')