[libc] Build correct SConscript file.

This commit is contained in:
bernard 2017-10-13 12:44:54 +08:00
parent 444915d1ea
commit 8bdf993bfc
9 changed files with 74 additions and 41 deletions

View File

@ -6,6 +6,22 @@ config RT_USING_LIBC
config RT_USING_PTHREADS
bool "Enable pthreads APIs"
default n
if RT_USING_LIBC
config RT_USING_POSIX_STDIN
bool "Enable stdin"
select RT_USING_DFS
select RT_USING_DFS_DEVFS
default y
config RT_USING_POSIX_MMAP
bool "Enable mmap() api"
default n
config RT_USING_POSIX_TERMIOS
bool "Enable termios feature"
default n
endif
endmenu

View File

@ -1,27 +1,15 @@
# for libc component
import os
Import('rtconfig')
# RT-Thread building script for bridge
import os
from building import *
objs = []
cwd = GetCurrentDir()
objs = []
list = os.listdir(cwd)
if GetDepend('RT_USING_LIBC'):
if os.path.isfile(os.path.join(cwd, 'newlib/SConscript')) and rtconfig.PLATFORM == 'gcc':
objs = objs + SConscript('newlib/SConscript')
elif os.path.isfile(os.path.join(cwd, 'armlibc/SConscript')) and rtconfig.PLATFORM == 'armcc':
objs = objs + SConscript('armlibc/SConscript')
elif os.path.isfile(os.path.join(cwd, 'dlib/SConscript')) and rtconfig.PLATFORM == 'iar':
objs = objs + SConscript('dlib/SConscript')
else:
if os.path.isfile(os.path.join(cwd, 'minilibc/SConscript')) and rtconfig.PLATFORM == 'gcc' and rtconfig.ARCH != 'sim':
objs = objs + SConscript('minilibc/SConscript')
if GetDepend('RT_USING_LIBC') and GetDepend('RT_USING_PTHREADS'):
objs = objs + SConscript('pthreads/SConscript')
if GetDepend('RT_USING_MODULE') and GetDepend('RT_USING_LIBDL'):
objs = objs + SConscript('libdl/SConscript')
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
Return('objs')

View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
cwd = GetCurrentDir()
objs = []
list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
Return('objs')

View File

@ -1,11 +1,14 @@
from building import *
Import('rtconfig')
src = Glob('*.c')
src = Glob('*.c') + Glob('*.cpp')
cwd = GetCurrentDir()
group = []
CPPPATH = [cwd]
CPPDEFINES = ['RT_USING_ARM_LIBC']
if rtconfig.PLATFORM == 'armcc':
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)

View File

@ -1,5 +1,5 @@
from building import *
import rtconfig
Import('rtconfig')
src = Glob('*.c')
cwd = GetCurrentDir()

View File

@ -1,13 +1,15 @@
Import('RTT_ROOT')
from building import *
Import('rtconfig')
src = Glob('*.c')
src = Glob('*.c') + Glob('*.cpp')
cwd = GetCurrentDir()
group = []
CPPPATH = [cwd]
CPPDEFINES = ['RT_USING_MINILIBC']
group = DefineGroup('libc', src, depend = ['RT_USING_MINILIBC'],
if rtconfig.PLATFORM == 'gcc' and not GetDepend('RT_USING_LIBC'):
group = DefineGroup('libc', src, depend = [''],
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
Return('group')

View File

@ -1,7 +1,9 @@
from building import *
Import('rtconfig')
src = Glob('*.c')
cwd = GetCurrentDir()
group = []
CPPPATH = [cwd]
CPPDEFINES = ['RT_USING_NEWLIB']
@ -12,6 +14,7 @@ CPPDEFINES = ['RT_USING_NEWLIB']
# been referenced. So setting this won't result in bigger text size.
LIBS = ['c', 'm']
if rtconfig.PLATFORM == 'gcc':
group = DefineGroup('newlib', src, depend = ['RT_USING_LIBC'],
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES, LIBS = LIBS)

View File

@ -1,9 +1,14 @@
from building import *
Import('rtconfig')
src = Glob('*.c')
src = Glob('*.c') + Glob('*.cpp')
cwd = GetCurrentDir()
group = []
CPPPATH = [cwd]
group = DefineGroup('libdl', src, depend = ['RT_USING_MODULE', 'RT_USING_LIBDL'], CPPPATH = CPPPATH)
if rtconfig.PLATFORM == 'gcc':
group = DefineGroup('libc', src,
depend = ['RT_USING_MODULE', 'RT_USING_LIBDL'],
CPPPATH = CPPPATH)
Return('group')

View File

@ -4,6 +4,7 @@ cwd = GetCurrentDir()
src = Glob('*.c')
CPPPATH = [cwd]
group = DefineGroup('pthreads', src, depend = ['RT_USING_PTHREADS', 'RT_USING_LIBC'], CPPPATH = CPPPATH)
group = DefineGroup('pthreads', src,
depend = ['RT_USING_PTHREADS', 'RT_USING_LIBC'], CPPPATH = CPPPATH)
Return('group')