Add Zipper class and use it in CinemaKDMs.
[dcpomatic.git] / src / lib / wscript
index 4c5ed04db998ad2859604d4f688e8f9e6eb8849b..ea52079d03dc0d5bf255584bc98e7a2677f64dca 100644 (file)
@@ -1,40 +1,51 @@
 #
 #    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 #
-#    This program is free software; you can redistribute it and/or modify
+#    This file is part of DCP-o-matic.
+#
+#    DCP-o-matic is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 2 of the License, or
 #    (at your option) any later version.
 #
-#    This program is distributed in the hope that it will be useful,
+#    DCP-o-matic is distributed in the hope that it will be useful,
 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #    GNU General Public License for more details.
 #
 #    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#    along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
 #
 
 import os
 import i18n
 
 sources = """
+          active_text.cc
           analyse_audio_job.cc
+          analyse_subtitles_job.cc
+          analytics.cc
           atmos_mxf_content.cc
+          atomicity_checker.cc
           audio_analysis.cc
           audio_buffers.cc
           audio_content.cc
           audio_decoder.cc
-          audio_decoder_stream.cc
           audio_delay.cc
           audio_filter.cc
           audio_filter_graph.cc
           audio_mapping.cc
+          audio_merger.cc
           audio_point.cc
           audio_processor.cc
+          audio_ring_buffers.cc
           audio_stream.cc
+          butler.cc
+          text_content.cc
+          text_decoder.cc
           case_insensitive_sorter.cc
+          checker.cc
+          check_content_change_job.cc
           cinema.cc
           cinema_kdms.cc
           cinema_sound_processor.cc
@@ -42,26 +53,45 @@ sources = """
           config.cc
           content.cc
           content_factory.cc
-          cross.cc
+          copy_dcp_details_to_film.cc
+          create_cli.cc
+          cross_common.cc
+          crypto.cc
           curl_uploader.cc
+          datasat_ap2x.cc
+          dcp.cc
           dcp_content.cc
           dcp_content_type.cc
           dcp_decoder.cc
+          dcp_encoder.cc
           dcp_examiner.cc
           dcp_subtitle.cc
           dcp_subtitle_content.cc
           dcp_subtitle_decoder.cc
+          dcp_text_track.cc
           dcp_video.cc
+          dcpomatic_log.cc
           dcpomatic_socket.cc
           dcpomatic_time.cc
+          decoder.cc
+          decoder_factory.cc
+          decoder_part.cc
+          decrypted_ecinema_kdm.cc
+          digester.cc
+          dkdm_wrapper.cc
           dolby_cp750.cc
+          edid.cc
           emailer.cc
+          empty.cc
           encoder.cc
           encode_server.cc
           encode_server_finder.cc
           encoded_log_entry.cc
+          encrypted_ecinema_kdm.cc
           environment_info.cc
+          event_history.cc
           examine_content_job.cc
+          examine_ffmpeg_subtitles_job.cc
           exceptions.cc
           file_group.cc
           file_log.cc
@@ -70,14 +100,18 @@ sources = """
           ffmpeg_audio_stream.cc
           ffmpeg_content.cc
           ffmpeg_decoder.cc
+          ffmpeg_encoder.cc
+          ffmpeg_file_encoder.cc
           ffmpeg_examiner.cc
           ffmpeg_stream.cc
           ffmpeg_subtitle_stream.cc
           film.cc
           filter.cc
+          ffmpeg_image_proxy.cc
           font.cc
-          font_files.cc
+          frame_interval_checker.cc
           frame_rate_change.cc
+          hints.cc
           internet.cc
           image.cc
           image_content.cc
@@ -89,50 +123,57 @@ sources = """
           j2k_image_proxy.cc
           job.cc
           job_manager.cc
+          j2k_encoder.cc
           json_server.cc
+          lock_file_checker.cc
           log.cc
           log_entry.cc
-          magick_image_proxy.cc
-          md5_digester.cc
           mid_side_decoder.cc
+          monitor_checker.cc
           overlaps.cc
           player.cc
-          player_subtitles.cc
+          player_text.cc
           player_video.cc
           playlist.cc
           position_image.cc
           ratio.cc
           raw_image_proxy.cc
           reel_writer.cc
-          render_subtitles.cc
+          render_text.cc
           resampler.cc
           rgba.cc
-          safe_stringstream.cc
           scoped_temporary.cc
           scp_uploader.cc
           screen.cc
           screen_kdm.cc
           send_kdm_email_job.cc
+          send_notification_email_job.cc
           send_problem_report_job.cc
           server.cc
+          shuffler.cc
+          state.cc
+          spl.cc
+          spl_entry.cc
           string_log_entry.cc
-          raw_convert.cc
-          subtitle_content.cc
-          subtitle_decoder.cc
-          text_subtitle.cc
-          text_subtitle_content.cc
-          text_subtitle_decoder.cc
+          string_text_file.cc
+          string_text_file_content.cc
+          string_text_file_decoder.cc
+          subtitle_analysis.cc
+          subtitle_encoder.cc
+          text_ring_buffers.cc
           timer.cc
           transcode_job.cc
-          transcoder.cc
           types.cc
           signal_manager.cc
+          stdout_log.cc
           update_checker.cc
           upload_job.cc
           uploader.cc
           upmixer_a.cc
           upmixer_b.cc
+          usl.cc
           util.cc
+          verify_dcp_job.cc
           video_content.cc
           video_content_scale.cc
           video_decoder.cc
@@ -140,7 +181,9 @@ sources = """
           video_mxf_content.cc
           video_mxf_decoder.cc
           video_mxf_examiner.cc
+          video_ring_buffers.cc
           writer.cc
+          zipper.cc
           """
 
 def build(bld):
@@ -154,17 +197,31 @@ def build(bld):
     obj.uselib = """
                  AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE
                  BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 BOOST_REGEX
-                 SAMPLERATE POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA XML++
-                 CURL ZIP FONTCONFIG PANGOMM CAIROMM XMLSEC SUB ICU
+                 SAMPLERATE POSTPROC TIFF SSH DCP CXML GLIB LZMA XML++
+                 CURL ZIP FONTCONFIG PANGOMM CAIROMM XMLSEC SUB ICU NETTLE PNG LEQM_NRT
                  """
 
     if bld.env.TARGET_OSX:
-        obj.framework = ['IOKit', 'Foundation']
+        obj.framework = ['IOKit', 'Foundation', 'DiskArbitration']
 
     obj.source = sources + ' version.cc'
 
+    if bld.env.VARIANT == 'swaroop-theater' or bld.env.VARIANT == 'swaroop-studio':
+        obj.source += ' swaroop_spl.cc swaroop_spl_entry.cc'
+
+    if bld.env.ENABLE_DISK:
+        obj.source += ' copy_to_drive_job.cc nanomsg.cc'
+        obj.uselib += ' LWEXT4 NANOMSG'
+        if bld.env.TARGET_LINUX:
+            obj.uselib += ' POLKIT'
+
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
+        obj.uselib += ' WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE SETUPAPI'
+        obj.source += ' cross_windows.cc'
+    if bld.env.TARGET_OSX:
+        obj.source += ' cross_osx.cc'
+    if bld.env.TARGET_LINUX:
+        obj.source += ' cross_linux.cc'
     if bld.env.STATIC_DCPOMATIC:
         obj.uselib += ' XMLPP'
 
@@ -173,7 +230,7 @@ def build(bld):
     i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic2', bld)
 
 def pot(bld):
-    i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
+    i18n.pot(os.path.join('src', 'lib'), sources + " util.h", 'libdcpomatic')
 
 def pot_merge(bld):
     i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')