[PATCH rtems-tools] trace: Use c++14 instead of c++11 if possible

Christian Mauderer christian.mauderer at embedded-brains.de
Mon Jun 8 06:52:10 UTC 2020


llvm version 10 uses features from c++14 standard in the headers. With
that, the record/record-main-lttng.cc doesn't build any more. This patch
makes sure that c++14 is used if it is available.
---
 trace/wscript | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/trace/wscript b/trace/wscript
index 656f92b..53a1ab4 100644
--- a/trace/wscript
+++ b/trace/wscript
@@ -45,6 +45,7 @@ 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")
     conf.write_config_header('config.h')
 
 def build(bld):
@@ -60,7 +61,10 @@ def build(bld):
     conf['warningflags'] = ['-Wall', '-Wextra', '-pedantic']
     conf['optflags'] = bld.env.C_OPTS
     conf['cflags'] = ['-pipe', '-g'] + conf['optflags']
-    conf['cxxflags'] = ['-std=c++11'] + conf['cflags']
+    cxxstd = '-std=c++11'
+    if bld.env.HAVE_STD_CXX14:
+        cxxstd = '-std=c++14'
+    conf['cxxflags'] = [cxxstd] + conf['cflags']
     conf['linkflags'] = ['-g']
     conf['lib'] = []
     if bld.env.LIB_WS2_32:
-- 
2.26.2



More information about the devel mailing list