Another try at sorting out the thorny question of timing.
[dcpomatic.git] / src / lib / wscript
index ee89ad0856525ba4d07ed32886df4138efc66048..3e7f2e33be88ada8822bfd2b8e5312f02f1173cb 100644 (file)
@@ -1,51 +1,58 @@
 import os
+import i18n
 
 sources = """
-          ab_transcode_job.cc
-         ab_transcoder.cc
+          analyse_audio_job.cc
+          audio_analysis.cc
+          audio_buffers.cc
+          audio_content.cc
           audio_decoder.cc
-          audio_source.cc
+          audio_mapping.cc
           config.cc
-          combiner.cc
+          content.cc
           cross.cc
           dci_metadata.cc
           dcp_content_type.cc
           dcp_video_frame.cc
           decoder.cc
-          decoder_factory.cc
-          delay_line.cc
           dolby_cp750.cc
           encoder.cc
           examine_content_job.cc
-          external_audio_decoder.cc
+          exceptions.cc
           filter_graph.cc
-          ffmpeg_compatibility.cc
+          ffmpeg.cc
+          ffmpeg_content.cc
           ffmpeg_decoder.cc
+          ffmpeg_examiner.cc
           film.cc
           filter.cc
-          format.cc
-          gain.cc
           image.cc
+          imagemagick_content.cc
           imagemagick_decoder.cc
+          imagemagick_examiner.cc
           job.cc
           job_manager.cc
           log.cc
           lut.cc
-          matcher.cc
+          player.cc
+          playlist.cc
+          ratio.cc
+          resampler.cc
           scp_dcp_job.cc
           scaler.cc
           server.cc
+          sndfile_content.cc
+          sndfile_decoder.cc
           sound_processor.cc
-          stream.cc
           subtitle.cc
           timer.cc
           transcode_job.cc
           transcoder.cc
+          types.cc
           ui_signaller.cc
           util.cc
-          version.cc
+          video_content.cc
           video_decoder.cc
-          video_source.cc
           writer.cc
           """
 
@@ -55,23 +62,28 @@ def build(bld):
     else:
         obj = bld(features = 'cxx cxxshlib')
 
-    obj.name = 'libdvdomatic'
+    obj.name = 'libdcpomatic'
     obj.export_includes = ['.']
     obj.uselib = """
                  AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE 
                  BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 
-                 SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP GLIB LZMA
+                 SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA
                  """
+
+    obj.source = sources + ' version.cc'
+
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += ' WINSOCK2'
-    obj.source = sources
-    obj.target = 'dvdomatic'
+        obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY'
+        obj.source += ' stack.cpp'
+    if bld.env.STATIC:
+        obj.uselib += ' XML++'
+    obj.source = sources + " version.cc"
+    obj.target = 'dcpomatic'
+
+    i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic', bld)
 
 def pot(bld):
-    s = ""
-    for f in sources.split('\n'):
-        t = f.strip()
-        if len(t) > 0:
-            s += (os.path.join('src', 'lib', t)) + " "
+    i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
 
-    os.system('xgettext -d libdvdomatic -s --keyword=_ -p build/src/lib -o libdvdomatic.pot %s' % s)
+def pot_merge(bld):
+    i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')