[cpp] support rt-thread CPP wrapper sub-switch macros
This commit is contained in:
parent
49ae4ab614
commit
c4df1d6a19
|
@ -5,11 +5,15 @@ menuconfig RT_USING_CPLUSPLUS
|
||||||
if RT_USING_CPLUSPLUS
|
if RT_USING_CPLUSPLUS
|
||||||
|
|
||||||
config RT_USING_CPLUSPLUS11
|
config RT_USING_CPLUSPLUS11
|
||||||
bool "Enable c++11 threading feature support"
|
bool "Enable C++11 standard multi-threading feature support"
|
||||||
default n
|
default n
|
||||||
select RT_USING_POSIX_FS
|
select RT_USING_POSIX_FS
|
||||||
select RT_USING_POSIX_STDIO
|
select RT_USING_POSIX_STDIO
|
||||||
select RT_USING_PTHREADS
|
select RT_USING_PTHREADS
|
||||||
select RT_USING_RTC
|
select RT_USING_RTC
|
||||||
|
|
||||||
|
config RT_USING_CPP_WRAPPER
|
||||||
|
bool "Enable RT-Thread APIs C++ wrapper"
|
||||||
|
default n
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,21 +1,17 @@
|
||||||
# RT-Thread building script for component
|
|
||||||
|
|
||||||
from building import *
|
from building import *
|
||||||
|
import os
|
||||||
Import('rtconfig')
|
Import('rtconfig')
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
cwd = GetCurrentDir()
|
||||||
src = Glob('*.cpp') + Glob('*.c')
|
src = ['cxx_crt_init.c', 'cxx_crt.cpp']
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
if GetDepend('RT_USING_CPLUSPLUS11'):
|
group = DefineGroup('CPP', src, depend=['RT_USING_CPLUSPLUS'], CPPPATH=CPPPATH)
|
||||||
src += Glob('cpp11/*.cpp') + Glob('cpp11/*.c')
|
|
||||||
if rtconfig.PLATFORM in ['armclang']:
|
|
||||||
src += Glob('cpp11/armclang/*.cpp') + Glob('cpp11/armclang/*.c')
|
|
||||||
CPPPATH += [cwd + '/cpp11/armclang']
|
|
||||||
elif rtconfig.PLATFORM in ['gcc']:
|
|
||||||
src += Glob('cpp11/gcc/*.cpp') + Glob('cpp11/gcc/*.c')
|
|
||||||
CPPPATH += [cwd + '/cpp11/gcc']
|
|
||||||
|
|
||||||
group = DefineGroup('CPlusPlus', src, depend = ['RT_USING_CPLUSPLUS'], CPPPATH = CPPPATH)
|
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')
|
Return('group')
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
from building import *
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = []
|
||||||
|
CPPPATH = []
|
||||||
|
|
||||||
|
src += Glob('*.cpp') + Glob('*.c')
|
||||||
|
if rtconfig.PLATFORM in ['armclang']:
|
||||||
|
src += Glob('armclang/*.cpp') + Glob('armclang/*.c')
|
||||||
|
CPPPATH += [cwd + '/armclang']
|
||||||
|
elif rtconfig.PLATFORM in ['gcc']:
|
||||||
|
src += Glob('gcc/*.cpp') + Glob('gcc/*.c')
|
||||||
|
CPPPATH += [cwd + '/gcc']
|
||||||
|
|
||||||
|
group = DefineGroup('CPP', src, depend=['RT_USING_CPLUSPLUS11'], CPPPATH=CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,8 @@
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
group = DefineGroup('CPP', src, depend=['RT_USING_CPP_WRAPPER'], CPPPATH=CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
Loading…
Reference in New Issue