summaryrefslogtreecommitdiff
path: root/components/libc/cplusplus/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'components/libc/cplusplus/SConscript')
-rw-r--r--components/libc/cplusplus/SConscript7
1 files changed, 6 insertions, 1 deletions
diff --git a/components/libc/cplusplus/SConscript b/components/libc/cplusplus/SConscript
index a7829cea6d..2f280892f4 100644
--- a/components/libc/cplusplus/SConscript
+++ b/components/libc/cplusplus/SConscript
@@ -5,8 +5,13 @@ Import('rtconfig')
cwd = GetCurrentDir()
src = ['cxx_crt_init.c', 'cxx_crt.cpp']
CPPPATH = [cwd]
+CXXFLAGS = ''
-group = DefineGroup('CPP', src, depend=['RT_USING_CPLUSPLUS'], CPPPATH=CPPPATH)
+
+if rtconfig.PLATFORM in ['gcc', 'armclang', 'llvm-arm'] and not GetDepend('RT_USING_CPP_EXCEPTIONS'):
+ CXXFLAGS += ' -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -Wl,--gc-sections' # reduce resource consumptions
+
+group = DefineGroup('CPP', src, depend=['RT_USING_CPLUSPLUS'], CPPPATH=CPPPATH, CXXFLAGS=CXXFLAGS)
list = os.listdir(cwd)
for d in list: