X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fwscript;h=f6ca52fb772f9eb625025136c19e43f43581373f;hb=15a83d720780d58f905d40f8493cdcb86596eaee;hp=d62c22bae9738c3963559aa6796dca45a976f057;hpb=b6c780d3107557d452c6612d715d01e2be52dbda;p=dcpomatic.git diff --git a/src/lib/wscript b/src/lib/wscript index d62c22bae..fb222fcf4 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -1,101 +1,194 @@ +# +# Copyright (C) 2012-2015 Carl Hetherington +# +# 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 . +# + 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_recipient.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 + kdm_recipient.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 + trusted_device.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') @@ -103,21 +196,34 @@ def build(bld): 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 SUB + 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' @@ -125,7 +231,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')