X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=f3f62d157ed2a1bcc48cbcf68a63fa699b008349;hb=b048889b399367bf0fc8b905c7c0cf436d629f57;hp=52965b13299967c7cdefeb52e09aee590a59bcc4;hpb=16d27b9621a6e4e782f8bdbf375f01e187883320;p=dcpomatic.git diff --git a/wscript b/wscript index 52965b132..f3f62d157 100644 --- a/wscript +++ b/wscript @@ -1,5 +1,5 @@ # -# Copyright (C) 2012-2015 Carl Hetherington +# Copyright (C) 2012-2016 Carl Hetherington # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import distutils.spawn from waflib import Logs, Context APPNAME = 'dcpomatic' -VERSION = '2.6.3devel' +VERSION = '2.6.30devel' def options(opt): opt.load('compiler_cxx') @@ -39,7 +39,6 @@ def options(opt): opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package') opt.add_option('--static-dcpomatic', action='store_true', default=False, help='link to components of DCP-o-matic statically') opt.add_option('--static-boost', action='store_true', default=False, help='link statically to Boost') - opt.add_option('--static-openjpeg', action='store_true', default=False, help='link statically to OpenJPEG') opt.add_option('--static-wxwidgets', action='store_true', default=False, help='link statically to wxWidgets') opt.add_option('--static-ffmpeg', action='store_true', default=False, help='link statically to FFmpeg') opt.add_option('--static-xmlpp', action='store_true', default=False, help='link statically to libxml++') @@ -112,7 +111,7 @@ def configure(conf): conf.check(lib='shlwapi', uselib_store='SHLWAPI', msg="Checking for library shlwapi") conf.check(lib='mswsock', uselib_store='MSWSOCK', msg="Checking for library mswsock") boost_lib_suffix = '-mt' - boost_thread = 'boost_thread_win32-mt' + boost_thread = 'boost_thread-mt' conf.check_cxx(fragment=""" #include \n int main() { std::locale::global (boost::locale::generator().generate ("")); }\n @@ -140,7 +139,7 @@ def configure(conf): # OSX if conf.env.TARGET_OSX: - conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter']) + conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter', '-Wno-unused-local-typedef']) conf.env.append_value('LINKFLAGS', '-headerpad_max_install_names') # @@ -213,10 +212,10 @@ def configure(conf): # libcxml if conf.options.static_cxml: - conf.check_cfg(package='libcxml', atleast_version='0.12.0', args='--cflags', uselib_store='CXML', mandatory=True) + conf.check_cfg(package='libcxml', atleast_version='0.15.1', args='--cflags', uselib_store='CXML', mandatory=True) conf.env.STLIB_CXML = ['cxml'] else: - conf.check_cfg(package='libcxml', atleast_version='0.12.0', args='--cflags --libs', uselib_store='CXML', mandatory=True) + conf.check_cfg(package='libcxml', atleast_version='0.15.1', args='--cflags --libs', uselib_store='CXML', mandatory=True) # libssh if conf.options.static_ssh: @@ -238,21 +237,21 @@ def configure(conf): # libdcp if conf.options.static_dcp: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.2.8', args='--cflags', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.3.0', 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-libdcp-1.0', 'kumu-libdcp-1.0'] + conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-cth', 'kumu-cth', 'openjp2'] conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt'] else: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.2.8', args='--cflags --libs', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.3.0', args='--cflags --libs', uselib_store='DCP', mandatory=True) conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] # libsub if conf.options.static_sub: - conf.check_cfg(package='libsub-1.0', atleast_version='1.1.8', args='--cflags', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.1.11', args='--cflags', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] conf.env.STLIB_SUB = ['sub-1.0'] else: - conf.check_cfg(package='libsub-1.0', atleast_version='1.1.8', args='--cflags --libs', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.1.11', args='--cflags --libs', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] # libxml++ @@ -268,20 +267,11 @@ def configure(conf): else: conf.env.LIB_XMLSEC = ['xmlsec1-openssl', 'xmlsec1'] - # OpenJPEG - if conf.options.static_openjpeg: - conf.check_cfg(package='libopenjpeg', args='--cflags', atleast_version='1.5.0', uselib_store='OPENJPEG', mandatory=True) - conf.check_cfg(package='libopenjpeg', args='--cflags', max_version='1.5.2', mandatory=True) - conf.env.STLIB_OPENJPEG = ['openjpeg'] - else: - conf.check_cfg(package='libopenjpeg', args='--cflags --libs', atleast_version='1.5.0', uselib_store='OPENJPEG', mandatory=True) - conf.check_cfg(package='libopenjpeg', args='--cflags --libs', max_version='1.5.2', mandatory=True) - # FFmpeg if conf.options.static_ffmpeg: names = ['avformat', 'avfilter', 'avcodec', 'avutil', 'swscale', 'postproc'] for name in names: - static = subprocess.Popen(shlex.split('pkg-config --static --libs lib%s' % name), stdout=subprocess.PIPE).communicate()[0] + static = subprocess.Popen(shlex.split('pkg-config --static --libs lib%s' % name), stdout=subprocess.PIPE).communicate()[0].decode('utf-8') libs = [] stlibs = [] include = [] @@ -309,6 +299,20 @@ def configure(conf): conf.check_cfg(package='libswscale', args='--cflags --libs', uselib_store='SWSCALE', mandatory=True) conf.check_cfg(package='libpostproc', args='--cflags --libs', uselib_store='POSTPROC', mandatory=True) + # Check to see if we have our version of FFmpeg that allows us to get at EBUR128 results + conf.check_cxx(fragment=""" + extern "C" {\n + #include \n + }\n + int main () { av_ebur128_get_true_peaks (0); }\n + """, + msg='Checking for patched FFmpeg', + libpath='/usr/local/lib', + lib=['avfilter'], + uselib_store='PATCHED_FFMPEG', + define_name='DCPOMATIC_HAVE_PATCHED_FFMPEG', + mandatory=False) + # Boost if conf.options.static_boost: conf.env.STLIB_BOOST_THREAD = ['boost_thread'] @@ -414,7 +418,6 @@ def configure(conf): report('DCP-o-matic libraries', conf.options.static_dcpomatic) report('Boost', conf.options.static_boost) - report('OpenJPEG', conf.options.static_openjpeg) report('wxWidgets', conf.options.static_wxwidgets) report('FFmpeg', conf.options.static_ffmpeg) report('libxml++', conf.options.static_xmlpp)