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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
libgnunetconversation_src = ['conversation_api.c', 'conversation_api_call.c']
gnunetserviceconversation_src = ['gnunet-service-conversation.c']
gnunetconversationproxy_src = ['gnunet-conversation-proxy.c']
configure_file(input : 'conversation.conf.in',
output : 'conversation.conf',
configuration : cdata,
install: true,
install_dir: pkgcfgdir)
if get_option('monolith')
foreach p : libgnunetconversation_src + gnunetserviceconversation_src
gnunet_src += 'conversation/' + p
endforeach
subdir_done()
endif
libgnunetmicrophone = library('gnunetmicrophone',
['microphone.c'],
soversion: '0',
version: '0.0.0',
dependencies: [libgnunetutil_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir'))
libgnunetmicrophone_dep = declare_dependency(link_with : libgnunetmicrophone)
pkg.generate(libgnunetmicrophone, url: 'https://www.gnunet.org',
description : 'Provides API to access to microphone')
libgnunetspeaker = library('gnunetspeaker',
['speaker.c'],
soversion: '0',
version: '0.0.0',
dependencies: [libgnunetutil_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir'))
libgnunetspeaker_dep = declare_dependency(link_with : libgnunetspeaker)
pkg.generate(libgnunetspeaker, url: 'https://www.gnunet.org',
description : 'Provides API to access to speaker')
libgnunetconversation = library('gnunetconversation',
libgnunetconversation_src,
soversion: '0',
version: '0.0.0',
dependencies: [libgnunetutil_dep,
libgnunetgnsrecord_dep,
libgnunetgns_dep,
libgnunetnamestore_dep,
libgnunetidentity_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir'))
libgnunetconversation_dep = declare_dependency(link_with : libgnunetconversation)
pkg.generate(libgnunetconversation, url: 'https://www.gnunet.org',
description : 'Provides API to access to conversation')
shared_module('gnunet_plugin_gnsrecord_conversation',
['plugin_gnsrecord_conversation.c'],
dependencies: [libgnunetutil_dep,
libgnunetconversation_dep,
libgnunetgns_dep,
libgnunetgnsrecord_dep,
libgnunetidentity_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir')/'gnunet')
executable ('gnunet-conversation',
'gnunet-conversation.c',
dependencies: [libgnunetconversation_dep,
libgnunetgns_dep,
libgnunetgnsrecord_dep,
libgnunetnamestore_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
libgnunetidentity_dep,
libgnunetutil_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('bindir'))
executable ('gnunet-service-conversation',
gnunetserviceconversation_src,
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
libgnunetidentity_dep,
libgnunetcadet_dep],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
helperrecord_src = ['gnunet-helper-audio-record.c']
helperplayback_src = ['gnunet-helper-audio-record.c']
if conversation_backend == 'gst'
helperrecord_src = ['gnunet-helper-audio-record-gst.c']
helperplayback_src = ['gnunet-helper-audio-playback-gst.c']
endif
executable ('gnunet-helper-audio-record',
helperrecord_src,
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
gst_dep,
ogg_dep,
pulse_dep,
opus_dep
],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
executable ('gnunet-helper-audio-playback',
helperplayback_src,
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
gst_dep,
ogg_dep,
pulse_dep,
opus_dep
],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
testconvapi = executable ('test_conversation_api',
['test_conversation_api.c'],
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetidentity_dep,
libgnunettesting_dep,
libgnunetgnsrecord_dep,
libgnunetnamestore_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
testconvapitwo = executable ('test_conversation_api_twocalls',
['test_conversation_api_twocalls.c'],
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetidentity_dep,
libgnunettesting_dep,
libgnunetgnsrecord_dep,
libgnunetnamestore_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
testconvapireject = executable ('test_conversation_api_reject',
['test_conversation_api_reject.c'],
dependencies: [libgnunetconversation_dep,
libgnunetutil_dep,
libgnunetidentity_dep,
libgnunettesting_dep,
libgnunetgnsrecord_dep,
libgnunetnamestore_dep,
libgnunetspeaker_dep,
libgnunetmicrophone_dep,
],
include_directories: [incdir, configuration_inc],
install: true,
install_dir: get_option('libdir') / 'gnunet' / 'libexec')
configure_file(input : 'test_conversation.conf',
output : 'test_conversation.conf',
copy: true,
install: false)
test('test_conversation_api', testconvapi, workdir: meson.current_build_dir(),
suite: 'conversation')
test('test_conversation_api_twocalls', testconvapitwo, workdir: meson.current_build_dir(),
suite: 'conversation')
test('test_conversation_api_reject', testconvapireject, workdir: meson.current_build_dir(),
suite: 'conversation')
|