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

group = []

libc_name, libc_version = GetGCCLibcNameVersion(rtconfig)

if libc_name == 'newlib':
    print('Newlib version: ' + libc_version)

    cwd = GetCurrentDir()
    src = Glob('*.c')

    CPPPATH = [cwd]
    CPPDEFINES = ['RT_USING_NEWLIBC', 'RT_USING_LIBC', '_POSIX_C_SOURCE=1'] # identify this is Newlib, and only enable POSIX.1-1990
    LIBS = ['c', 'm'] # link libc and libm
    AddDepend(['RT_USING_NEWLIBC', 'RT_USING_LIBC'])

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

    list = os.listdir(cwd)
    for d in list:
        path = os.path.join(cwd, d)
        if os.path.isfile(os.path.join(path, 'SConscript')):
            group = group + SConscript(os.path.join(d, 'SConscript'))

Return('group')