[PATCH] trace/wscript: Improve C++ standard selection
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri May 19 05:02:53 UTC 2023
Use the latest C++ standard available up to C++20.
Close #4908.
---
trace/wscript | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/trace/wscript b/trace/wscript
index a3dd5d5..adabd5f 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'] = []
--
2.35.3
More information about the devel
mailing list