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')
opt.add_option('--variant', help='build variant (swaroop-studio, swaroop-theater)', choices=['swaroop-studio', 'swaroop-theater'])
+ opt.add_option('--enable-player-stress-test', action='store_true', default=False, help='build the player with stress testing enabled')
opt.add_option('--use-lld', action='store_true', default=False, help='use lld linker')
def configure(conf):
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'])
- if int(gcc[0]) >= 9:
- conf.env.append_value('CXXFLAGS', ['-Wno-deprecated-copy'])
- have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1
+ if conf.env['CXX_NAME'] == 'gcc':
+ gcc = conf.env['CC_VERSION']
+ if int(gcc[0]) >= 4 and int(gcc[1]) > 1:
+ conf.env.append_value('CXXFLAGS', ['-Wno-unused-result'])
+ if int(gcc[0]) >= 9:
+ conf.env.append_value('CXXFLAGS', ['-Wno-deprecated-copy'])
+ have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1
+ else:
+ have_c11 = False
if conf.options.enable_debug:
conf.env.append_value('CXXFLAGS', ['-g', '-DDCPOMATIC_DEBUG', '-fno-omit-frame-pointer'])
if conf.options.variant.startswith('swaroop-'):
conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_VARIANT_SWAROOP')
+ if conf.options.enable_player_stress_test:
+ conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_PLAYER_STRESS_TEST')
+
if conf.options.use_lld:
try:
conf.find_program('ld.lld')
conf.check(lib='winmm', uselib_store='WINMM', msg="Checking for library winmm")
conf.check(lib='ksuser', uselib_store='KSUSER', msg="Checking for library ksuser")
boost_lib_suffix = '-mt'
- boost_thread = 'boost_thread_win32-mt'
+ boost_thread = 'boost_thread-mt'
conf.check_cxx(fragment="""
#include <boost/locale.hpp>\n
int main() { std::locale::global (boost::locale::generator().generate ("")); }\n
conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_POSIX')
boost_lib_suffix = ''
boost_thread = 'boost_thread'
- conf.env.append_value('LINKFLAGS', '-pthread')
+ conf.env.append_value('LINKFLAGS', ['-pthread'])
# Linux
if conf.env.TARGET_LINUX:
conf.env.append_value('CXXFLAGS', '-DLINUX_SHARE_PREFIX="%s/share/dcpomatic2"' % conf.env['INSTALL_PREFIX'])
conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_LINUX')
conf.env.append_value('CXXFLAGS', ['-Wlogical-op', '-Wcast-align'])
+ conf.check(lib='dl', uselib_store='DL', msg="Checking for library dl")
if not conf.env.DISABLE_GUI:
conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK', mandatory=True)
if conf.options.static_dcp:
conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.7', args='--cflags', uselib_store='DCP', mandatory=True)
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
- conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-cth', 'kumu-cth', 'openjp2']
- conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt']
+ conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-carl', 'kumu-carl', 'openjp2']
+ conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt', 'xerces-c']
else:
conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.7', args='--cflags --libs', uselib_store='DCP', mandatory=True)
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
conf.env['CXXFLAGS_AVCODEC'] = []
conf.env['CXXFLAGS_AVUTIL'] = []
+ if conf.env.TARGET_LINUX:
+ conf.env.LIB_X11 = ['X11']
+
# Boost
if conf.options.static_boost:
conf.env.STLIB_BOOST_THREAD = ['boost_thread']