summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-12-09 21:41:30 +0000
committerCarl Hetherington <cth@carlh.net>2017-12-09 21:41:30 +0000
commitf0fcb39e39d2924c46a8cfd7642f68debd44e368 (patch)
treeffaa00a24a1944631fc6303be5c439bfed7ca637
parent476c0e9c7c129909ccbb914feacd977e2f60228b (diff)
Try to handle Centos's C++11 situation more nicely.
-rw-r--r--cscript6
-rw-r--r--wscript3
2 files changed, 9 insertions, 0 deletions
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