From bdd663a33fb0af8864344a7bf568a706669d96d4 Mon Sep 17 00:00:00 2001 From: "Man, Jianting (Meco)" <920369182@qq.com> Date: Tue, 22 Nov 2022 21:40:50 -0500 Subject: [libc][musl] support arm-linux-musleabi toolchain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。 --- components/libc/compilers/newlib/SConscript | 33 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'components/libc/compilers/newlib/SConscript') diff --git a/components/libc/compilers/newlib/SConscript b/components/libc/compilers/newlib/SConscript index dd8966d5bd..14d3f737f5 100644 --- a/components/libc/compilers/newlib/SConscript +++ b/components/libc/compilers/newlib/SConscript @@ -3,28 +3,27 @@ from building import * from gcc import * Import('rtconfig') -src = [] -cwd = GetCurrentDir() group = [] -LIBS = [] -CPPPATH = [cwd] -if rtconfig.PLATFORM in ['gcc']: - LIBS += ['c', 'm'] # link libc and libm - src += Glob('*.c') +libc_name, libc_version = GetGCCLibcNameVersion(rtconfig) - #report newlib version - print('Newlib version:' + GetNewLibVersion(rtconfig)) +if libc_name == 'newlib': + print('Newlib version: ' + libc_version) - # identify this is Newlib, and only enable POSIX.1-1990 - CPPDEFINES = ['RT_USING_NEWLIBC', 'RT_USING_LIBC', '_POSIX_C_SOURCE=1'] + 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 = 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')) + 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') -- cgit v1.3.1