diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-19 06:50:57 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-01-19 07:45:53 +0100 |
commit | a78d940bf099e2d8a14234de071db341a97b91bb (patch) | |
tree | ffd2b0a2cd235a89ec1c848e065de99367f12317 | |
parent | tester/console: Fix restart regx check (diff) | |
download | rtems-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/wscript | 18 |
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'] = [] |