summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-05-19 06:50:57 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2024-01-19 07:45:53 +0100
commita78d940bf099e2d8a14234de071db341a97b91bb (patch)
treeffd2b0a2cd235a89ec1c848e065de99367f12317
parenttester/console: Fix restart regx check (diff)
downloadrtems-tools-a78d940bf099e2d8a14234de071db341a97b91bb.tar.bz2
trace/wscript: Improve C++ standard selection
Use the latest C++ standard available up to C++20. Close #4908. Close #4965.
-rw-r--r--trace/wscript18
1 files changed, 15 insertions, 3 deletions
diff --git a/trace/wscript b/trace/wscript
index 0c0e4b4..b632291 100644
--- a/trace/wscript
+++ b/trace/wscript
@@ -45,7 +45,14 @@ def configure(conf):
if conf.check(header_name='zlib.h', features='cxx', mandatory=False):
conf.check_cxx(lib = 'z')
conf.check_cxx(lib = 'ws2_32', mandatory=False)
- conf.check_cxx(cxxflags='-std=c++14', mandatory=False, define_name="HAVE_STD_CXX14")
+ if conf.check_cxx(cxxflags='-std=c++20', mandatory=False, define_name="HAVE_STD_CXX20"):
+ conf.env.append_value('CXXFLAGS', '-std=c++20')
+ elif conf.check_cxx(cxxflags='-std=c++17', mandatory=False, define_name="HAVE_STD_CXX17"):
+ conf.env.append_value('CXXFLAGS', '-std=c++17')
+ elif conf.check_cxx(cxxflags='-std=c++14', mandatory=False, define_name="HAVE_STD_CXX14"):
+ conf.env.append_value('CXXFLAGS', '-std=c++14')
+ else:
+ conf.env.append_value('CXXFLAGS', '-std=c++11')
conf.write_config_header('config.h')
def build(bld):
@@ -62,9 +69,14 @@ def build(bld):
conf['optflags'] = bld.env.C_OPTS
cstd = '-std=c99'
conf['cflags'] = [cstd] + ['-pipe', '-g'] + conf['optflags']
- cxxstd = '-std=c++11'
- if bld.env.HAVE_STD_CXX14:
+ if bld.env.HAVE_STD_CXX20:
+ cxxstd = '-std=c++20'
+ elif bld.env.HAVE_STD_CXX17:
+ cxxstd = '-std=c++17'
+ elif bld.env.HAVE_STD_CXX14:
cxxstd = '-std=c++14'
+ else:
+ cxxstd = '-std=c++11'
conf['cxxflags'] = [cxxstd] + ['-pipe', '-g'] + conf['optflags']
conf['linkflags'] = ['-g']
conf['lib'] = []