+import os
+import i18n
+
+sources = """
+ analyse_audio_job.cc
+ audio_analysis.cc
+ audio_buffers.cc
+ audio_content.cc
+ audio_decoder.cc
+ audio_mapping.cc
+ cinema.cc
+ colour_conversion.cc
+ config.cc
+ content.cc
+ content_factory.cc
+ content_subtitle.cc
+ cross.cc
+ dci_metadata.cc
+ dcp_content_type.cc
+ dcp_video.cc
+ dcp_video_frame.cc
+ dcpomatic_time.cc
+ dolby_cp750.cc
+ encoder.cc
+ examine_content_job.cc
+ exceptions.cc
+ file_group.cc
+ filter_graph.cc
+ ffmpeg.cc
+ ffmpeg_content.cc
+ ffmpeg_decoder.cc
+ ffmpeg_examiner.cc
+ film.cc
+ filter.cc
+ frame_rate_change.cc
+ image.cc
+ image_content.cc
+ image_decoder.cc
+ image_examiner.cc
+ job.cc
+ job_manager.cc
+ kdm.cc
+ json_server.cc
+ log.cc
+ player.cc
+ playlist.cc
+ ratio.cc
+ render_subtitles.cc
+ resampler.cc
+ scp_dcp_job.cc
+ scaler.cc
+ send_kdm_email_job.cc
+ server.cc
+ server_finder.cc
+ sndfile_content.cc
+ sndfile_decoder.cc
+ sound_processor.cc
+ subrip.cc
+ subrip_content.cc
+ subrip_decoder.cc
+ subtitle_content.cc
+ subtitle_decoder.cc
+ timer.cc
+ transcode_job.cc
+ transcoder.cc
+ types.cc
+ ui_signaller.cc
+ update.cc
+ util.cc
+ video_content.cc
+ video_decoder.cc
+ writer.cc
+ """
+
def build(bld):
- if bld.env.STATIC:
+ if bld.env.BUILD_STATIC:
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 = 'libdcpomatic'
+ 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
+ """
+
+ 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
- encoder_factory.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
- j2k_still_encoder.cc
- j2k_video_encoder.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
- """
+ obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
+ obj.source += ' stack.cpp'
+ if bld.env.BUILD_STATIC:
+ obj.uselib += ' XML++'
+
+ obj.target = 'dcpomatic'
+
+ i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic', 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')