X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=3f7427cd2aa14c78e892523f52050b3f3d185a40;hb=e8204f55c981493b99814f71a50b3c3d62601032;hp=bd2b3a58e223e9301e7322bef30b5b7020e9cebd;hpb=633b20dad36b5c27f5df27499af7cdc7dc4d8429;p=dcpomatic.git diff --git a/wscript b/wscript index bd2b3a58e..3f7427cd2 100644 --- a/wscript +++ b/wscript @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.33' +VERSION = '1.61.2pre' 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