Merge master.
[dcpomatic.git] / wscript
diff --git a/wscript b/wscript
index ebdfa2290f0a26bc04ba09c267b5e78404e2dcc0..f2b21bde35462934858cfbfac42610ecec387c11 100644 (file)
--- a/wscript
+++ b/wscript
@@ -21,7 +21,7 @@ def configure(conf):
     if conf.options.target_windows:
         conf.load('winres')
 
-    conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-msse', '-mfpmath=sse', '-ffast-math', '-fno-strict-aliasing',
+    conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-D__STDC_LIMIT_MACROS', '-msse', '-mfpmath=sse', '-ffast-math', '-fno-strict-aliasing',
                                        '-Wall', '-Wno-attributes', '-Wextra'])
 
     if conf.options.target_windows:
@@ -32,6 +32,9 @@ def configure(conf):
             conf.env.append_value('CXXFLAGS', ['-mconsole'])
             conf.env.append_value('LINKFLAGS', ['-mconsole'])
         conf.check(lib = 'ws2_32', uselib_store = 'WINSOCK2', msg = "Checking for library winsock2")
+        conf.check(lib = 'bfd', uselib_store = 'BFD', msg = "Checking for library bfd")
+        conf.check(lib = 'dbghelp', uselib_store = 'DBGHELP', msg = "Checking for library dbghelp")
+        conf.check(lib = 'iberty', uselib_store = 'IBERTY', msg = "Checking for library iberty")
         boost_lib_suffix = '-mt'
         boost_thread = 'boost_thread_win32-mt'
     else:
@@ -55,14 +58,14 @@ def configure(conf):
         conf.env.append_value('CXXFLAGS', '-O2')
 
     if not conf.options.static:
-        conf.check_cfg(package = 'libdcp', atleast_version = '0.45', args = '--cflags --libs', uselib_store = 'DCP', mandatory = True)
+        conf.check_cfg(package = 'libdcp', atleast_version = '0.49', args = '--cflags --libs', uselib_store = 'DCP', mandatory = True)
         conf.check_cfg(package = 'libcxml', atleast_version = '0.01', args = '--cflags --libs', uselib_store = 'CXML', 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)
         conf.check_cfg(package = 'libavutil', args = '--cflags --libs', uselib_store = 'AVUTIL', mandatory = True)
         conf.check_cfg(package = 'libswscale', args = '--cflags --libs', uselib_store = 'SWSCALE', mandatory = True)
-        conf.check_cfg(package = 'libswresample', args = '--cflags --libs', uselib_store = 'SWRESAMPLE', mandatory = False)
+        conf.check_cfg(package = 'libswresample', args = '--cflags --libs', uselib_store = 'SWRESAMPLE', mandatory = True)
         conf.check_cfg(package = 'libpostproc', args = '--cflags --libs', uselib_store = 'POSTPROC', mandatory = True)
     else:
         # This is hackio grotesquio for static builds (ie for .deb packages).  We need to link some things
@@ -87,14 +90,10 @@ def configure(conf):
         conf.env.STLIB_AVUTIL = ['avutil']
         conf.env.HAVE_SWSCALE = 1
         conf.env.STLIB_SWSCALE = ['swscale']
-        conf.env.HAVE_SWRESAMPLE = 1
-        conf.env.STLIB_SWRESAMPLE = ['swresample']
         conf.env.HAVE_POSTPROC = 1
         conf.env.STLIB_POSTPROC = ['postproc']
-
-        # This doesn't seem to be set up, and we need it otherwise resampling support
-        # won't be included.  Hack upon a hack, obviously
-        conf.env.append_value('CXXFLAGS', ['-DHAVE_SWRESAMPLE=1'])
+        conf.env.HAVE_SWRESAMPLE = 1
+        conv.env.STLIB_SWRESAMPLE = ['swresample']
 
     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)
@@ -232,7 +231,13 @@ def build(bld):
     obj.target = 'dcpomatic.desktop'
     obj.dict = d
 
-    bld.install_files('${PREFIX}/share/applications', 'dcpomatic.desktop')
+    obj = bld(features = 'subst')
+    obj.source = 'dcpomatic_batch.desktop.in'
+    obj.target = 'dcpomatic_batch.desktop'
+    obj.dict = d
+
+    bld.install_files('${PREFIX}/share/applications', ['dcpomatic.desktop', 'dcpomatic_batch.desktop'])
+
     for r in ['22x22', '32x32', '48x48', '64x64', '128x128']:
         bld.install_files('${PREFIX}/share/icons/hicolor/%s/apps' % r, 'icons/%s/dcpomatic.png' % r)