summaryrefslogtreecommitdiff
path: root/src/wscript
blob: 62e9b21bc1c0f5037150db8102a80f2de0d6b0c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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/KM_log.h
              asdcp/KM_mutex.h
              asdcp/AS_DCP.h
              asdcp/AS_02.h
              asdcp/Metadata.h
              asdcp/MXF.h
              asdcp/MXFTypes.h
              asdcp/KLV.h
              asdcp/MDD.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')