Rename certificates.{cc,h} -> certificate.{cc,h}.
[libdcp.git] / src / wscript
index 75a161fdf2606a623d930fe466adcb61a40701c3..15d1b7811831e4f2a859f52a1508cdcb04f905a9 100644 (file)
+from waflib import TaskGen
+
 def build(bld):
-    obj = bld(features = 'cxx cxxshlib')
-    obj.name = 'libdcp'
-    obj.target = 'dcp'
-    obj.export_includes = ['.']
-    obj.uselib = 'BOOST_FILESYSTEM OPENSSL SIGC++ LIBXML++ OPENJPEG'
-    obj.use = 'libkumu-libdcp libasdcp-libdcp'
-    obj.source = """
-                 asset.cc
-                 asset_map.cc
-                 cpl_file.cc
-                 dcp.cc        
-                 dcp_time.cc
-                 lut.cc
-                 metadata.cc
-                 mxf_asset.cc
-                 picture_asset.cc
-                 picture_frame.cc
-                 pkl.cc
-                 reel.cc
-                 argb_frame.cc
-                 sound_asset.cc
-                 sound_frame.cc
-                 subtitle_asset.cc
-                 test_mode.cc
-                 types.cc
-                 util.cc
-                 version.cc
-                 xml.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
+              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
+              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_frame.h
+              picture_asset_writer.h
+              raw_convert.h
+              rgb_xyz.h
               reel.h
-              argb_frame.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
+              signer.h
+              smpte_load_font_node.h
+              smpte_subtitle_asset.h
               sound_frame.h
+              sound_asset.h
+              sound_asset_writer.h
+              stereo_picture_asset.h
+              stereo_picture_frame.h
+              subtitle_node.h
               subtitle_asset.h
-              test_mode.h
+              subtitle_string.h
+              transfer_function.h
               types.h
+              util.h
               version.h
-              xml.h
               """
 
-    bld.install_files('${PREFIX}/include/libdcp', headers)
+    # 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)