X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=babf5a00dd17c850faf23b3dbbcd14f5d5c6b6e6;hb=e60b1a4c5addabc85bbe2fff685c28561941f8e1;hp=ec9eb591433b16d871990c1b3aa10a9002035dcd;hpb=02876f8efc33a2c3e420fb0a629b1b3f563338e2;p=dcpomatic.git diff --git a/wscript b/wscript index ec9eb5914..babf5a00d 100644 --- a/wscript +++ b/wscript @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.34pre' +VERSION = '1.62.3devel' def options(opt): opt.load('compiler_cxx') @@ -15,6 +15,7 @@ def options(opt): opt.add_option('--static', action='store_true', default=False, help='build statically, and link statically to libdcp and FFmpeg') opt.add_option('--magickpp-config', action='store', default='Magick++-config', help='path to Magick++-config') opt.add_option('--wx-config', action='store', default='wx-config', help='path to wx-config') + opt.add_option('--address-sanitizer', action='store_true', default=False, help='build with address sanitizer') def pkg_config_args(conf): if conf.env.STATIC: @@ -43,6 +44,10 @@ def configure(conf): else: conf.env.append_value('CXXFLAGS', '-O2') + if conf.options.address_sanitizer: + conf.env.append_value('CXXFLAGS', ['-fsanitize=address', '-fno-omit-frame-pointer']) + conf.env.append_value('LINKFLAGS', ['-fsanitize=address']) + # Windows-specific if conf.env.TARGET_WINDOWS: conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_WINDOWS', '-DWIN32_LEAN_AND_MEAN', '-DBOOST_USE_WINDOWS_H', '-DUNICODE', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN']) @@ -88,7 +93,7 @@ def configure(conf): # Dependencies which are dynamically linked everywhere except --static # Get libs only when we are dynamically linking - conf.check_cfg(package='libdcp', atleast_version='0.83', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp', atleast_version='0.92', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True) # Remove erroneous escaping of quotes from xmlsec1 defines conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] conf.check_cfg(package='libcxml', atleast_version='0.08', args=pkg_config_args(conf), uselib_store='CXML', mandatory=True) @@ -185,6 +190,17 @@ def configure(conf): lib=['boost_date_time%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix], uselib_store='BOOST_DATETIME') + # Only Windows versions require boost::locale, which is handy, as it was only introduced in + # boost 1.48 and so isn't (easily) available on old Ubuntus. + if conf.env.TARGET_WINDOWS: + conf.check_cxx(fragment=""" + #include \n + int main() { std::locale::global (boost::locale::generator().generate ("")); }\n + """, msg='Checking for boost locale library', + libpath='/usr/local/lib', + lib=['boost_locale%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix], + uselib_store='BOOST_LOCALE') + conf.check_cxx(fragment=""" #include \n int main() { boost::signals2::signal x; }\n