def configure(conf):
    conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64')
    # Don't include the micro version number in PACKAGE_VERSION, as
    # this ends up in MXFs and screws up DCP-o-matic's test references
    # every time it changes
    s = conf.env.VERSION.split('.')
    major_minor = '%s.%s.0' % (s[0], s[1])
    conf.env.append_value('CXXFLAGS', '-DPACKAGE_VERSION="%s"' % major_minor)
    if conf.options.target_windows:
        conf.env.append_value('CXXFLAGS', '-DASDCP_PLATFORM="win32"')
        conf.env.append_value('CXXFLAGS', '-DKM_WIN32')
    else:
        conf.env.append_value('CXXFLAGS', '-DASDCP_PLATFORM="linux"')

def build(bld):
    if bld.env.STATIC:
        obj = bld(features='cxx cxxstlib')
    else:
        obj = bld(features='cxx cxxshlib')

    obj.name = 'libkumu-cth'
    obj.target = 'kumu-cth'
    obj.uselib = 'OPENSSL BOOST_FILESYSTEM'
    obj.includes = ['.']
    obj.export_includes = ['.']
    obj.source = """
                 KM_fileio.cpp
                 KM_log.cpp
		 KM_util.cpp
		 KM_xml.cpp
                 KM_tai.cpp
                 KM_prng.cpp
                 """

    if bld.env.STATIC:
        obj = bld(features='cxx cxxstlib')
    else:
        obj = bld(features='cxx cxxshlib')

    obj.name = 'libasdcp-cth'
    obj.target = 'asdcp-cth'
    obj.uselib = 'OPENSSL BOOST_FILESYSTEM'
    obj.use = 'libkumu-cth'
    obj.includes = ['.']
    obj.export_includes = ['.']
    obj.source = """
		 MPEG2_Parser.cpp
                 MPEG.cpp
                 JP2K_Codestream_Parser.cpp
		 JP2K_Sequence_Parser.cpp
                 JP2K.cpp
                 PCM_Parser.cpp
                 Wav.cpp
		 TimedText_Parser.cpp
                 KLV.cpp
                 Dict.cpp
                 MXFTypes.cpp
                 MXF.cpp
		 Index.cpp
                 Metadata.cpp
                 AS_02_JP2K.cpp
                 AS_02_PCM.cpp
                 AS_02_PHDR.cpp
                 AS_02_TimedText.cpp
                 AS_DCP.cpp
                 AS_DCP_MXF.cpp
                 AS_DCP_AES.cpp
                 h__Reader.cpp
                 h__02_Reader.cpp
                 h__Writer.cpp
                 h__02_Writer.cpp
                 AS_DCP_MPEG2.cpp
                 AS_DCP_JP2K.cpp
                 AS_DCP_PCM.cpp
                 AS_DCP_TimedText.cpp
                 AS_DCP_ATMOS.cpp
                 AS_DCP_DCData.cpp
                 PCMParserList.cpp
                 MDD.cpp
                 """

    headers = """
              asdcp/KM_util.h
              asdcp/KM_memio.h
              asdcp/KM_platform.h
              asdcp/KM_error.h
              asdcp/KM_tai.h
              asdcp/KM_fileio.h
              asdcp/KM_prng.h
              asdcp/AS_DCP.h
              """

    bld.install_files('${PREFIX}/include/libasdcp-cth/asdcp', headers)
    if bld.env.STATIC:
        bld.install_files('${PREFIX}/lib', 'libkumu-cth.a')
        bld.install_files('${PREFIX}/lib', 'libasdcp-cth.a')
