Rename SafeStringStream -> locked_stringstream. Bump deps for removal of stringstream.
[dcpomatic.git] / src / lib / wscript
index c2b46112cbe0de658ed5c9906661378bfcffd2fe..9883f31d6a6636407502170b26237632340cfeeb 100644 (file)
+#
+#    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#
+#    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.
+#
+#    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 DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os
+import i18n
+
+sources = """
+          analyse_audio_job.cc
+          atmos_mxf_content.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_point.cc
+          audio_processor.cc
+          audio_stream.cc
+          case_insensitive_sorter.cc
+          cinema.cc
+          cinema_kdms.cc
+          cinema_sound_processor.cc
+          colour_conversion.cc
+          config.cc
+          content.cc
+          content_factory.cc
+          cross.cc
+          curl_uploader.cc
+          dcp_content.cc
+          dcp_content_type.cc
+          dcp_decoder.cc
+          dcp_examiner.cc
+          dcp_subtitle.cc
+          dcp_subtitle_content.cc
+          dcp_subtitle_decoder.cc
+          dcp_video.cc
+          dcpomatic_socket.cc
+          dcpomatic_time.cc
+          decoder_factory.cc
+          digester.cc
+          dolby_cp750.cc
+          emailer.cc
+          encoder.cc
+          encode_server.cc
+          encode_server_finder.cc
+          encoded_log_entry.cc
+          environment_info.cc
+          examine_content_job.cc
+          exceptions.cc
+          file_group.cc
+          file_log.cc
+          filter_graph.cc
+          ffmpeg.cc
+          ffmpeg_audio_stream.cc
+          ffmpeg_content.cc
+          ffmpeg_decoder.cc
+          ffmpeg_examiner.cc
+          ffmpeg_stream.cc
+          ffmpeg_subtitle_stream.cc
+          film.cc
+          filter.cc
+          font.cc
+          font_files.cc
+          frame_rate_change.cc
+          hints.cc
+          internet.cc
+          image.cc
+          image_content.cc
+          image_decoder.cc
+          image_examiner.cc
+          image_filename_sorter.cc
+          image_proxy.cc
+          isdcf_metadata.cc
+          j2k_image_proxy.cc
+          job.cc
+          job_manager.cc
+          json_server.cc
+          log.cc
+          log_entry.cc
+          magick_image_proxy.cc
+          mid_side_decoder.cc
+          overlaps.cc
+          player.cc
+          player_subtitles.cc
+          player_video.cc
+          playlist.cc
+          position_image.cc
+          ratio.cc
+          raw_image_proxy.cc
+          reel_writer.cc
+          render_subtitles.cc
+          resampler.cc
+          rgba.cc
+          scoped_temporary.cc
+          scp_uploader.cc
+          screen.cc
+          screen_kdm.cc
+          send_kdm_email_job.cc
+          send_problem_report_job.cc
+          server.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
+          timer.cc
+          transcode_job.cc
+          transcoder.cc
+          types.cc
+          signal_manager.cc
+          update_checker.cc
+          upload_job.cc
+          uploader.cc
+          upmixer_a.cc
+          upmixer_b.cc
+          util.cc
+          video_content.cc
+          video_content_scale.cc
+          video_decoder.cc
+          video_filter_graph.cc
+          video_frame.cc
+          video_mxf_content.cc
+          video_mxf_decoder.cc
+          video_mxf_examiner.cc
+          writer.cc
+          """
+
 def build(bld):
-    if bld.env.STATIC:
+    if bld.env.STATIC_DCPOMATIC:
         obj = bld(features = 'cxx cxxstlib')
     else:
         obj = bld(features = 'cxx cxxshlib')
 
-    obj.name = 'libdvdomatic'
-    obj.export_includes = ['.']
+    obj.name = 'libdcpomatic2'
+    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
+                 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 NETTLE
                  """
+
+    if bld.env.TARGET_OSX:
+        obj.framework = ['IOKit', 'Foundation']
+
+    obj.source = sources + ' version.cc'
+
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += ' WINSOCK2'
-    obj.source = """
-                ab_transcode_job.cc
-                ab_transcoder.cc
-                 analyse_audio_job.cc
-                 audio_analysis.cc
-                 audio_decoder.cc
-                 audio_source.cc
-                config.cc
-                 combiner.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
-                 filter_graph.cc
-                 ffmpeg_compatibility.cc
-                 ffmpeg_decoder.cc
-                film.cc
-                filter.cc
-                format.cc
-                 gain.cc
-                 image.cc
-                 imagemagick_decoder.cc
-                job.cc
-                job_manager.cc
-                log.cc
-                lut.cc
-                 matcher.cc
-                 scp_dcp_job.cc
-                scaler.cc
-                server.cc
-                 sound_processor.cc
-                 stream.cc
-                 subtitle.cc
-                 timer.cc
-                transcode_job.cc
-                transcoder.cc
-                 ui_signaller.cc
-                util.cc
-                version.cc
-                 video_decoder.cc
-                 video_source.cc
-                 writer.cc
-                """
+        obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
+    if bld.env.STATIC_DCPOMATIC:
+        obj.uselib += ' XMLPP'
+
+    obj.target = 'dcpomatic2'
+
+    i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic2', bld)
+
+def pot(bld):
+    i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
 
-    obj.target = 'dvdomatic'
+def pot_merge(bld):
+    i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')