Use SafeStringStream instead of std::stringstream to try to fix random crashes on...
[dcpomatic.git] / src / lib / wscript
1 import os
2 import i18n
3
4 sources = """
5           analyse_audio_job.cc
6           audio_analysis.cc
7           audio_buffers.cc
8           audio_content.cc
9           audio_decoder.cc
10           audio_mapping.cc
11           cinema.cc
12           colour_conversion.cc
13           config.cc
14           content.cc
15           content_factory.cc
16           cross.cc
17           dcp_content_type.cc
18           dcp_video_frame.cc
19           decoder.cc
20           dolby_cp750.cc
21           encoder.cc
22           examine_content_job.cc
23           exceptions.cc
24           file_group.cc
25           filter_graph.cc
26           ffmpeg.cc
27           ffmpeg_content.cc
28           ffmpeg_decoder.cc
29           ffmpeg_examiner.cc
30           film.cc
31           filter.cc
32           frame_rate_change.cc
33           internet.cc
34           image.cc
35           image_content.cc
36           image_decoder.cc
37           image_examiner.cc
38           image_proxy.cc
39           isdcf_metadata.cc
40           job.cc
41           job_manager.cc
42           kdm.cc
43           log.cc
44           md5_digester.cc
45           piece.cc
46           player.cc
47           player_video_frame.cc
48           playlist.cc
49           ratio.cc
50           resampler.cc
51           safe_stringstream.cc
52           scp_dcp_job.cc
53           scaler.cc
54           send_kdm_email_job.cc
55           server.cc
56           server_finder.cc
57           sndfile_content.cc
58           sndfile_decoder.cc
59           sound_processor.cc
60           subtitle.cc
61           subtitle_content.cc
62           subtitle_decoder.cc
63           timer.cc
64           transcode_job.cc
65           transcoder.cc
66           types.cc
67           ui_signaller.cc
68           update.cc
69           util.cc
70           video_content.cc
71           video_decoder.cc
72           writer.cc
73           """
74
75 def build(bld):
76     if bld.env.BUILD_STATIC:
77         obj = bld(features = 'cxx cxxstlib')
78     else:
79         obj = bld(features = 'cxx cxxshlib')
80
81     obj.name = 'libdcpomatic'
82     obj.export_includes = ['..']
83     obj.uselib = """
84                  AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE 
85                  BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2
86                  SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA XMLPP
87                  CURL ZIP QUICKMAIL XMLSEC
88                  """
89
90     if bld.env.TARGET_OSX:
91         obj.framework = ['IOKit', 'Foundation']
92
93     obj.source = sources + ' version.cc'
94
95     if bld.env.TARGET_WINDOWS:
96         obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
97         obj.source += ' stack.cpp'
98     if bld.env.BUILD_STATIC:
99         obj.uselib += ' XMLPP'
100
101     obj.target = 'dcpomatic'
102
103     i18n.po_to_mo(os.path.join('src', 'lib'), 'libdcpomatic', bld)
104
105 def pot(bld):
106     i18n.pot(os.path.join('src', 'lib'), sources, 'libdcpomatic')
107
108 def pot_merge(bld):
109     i18n.pot_merge(os.path.join('src', 'lib'), 'libdcpomatic')