Merge master.
[dcpomatic.git] / src / lib / wscript
index c809226ce59adbb8a5377d8bcd8b500b205953b9..d8cc8261d386bf0f06482b0bd71082312f22762b 100644 (file)
@@ -1,58 +1,91 @@
+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_mapping.cc
+          audio_source.cc
+          config.cc
+          combiner.cc
+          content.cc
+          cross.cc
+          dci_metadata.cc
+          dcp_content_type.cc
+          dcp_video_frame.cc
+          decoder.cc
+          dolby_cp750.cc
+          encoder.cc
+          examine_content_job.cc
+          exceptions.cc
+          filter_graph.cc
+          ffmpeg_compatibility.cc
+          ffmpeg_content.cc
+          ffmpeg_decoder.cc
+          film.cc
+          filter.cc
+          format.cc
+          image.cc
+          imagemagick_content.cc
+          imagemagick_decoder.cc
+          job.cc
+          job_manager.cc
+          log.cc
+          lut.cc
+          player.cc
+          playlist.cc
+          scp_dcp_job.cc
+          scaler.cc
+          server.cc
+          sndfile_content.cc
+          sndfile_decoder.cc
+          sound_processor.cc
+          subtitle.cc
+          timer.cc
+          transcode_job.cc
+          transcoder.cc
+          types.cc
+          ui_signaller.cc
+          util.cc
+          video_content.cc
+          video_decoder.cc
+          video_source.cc
+          writer.cc
+          """
+
 def build(bld):
-    obj = bld(features = 'cxx cxxshlib')
-    obj.name = 'libdvdomatic'
+    if bld.env.STATIC:
+        obj = bld(features = 'cxx cxxstlib')
+    else:
+        obj = bld(features = 'cxx cxxshlib')
+
+    obj.name = 'libdcpomatic'
     obj.export_includes = ['.']
-    obj.uselib = 'AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE SNDFILE BOOST_FILESYSTEM BOOST_THREAD OPENJPEG POSTPROC TIFF SIGC++ MAGICK SSH DCP GLIB'
+    obj.uselib = """
+                 AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE 
+                 BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 
+                 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 = """
-                ab_transcode_job.cc
-                ab_transcoder.cc
-                 check_hashes_job.cc
-                config.cc
-                copy_from_dvd_job.cc
-                 cross.cc
-                dcp_content_type.cc
-                dcp_video_frame.cc
-                 decoder.cc
-                 decoder_factory.cc
-                 delay_line.cc
-                 dolby_cp750.cc
-                 dvd.cc
-                encoder.cc
-                 encoder_factory.cc
-                examine_content_job.cc
-                 ffmpeg_compatibility.cc
-                 ffmpeg_decoder.cc
-                film.cc
-                film_state.cc
-                filter.cc
-                format.cc
-                 image.cc
-                 imagemagick_decoder.cc
-                j2k_still_encoder.cc
-                j2k_wav_encoder.cc
-                job.cc
-                job_manager.cc
-                log.cc
-                lut.cc
-                make_dcp_job.cc
-                 scp_dcp_job.cc
-                scaler.cc
-                 screen.cc
-                server.cc
-                 sound_processor.cc
-                thumbs_job.cc
-                 tiff_decoder.cc
-                tiff_encoder.cc
-                 timer.cc
-                transcode_job.cc
-                transcoder.cc
-                util.cc
-                version.cc
-                """
-
-    if not bld.env.DISABLE_PLAYER:
-        obj.source += " player.cc player_manager.cc"
-
-    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):
+    i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
+
+def pot_merge(bld):
+    i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')