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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
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_64 or conf.options.target_windows_32:
conf.env.append_value('CXXFLAGS', ['-DASDCP_PLATFORM="win32"', '-DKM_WIN32', '-DWIN32_LEAN_AND_MEAN'])
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-carl'
obj.target = 'kumu-carl'
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-carl'
obj.target = 'asdcp-carl'
obj.uselib = 'OPENSSL BOOST_FILESYSTEM'
obj.use = 'libkumu-carl'
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
DCData_Sequence_Parser.cpp
DCData_ByteStream_Parser.cpp
AtmosSyncChannel_Mixer.cpp
AtmosSyncChannel_Generator.cpp
PCMDataProviders.cpp
SyncEncoder.c
CRC16.c
"""
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-carl/asdcp', headers)
if bld.env.STATIC:
bld.install_files('${PREFIX}/lib', 'libkumu-carl.a')
bld.install_files('${PREFIX}/lib', 'libasdcp-carl.a')
obj = bld(features='cxx cxxprogram')
obj.use = ['libkumu-carl', 'libasdcp-carl']
obj.uselib = "OPENSSL BOOST_FILESYSTEM"
obj.includes = ['asdcp']
obj.source = 'asdcp-wrap.cpp'
obj.target = 'asdcp-wrap'
obj = bld(features='cxx cxxprogram')
obj.use = ['libkumu-carl', 'libasdcp-carl']
obj.uselib = "OPENSSL BOOST_FILESYSTEM"
obj.includes = ['asdcp']
obj.source = 'asdcp-unwrap.cpp'
obj.target = 'asdcp-unwrap'
|