Rename certificates.{cc,h} -> certificate.{cc,h}.
[libdcp.git] / src / wscript
index 6b030e35a26ea807c8c4f5df445337d62c66981e..15d1b7811831e4f2a859f52a1508cdcb04f905a9 100644 (file)
 from waflib import TaskGen
 
 def build(bld):
-    if bld.env.STATIC:
-        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 = """
-                 argb_frame.cc
-                 asset.cc
-                 certificate_chain.cc
-                 certificates.cc
-                 colour_matrix.cc
-                 content.cc
-                 cpl.cc
-                 dcp.cc        
-                 dcp_time.cc
-                 decrypted_kdm.cc
-                 decrypted_kdm_key.cc
-                 encrypted_kdm.cc
-                 exceptions.cc
-                 file.cc
-                 font.cc
-                 gamma_lut.cc
-                 image.cc
-                 interop_load_font.cc
-                 interop_subtitle_content.cc
-                 key.cc
-                 local_time.cc
-                 metadata.cc
-                 mono_picture_mxf.cc
-                 mono_picture_mxf_writer.cc
-                 mono_picture_frame.cc
-                 mxf.cc
-                 mxf_writer.cc
-                 object.cc
-                 picture_mxf.cc
-                 picture_mxf_writer.cc
-                 reel.cc
-                 reel_asset.cc
-                 reel_mono_picture_asset.cc
-                 reel_mxf_asset.cc
-                 reel_picture_asset.cc
-                 reel_sound_asset.cc
-                 reel_stereo_picture_asset.cc
-                 reel_subtitle_asset.cc
-                 rgb_xyz.cc
-                 signer.cc
-                 smpte_load_font.cc
-                 smpte_subtitle_content.cc
-                 sound_mxf.cc
-                 sound_mxf_writer.cc
-                 sound_frame.cc
-                 stereo_picture_mxf.cc
-                 stereo_picture_mxf_writer.cc
-                 stereo_picture_frame.cc
-                 subtitle.cc
-                 subtitle_content.cc
-                 subtitle_string.cc
-                 text.cc
-                 types.cc
-                 util.cc
-                 version.cc
-                 xyz_frame.cc
-                 """
+    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
+             signer.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
               certificate_chain.h
-              certificates.h
+              certificate.h
+              chromaticity.h
+              colour_conversion.h
               colour_matrix.h
               cpl.h
-              content.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
+              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
-              lut_cache.h
               metadata.h
-              mono_picture_mxf.h
+              mono_picture_asset.h
               mono_picture_frame.h
+              modified_gamma_transfer_function.h
               mxf.h
-              mxf_writer.h
+              asset_writer.h
               object.h
-              picture_mxf.h
-              picture_mxf_writer.h
+              openjpeg_image.h
+              picture_asset.h
+              picture_asset_writer.h
               raw_convert.h
               rgb_xyz.h
               reel.h
               reel_asset.h
               reel_mono_picture_asset.h
-              reel_mxf_asset.h
+              reel_mxf.h
               reel_picture_asset.h
               reel_sound_asset.h
               reel_stereo_picture_asset.h
               reel_subtitle_asset.h
               ref.h
-              argb_frame.h
               signer.h
+              smpte_load_font_node.h
+              smpte_subtitle_asset.h
               sound_frame.h
-              sound_mxf.h
-              sound_mxf_writer.h
-              stereo_picture_mxf.h
+              sound_asset.h
+              sound_asset_writer.h
+              stereo_picture_asset.h
               stereo_picture_frame.h
-              subtitle.h
-              subtitle_content.h
+              subtitle_node.h
+              subtitle_asset.h
               subtitle_string.h
+              transfer_function.h
               types.h
               util.h
               version.h
-              xyz_frame.h
               """
 
+    # Main library
+    if bld.env.STATIC:
+        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)