2011-10-08 21:02:22 +08:00
|
|
|
from building import *
|
2017-10-13 12:44:54 +08:00
|
|
|
Import('rtconfig')
|
2011-10-08 21:02:22 +08:00
|
|
|
|
2021-02-23 03:21:16 +08:00
|
|
|
src = []
|
2011-10-08 21:02:22 +08:00
|
|
|
cwd = GetCurrentDir()
|
2017-10-13 12:44:54 +08:00
|
|
|
group = []
|
2021-04-28 13:03:43 +08:00
|
|
|
LIBS = []
|
|
|
|
CPPDEFINES = []
|
2011-10-08 21:02:22 +08:00
|
|
|
CPPPATH = [cwd]
|
2013-01-11 15:13:11 +08:00
|
|
|
|
2017-10-13 12:44:54 +08:00
|
|
|
if rtconfig.PLATFORM == 'gcc':
|
2021-02-23 03:21:16 +08:00
|
|
|
if GetDepend('RT_USING_LIBC'):
|
2021-04-28 13:03:43 +08:00
|
|
|
CPPDEFINES += ['RT_USING_NEWLIB']
|
2021-02-23 03:21:16 +08:00
|
|
|
# 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.
|
2021-04-28 13:03:43 +08:00
|
|
|
LIBS += ['c', 'm']
|
2021-02-23 03:21:16 +08:00
|
|
|
|
|
|
|
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)
|
2011-10-08 21:02:22 +08:00
|
|
|
|
|
|
|
Return('group')
|