X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwscript;h=6a2be8943074c38c41532a88fdc099de2ebca447;hb=5dd999eb0960ed4db25e98f2c2a5e4da2de2ced9;hp=904b367da57ad6d300d402a940f24eb9343c455e;hpb=827901db3d834465b1121c9f8041b9faf4923ec9;p=libdcp.git diff --git a/src/wscript b/src/wscript index 904b367d..6a2be894 100644 --- a/src/wscript +++ b/src/wscript @@ -1,84 +1,148 @@ -def build(bld): - if bld.env.STATIC: - obj = bld(features = 'cxx cxxstlib') - else: - obj = bld(features = 'cxx cxxshlib') +from waflib import TaskGen - obj.name = 'libdcp' - obj.target = 'dcp' - obj.export_includes = ['.'] - obj.uselib = 'BOOST_FILESYSTEM BOOST_SIGNALS2 BOOST_DATETIME OPENSSL SIGC++ LIBXML++ OPENJPEG CXML XMLSEC1' - obj.use = 'libkumu-libdcp libasdcp-libdcp' - obj.source = """ - argb_frame.cc - asset.cc - certificates.cc - colour_matrix.cc - cpl.cc - dcp.cc - dcp_time.cc - gamma_lut.cc - image.cc - kdm.cc - metadata.cc - mxf_asset.cc - picture_asset.cc - picture_asset_writer.cc - picture_frame.cc - rec709_linearised_gamma_lut.cc - reel.cc - rgb_xyz.cc - signer.cc - signer_chain.cc - sound_asset.cc - sound_frame.cc - srgb_linearised_gamma_lut.cc - subtitle_asset.cc - types.cc - util.cc - version.cc - xyz_frame.cc - parse/asset_map.cc - parse/cpl.cc - parse/pkl.cc - parse/subtitle.cc - """ +def build(bld): + source = """ + asset.cc + certificate_chain.cc + certificate.cc + colour_conversion.cc + colour_matrix.cc + cpl.cc + data.cc + dcp.cc + dcp_time.cc + decrypted_kdm.cc + decrypted_kdm_key.cc + encrypted_kdm.cc + exceptions.cc + file.cc + font_asset.cc + font_node.cc + gamma_transfer_function.cc + interop_load_font_node.cc + interop_subtitle_asset.cc + key.cc + local_time.cc + metadata.cc + modified_gamma_transfer_function.cc + mono_picture_asset.cc + mono_picture_asset_writer.cc + mono_picture_frame.cc + mxf.cc + asset_writer.cc + object.cc + openjpeg_image.cc + picture_asset.cc + picture_asset_writer.cc + reel.cc + reel_asset.cc + reel_mono_picture_asset.cc + reel_mxf.cc + reel_picture_asset.cc + reel_sound_asset.cc + reel_stereo_picture_asset.cc + reel_subtitle_asset.cc + rgb_xyz.cc + smpte_load_font_node.cc + smpte_subtitle_asset.cc + sound_asset.cc + sound_asset_writer.cc + sound_frame.cc + stereo_picture_asset.cc + stereo_picture_asset_writer.cc + stereo_picture_frame.cc + subtitle_node.cc + subtitle_asset.cc + subtitle_string.cc + text_node.cc + transfer_function.cc + types.cc + util.cc + version.cc + """ headers = """ asset.h - certificates.h + certificate_chain.h + certificate.h + chromaticity.h + colour_conversion.h colour_matrix.h cpl.h dcp.h dcp_time.h + data.h + decrypted_kdm.h + decrypted_kdm_key.h + encrypted_kdm.h exceptions.h - gamma_lut.h - image.h - kdm.h - lut.h - lut_cache.h + font_asset.h + gamma_transfer_function.h + interop_load_font_node.h + interop_subtitle_asset.h + key.h + load_font_node.h + local_time.h metadata.h - mxf_asset.h + mono_picture_asset.h + mono_picture_frame.h + modified_gamma_transfer_function.h + mxf.h + asset_writer.h + object.h + openjpeg_image.h picture_asset.h picture_asset_writer.h - picture_frame.h + raw_convert.h rgb_xyz.h - rec709_linearised_gamma_lut.h reel.h - argb_frame.h - signer.h - signer_chain.h - sound_asset.h + reel_asset.h + reel_mono_picture_asset.h + reel_mxf.h + reel_picture_asset.h + reel_sound_asset.h + reel_stereo_picture_asset.h + reel_subtitle_asset.h + ref.h + smpte_load_font_node.h + smpte_subtitle_asset.h sound_frame.h - srgb_linearised_gamma_lut.h + sound_asset.h + sound_asset_writer.h + stereo_picture_asset.h + stereo_picture_frame.h + subtitle_node.h subtitle_asset.h + subtitle_string.h + transfer_function.h types.h util.h version.h - xyz_frame.h """ - bld.install_files('${PREFIX}/include/libdcp', headers) + # Main library if bld.env.STATIC: - bld.install_files('${PREFIX}/lib', 'libdcp.a') + obj = bld(features='cxx cxxstlib') + else: + obj = bld(features='cxx cxxshlib') + obj.name = 'libdcp%s' % bld.env.API_VERSION + obj.target = 'dcp%s' % bld.env.API_VERSION + obj.export_includes = ['.'] + obj.uselib = 'BOOST_FILESYSTEM BOOST_SIGNALS2 BOOST_DATETIME OPENSSL SIGC++ LIBXML++ OPENJPEG CXML XMLSEC1' + obj.use = 'libkumu-libdcp%s libasdcp-libdcp%s' % (bld.env.API_VERSION, bld.env.API_VERSION) + obj.source = source + + # Library for gcov + if bld.is_defined('HAVE_GCOV'): + obj = bld(features='cxx cxxstlib') + obj.name = 'libdcp%s_gcov' % bld.env.API_VERSION + obj.target = 'dcp%s_gcov' % bld.env.API_VERSION + obj.export_includes = ['.'] + obj.uselib = 'BOOST_FILESYSTEM BOOST_SIGNALS2 BOOST_DATETIME OPENSSL SIGC++ LIBXML++ OPENJPEG CXML XMLSEC1' + obj.use = 'libkumu-libdcp%s libasdcp-libdcp%s' % (bld.env.API_VERSION, bld.env.API_VERSION) + obj.source = source + obj.cppflags = ['-fprofile-arcs', '-ftest-coverage', '-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0'] + bld.install_files('${PREFIX}/include/libdcp%s/dcp' % bld.env.API_VERSION, headers) + if bld.env.STATIC: + bld.install_files('${PREFIX}/lib', 'libdcp%s.a' % bld.env.API_VERSION)