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':
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'])