Merge master into direct-mxf.
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index 971931128dce6353e61c0687f5bd4bbc1ddacac3..bf5cf1daa282d0fefa40a4eef13bdc67407167c9 100644 (file)
--- a/wscript
+++ b/wscript
@@ -3,7 +3,7 @@ import os
 import sys
 
 APPNAME = 'dvdomatic'
-VERSION = '0.70pre'
+VERSION = '0.73pre'
 
 def options(opt):
     opt.load('compiler_cxx')
@@ -50,7 +50,7 @@ def configure(conf):
         conf.env.append_value('CXXFLAGS', '-O2')
 
     if not conf.options.static:
-        conf.check_cfg(package = 'libdcp', atleast_version = '0.34', args = '--cflags --libs', uselib_store = 'DCP', mandatory = True)
+        conf.check_cfg(package = 'libdcp', atleast_version = '0.36', args = '--cflags --libs', uselib_store = 'DCP', mandatory = True)
         conf.check_cfg(package = 'libavformat', args = '--cflags --libs', uselib_store = 'AVFORMAT', mandatory = True)
         conf.check_cfg(package = 'libavfilter', args = '--cflags --libs', uselib_store = 'AVFILTER', mandatory = True)
         conf.check_cfg(package = 'libavcodec', args = '--cflags --libs', uselib_store = 'AVCODEC', mandatory = True)
@@ -89,21 +89,22 @@ def configure(conf):
 
     conf.check_cfg(package = 'sndfile', args = '--cflags --libs', uselib_store = 'SNDFILE', mandatory = True)
     conf.check_cfg(package = 'glib-2.0', args = '--cflags --libs', uselib_store = 'GLIB', mandatory = True)
+    conf.check_cfg(package = 'liblzma', args = '--cflags --libs', uselib_store = 'LZMA', mandatory = True)
     conf.check_cfg(package = '', path = 'Magick++-config', args = '--cppflags --cxxflags --libs', uselib_store = 'MAGICK', mandatory = True)
 
-    openjpeg_fragment = """
+    if conf.options.static:
+        conf.check_cc(fragment = """
                        #include <stdio.h>\n
                        #include <openjpeg.h>\n
                        int main () {\n
                        void* p = (void *) opj_image_create;\n
                        return 0;\n
                        }
-                       """
-
-    if conf.options.static:
-        conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', stlib = 'openjpeg', uselib_store = 'OPENJPEG')
+                       """, msg = 'Checking for library openjpeg', stlib = 'openjpeg', uselib_store = 'OPENJPEG')
     else:
-        conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', lib = 'openjpeg', uselib_store = 'OPENJPEG')
+        # Only 1.5.0 and 1.5.1 have been tested.
+        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.1', mandatory = True)
 
     conf.check_cc(fragment  = """
                               #include <libssh/libssh.h>\n
@@ -111,7 +112,7 @@ def configure(conf):
                               ssh_session s = ssh_new ();\n
                               return 0;\n
                               }
-                              """, msg = 'Checking for library libssh', mandatory = False, lib = 'ssh', uselib_store = 'SSH')
+                              """, msg = 'Checking for library libssh', mandatory = True, lib = 'ssh', uselib_store = 'SSH')
 
     conf.check_cxx(fragment = """
                              #include <boost/thread.hpp>\n
@@ -151,6 +152,36 @@ def configure(conf):
                              define_name = 'HAVE_G_FORMAT_SIZE',
                              mandatory = False)
 
+    conf.check_cc(fragment = """
+                             extern "C" {
+                               #include <libavutil/avutil.h>
+                             }
+                             int main() { AVPixelFormat f; }
+                             """, msg = 'Checking for AVPixelFormat',
+                             uselib = 'AVUTIL',
+                             define_name = 'HAVE_AV_PIXEL_FORMAT',
+                             mandatory = False)
+
+    conf.check_cc(fragment = """
+                             extern "C" {
+                               #include <libavcodec/avcodec.h>
+                             }
+                             int main() { AVFrame* f; av_frame_get_best_effort_timestamp(f); }
+                             """, msg = 'Checking for av_frame_get_best_effort_timestamp',
+                             uselib = 'AVCODEC',
+                             define_name = 'HAVE_AV_FRAME_GET_BEST_EFFORT_TIMESTAMP',
+                             mandatory = False)
+
+    conf.check_cc(fragment = """
+                             extern "C" {
+                               #include <libavfilter/buffersrc.h>
+                             }
+                             int main() { } 
+                             """, msg = 'Checking for buffersrc.h',
+                             uselib = 'AVCODEC',
+                             define_name = 'HAVE_BUFFERSRC_H',
+                             mandatory = False)
+
     conf.recurse('src')
     conf.recurse('test')
 
@@ -176,7 +207,7 @@ def build(bld):
     bld.add_post_fun(post)
 
 def dist(ctx):
-    ctx.excl = 'TODO core *~ src/wx/*~ src/lib/*~ .waf* build .git deps alignment hacks sync *.tar.bz2 *.exe .lock* *build-windows doc/manual/pdf doc/manual/html'
+    ctx.excl = 'TODO core *~ src/wx/*~ src/lib/*~ builds/*~ doc/manual/*~ src/tools/*~ *.pyc .waf* build .git deps alignment hacks sync *.tar.bz2 *.exe .lock* *build-windows doc/manual/pdf doc/manual/html'
 
 def create_version_cc(version):
     if os.path.exists('.git'):