+#
+# 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 = """
+ 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_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_sound_processor.cc
colour_conversion.cc
config.cc
content.cc
content_factory.cc
- content_subtitle.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
- encoded_data.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
filter_graph.cc
ffmpeg.cc
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
+ frame_interval_checker.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
- kdm.cc
+ j2k_encoder.cc
+ json_server.cc
+ kdm_with_metadata.cc
+ lock_file_checker.cc
log.cc
- magick_image_proxy.cc
- md5_digester.cc
+ log_entry.cc
mid_side_decoder.cc
+ monitor_checker.cc
+ overlaps.cc
player.cc
+ player_text.cc
player_video.cc
playlist.cc
+ position_image.cc
ratio.cc
raw_image_proxy.cc
- render_subtitles.cc
+ reel_writer.cc
+ render_text.cc
resampler.cc
- safe_stringstream.cc
- scp_dcp_job.cc
- scaler.cc
+ rgba.cc
+ scoped_temporary.cc
+ scp_uploader.cc
+ screen.cc
send_kdm_email_job.cc
+ send_notification_email_job.cc
+ send_problem_report_job.cc
server.cc
- server_finder.cc
- single_stream_audio_content.cc
- sndfile_content.cc
- sndfile_decoder.cc
- subrip.cc
- subrip_content.cc
- subrip_decoder.cc
- subtitle_content.cc
- subtitle_decoder.cc
+ shuffler.cc
+ state.cc
+ spl.cc
+ spl_entry.cc
+ string_log_entry.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
- ui_signaller.cc
- update.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
+ video_filter_graph.cc
+ video_mxf_content.cc
+ video_mxf_decoder.cc
+ video_mxf_examiner.cc
+ video_ring_buffers.cc
writer.cc
+ zipper.cc
"""
def build(bld):
- if bld.env.BUILD_STATIC:
+ if bld.env.STATIC_DCPOMATIC:
obj = bld(features = 'cxx cxxstlib')
else:
obj = bld(features = 'cxx cxxshlib')
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 CXML GLIB LZMA XML++
- CURL ZIP QUICKMAIL PANGOMM CAIROMM XMLSEC
+ AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE
+ BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 BOOST_REGEX
+ 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.source += ' stack.cpp'
- if bld.env.BUILD_STATIC:
+ 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'
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')
+ i18n.pot(os.path.join('src', 'lib'), sources + " util.h", 'libdcpomatic')
def pot_merge(bld):
i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')