From 2137d41ec8256b316103449881d7bbfdbef309fb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 9 Dec 2017 22:29:38 +0000 Subject: Fixes for the bad distros. --- cscript | 9 +++++++++ wscript | 3 +++ 2 files changed, 12 insertions(+) diff --git a/cscript b/cscript index 973bc06a..01e1ef16 100644 --- a/cscript +++ b/cscript @@ -47,6 +47,15 @@ def build(target, options): cmd += ' --static' if target.distro == 'centos': 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' + if target.distro == 'mageia' and target.version == '6': + # Mageia 6 pulls the same stunt except it's libxml++ that requires C++11 + cmd += ' --force-cpp11' elif target.platform == 'windows': cmd += ' --target-windows --disable-gcov --disable-tests' if target.version == 'xp': diff --git a/wscript b/wscript index 3e041517..47085046 100644 --- a/wscript +++ b/wscript @@ -51,10 +51,13 @@ def options(opt): opt.add_option('--disable-examples', action='store_true', default=False, help='disable building of examples') opt.add_option('--enable-openmp', action='store_true', default=False, help='enable use of OpenMP') opt.add_option('--jpeg', default='oj2', help='specify JPEG library to build with: oj1 or oj2 for OpenJPEG 1.5.x or OpenJPEG 2.1.x respectively') + 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', '-D_FILE_OFFSET_BITS=64', '-D__STDC_FORMAT_MACROS']) + 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-maybe-uninitialized']) -- cgit v1.2.3