X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fwscript;h=6c45d8b1ed3cdf5d4731f444385b9e6a8f733400;hb=422be0eece2bf6ee80db1d3c21553cd82efff789;hp=6d72f6480f3e450786aef961e93896952924d6e6;hpb=479b67ec506289a4763b2dd4f07e72d1dd676483;p=dcpomatic.git diff --git a/src/lib/wscript b/src/lib/wscript index 6d72f6480..9883f31d6 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -1,62 +1,182 @@ +# +# 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 = """ + 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.uselib = 'AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE SNDFILE BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 OPENJPEG POSTPROC TIFF MAGICK SSH DCP GLIB' + obj.name = 'libdcpomatic2' + obj.export_includes = ['..'] + 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 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 - audio_decoder.cc - audio_source.cc - check_hashes_job.cc - config.cc - combiner.cc - cross.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 - make_dcp_job.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.target = 'dvdomatic' + 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') + +def pot_merge(bld): + i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')