summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-12-11 23:53:23 +0000
committerCarl Hetherington <cth@carlh.net>2017-12-11 23:53:23 +0000
commit273ec0d6a37565e4513ebbde6cae242be36f173b (patch)
treeb70e5798a42146d7611aca1f42435073edfd5f93
parent14c5566fe90b2584c7474c3250e6506d70e81510 (diff)
More C++11 fixes.
-rw-r--r--cscript5
-rw-r--r--wscript4
2 files changed, 9 insertions, 0 deletions
diff --git a/cscript b/cscript
index 69aa855aa..1a32daac6 100644
--- a/cscript
+++ b/cscript
@@ -308,6 +308,11 @@ def configure_options(target):
opt += ' --static-boost --static-xmlpp'
elif target.version == '7':
opt += ' --workaround-gssapi'
+ # 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.
+ opt += ' --force-cpp11'
# Build Windows debug versions with static linking as I think gdb works better then
if target.debug and target.platform == 'windows':
diff --git a/wscript b/wscript
index 86452bc88..2321f1eed 100644
--- a/wscript
+++ b/wscript
@@ -50,6 +50,7 @@ def options(opt):
opt.add_option('--static-sub', action='store_true', default=False, help='link statically to libsub')
opt.add_option('--static-curl', action='store_true', default=False, help='link statically to libcurl')
opt.add_option('--workaround-gssapi', action='store_true', default=False, help='link to gssapi_krb5')
+ opt.add_option('--force-cpp11', action='store_true', default=False, help='force use of C++11')
def configure(conf):
conf.load('compiler_cxx')
@@ -83,6 +84,9 @@ def configure(conf):
'-Wno-deprecated-declarations',
'-D_FILE_OFFSET_BITS=64'])
+ if conf.options.force_cpp11:
+ conf.env.append_value('CXXFLAGS', ['-std=c++11', '-DBOOST_NO_CXX11_SCOPED_ENUMS'])
+
gcc = conf.env['CC_VERSION']
if int(gcc[0]) >= 4 and int(gcc[1]) > 1:
conf.env.append_value('CXXFLAGS', ['-Wno-unused-result'])