From f0fcb39e39d2924c46a8cfd7642f68debd44e368 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 9 Dec 2017 21:41:30 +0000 Subject: [PATCH] Try to handle Centos's C++11 situation more nicely. --- cscript | 6 ++++++ wscript | 3 +++ 2 files changed, 9 insertions(+) diff --git a/cscript b/cscript index 5803262..96236a3 100644 --- a/cscript +++ b/cscript @@ -31,6 +31,12 @@ def build(target, options): # Centos builds using static boost, which means tests don't # build as test/tests.cc defines BOOST_TEST_DYN_LINK cmd += ' --disable-tests' + if target.version == '7': + # Centos 7 ships with glibmm 2.50.0 which requires C++11 + # but its compiler (gcc 4.8.5) defaults to C++97. Go figure. + # I worry that this will cause ABI problems but I don't have + # a better solution. + cmd += ' --force-cpp11' elif target.platform == 'windows': cmd += ' --target-windows' target.command(cmd) diff --git a/wscript b/wscript index 4236817..4c31f2e 100644 --- a/wscript +++ b/wscript @@ -29,10 +29,13 @@ def options(opt): opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to Windows') opt.add_option('--static', action='store_true', default=False, help='build statically') opt.add_option('--disable-tests', action='store_true', default=False, help='disable building of tests') + opt.add_option('--force-cpp11', action='store_true', default=False, help='force use of C++11') def configure(conf): conf.load('compiler_cxx') conf.env.append_value('CXXFLAGS', ['-Wall', '-Wextra', '-O2']) + if conf.options.force_cpp11: + conv.end.append_value('CXXFLAGS', ['-std=c++11']) conf.env.TARGET_WINDOWS = conf.options.target_windows conf.env.STATIC = conf.options.static -- 2.30.2