Bump version
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index 819537b81a94192cca06c43290a608775bec636d..de9f099226614cc2eb623e33069e425c9479861d 100644 (file)
--- a/wscript
+++ b/wscript
@@ -1,5 +1,5 @@
 #
-#    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#    Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
 #
 #    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.5.14'
+VERSION = '2.6.33devel'
 
 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 <boost/locale.hpp>\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.1', 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.1', 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 <libavfilter/f_ebur128.h>\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)