30 lines
889 B
Python
30 lines
889 B
Python
|
import os
|
||
|
from building import *
|
||
|
from gcc import *
|
||
|
Import('rtconfig')
|
||
|
|
||
|
group = []
|
||
|
|
||
|
newlib_version = GetNewLibVersion(rtconfig)
|
||
|
|
||
|
if newlib_version and not GetDepend('RT_USING_EXTERNAL_LIBC'):
|
||
|
print('Newlib version: ' + newlib_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')
|