aboutsummaryrefslogtreecommitdiff
path: root/src/service/transport/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/transport/meson.build')
-rw-r--r--src/service/transport/meson.build491
1 files changed, 491 insertions, 0 deletions
diff --git a/src/service/transport/meson.build b/src/service/transport/meson.build
new file mode 100644
index 000000000..b46496b43
--- /dev/null
+++ b/src/service/transport/meson.build
@@ -0,0 +1,491 @@
1libgnunettransportapplication_src = ['transport_api2_application.c']
2libgnunettransportcore_src = ['transport_api2_core.c']
3libgnunettransportcommunicator_src = ['transport_api2_communication.c']
4libgnunettransportmonitor_src = ['transport_api2_monitor.c']
5
6gnunetservicetransport_src = ['gnunet-service-transport.c']
7gnunetcommunicatortcp_src = ['gnunet-communicator-tcp.c']
8gnunetcommunicatorudp_src = ['gnunet-communicator-udp.c']
9gnunetcommunicatorunix_src = ['gnunet-communicator-unix.c']
10
11configure_file(input : 'transport.conf.in',
12 output : 'transport.conf',
13 configuration : cdata,
14 install: true,
15 install_dir: pkgcfgdir)
16
17configure_file(input : 'gnunet-transport-certificate-creation.in',
18 output : 'gnunet-transport-certificate-creation',
19 configuration : cdata,
20 install: true,
21 install_dir: get_option('bindir'))
22
23if get_option('monolith')
24 foreach p : libgnunettransportapplication_src + libgnunettransportcore_src + libgnunettransportcommunicator_src + libgnunettransportmonitor_src + gnunetservicetransport_src
25 gnunet_src += 'transport/' + p
26 endforeach
27endif
28
29libgnunettransportapplication = library('gnunettransportapplication',
30 libgnunettransportapplication_src,
31 soversion: '0',
32 version: '0.0.0',
33 dependencies: libgnunetutil_dep,
34 include_directories: [incdir, configuration_inc],
35 install: true,
36 install_dir: get_option('libdir'))
37pkg.generate(libgnunettransportapplication, url: 'https://www.gnunet.org',
38 description : 'Provides application APIs for accessing the transport service')
39libgnunettransportapplication_dep = declare_dependency(link_with : libgnunettransportapplication)
40
41libgnunettransportcore = library('gnunettransportcore',
42 libgnunettransportcore_src,
43 soversion: '0',
44 version: '0.0.0',
45 dependencies: libgnunetutil_dep,
46 include_directories: [incdir, configuration_inc],
47 install: true,
48 install_dir: get_option('libdir'))
49pkg.generate(libgnunettransportcore, url: 'https://www.gnunet.org',
50 description : 'Provides core API for accessing the transport service')
51libgnunettransportcore_dep = declare_dependency(link_with : libgnunettransportcore)
52
53libgnunettransportcommunicator = library('gnunettransportcommunicator',
54 libgnunettransportcommunicator_src,
55 soversion: '0',
56 version: '0.0.0',
57 dependencies: libgnunetutil_dep,
58 include_directories: [incdir, configuration_inc],
59 install: true,
60 install_dir: get_option('libdir'))
61pkg.generate(libgnunettransportcommunicator, url: 'https://www.gnunet.org',
62 description : 'Provides communicator API for accessing the transport service')
63libgnunettransportcommunicator_dep = declare_dependency(link_with : libgnunettransportcommunicator)
64
65libgnunettransportmonitor = library('gnunettransportmonitor',
66 libgnunettransportmonitor_src,
67 soversion: '0',
68 version: '0.0.0',
69 dependencies: libgnunetutil_dep,
70 include_directories: [incdir, configuration_inc],
71 install: true,
72 install_dir: get_option('libdir'))
73pkg.generate(libgnunettransportmonitor, url: 'https://www.gnunet.org',
74 description : 'Provides monitor API for accessing the transport service')
75libgnunettransportmonitor_dep = declare_dependency(link_with : libgnunettransportmonitor)
76
77libgnunettestingtransport = library('gnunettestingtransport',
78 [
79 'testing_transport_traits.c'
80 ],
81 soversion: '0',
82 version: '0.0.0',
83 dependencies: [libgnunetutil_dep,
84 libgnunettransportcore_dep,
85 libgnunettransportapplication_dep,
86 libgnunetpeerstore_dep,
87 libgnunettesting_dep,
88 libgnunethello_dep],
89 include_directories: [incdir, configuration_inc],
90 install: true,
91 install_dir: get_option('libdir'))
92libgnunettestingtransport_dep = declare_dependency(link_with : libgnunettestingtransport)
93
94executable ('gnunet-service-transport',
95 gnunetservicetransport_src,
96 dependencies: [libgnunettransportcommunicator_dep,
97 libgnunetpeerstore_dep,
98 libgnunetstatistics_dep,
99 libgnunethello_dep,
100 libgnunetnat_dep,
101 gcrypt_dep,
102 m_dep,
103 libgnunetutil_dep],
104 include_directories: [incdir, configuration_inc],
105 install: true,
106 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
107
108executable ('gnunet-communicator-unix',
109 gnunetcommunicatorunix_src,
110 dependencies: [libgnunettransportcommunicator_dep,
111 libgnunetpeerstore_dep,
112 libgnunetstatistics_dep,
113 libgnunetnat_dep,
114 gcrypt_dep,
115 libgnunetutil_dep],
116 include_directories: [incdir, configuration_inc],
117 install: true,
118 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
119executable ('gnunet-communicator-udp',
120 gnunetcommunicatorudp_src,
121 dependencies: [libgnunettransportcommunicator_dep,
122 libgnunettransportapplication_dep,
123 libgnunetpeerstore_dep,
124 libgnunetstatistics_dep,
125 libgnunetnat_dep,
126 gcrypt_dep,
127 libgnunetutil_dep],
128 include_directories: [incdir, configuration_inc],
129 install: true,
130 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
131executable ('gnunet-communicator-tcp',
132 gnunetcommunicatortcp_src,
133 dependencies: [libgnunettransportcommunicator_dep,
134 libgnunetpeerstore_dep,
135 libgnunetstatistics_dep,
136 libgnunetnat_dep,
137 gcrypt_dep,
138 libgnunetutil_dep],
139 include_directories: [incdir, configuration_inc],
140 install: true,
141 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
142if quic_dep.found() and get_option('experimental')
143executable ('gnunet-communicator-quic',
144 gnunetcommunicatortcp_src,
145 dependencies: [libgnunettransportcommunicator_dep,
146 libgnunetpeerstore_dep,
147 libgnunetstatistics_dep,
148 libgnunetnat_dep,
149 gcrypt_dep,
150 quic_dep,
151 libgnunetutil_dep],
152 include_directories: [incdir, configuration_inc],
153 install: true,
154 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
155endif
156
157if false
158
159libgnunettesttransport_cmd_simplesend = library('gnunet_test_transport_plugin_cmd_simple_send',
160 ['test_transport_plugin_cmd_simple_send.c'],
161 dependencies: [
162 libgnunetutil_dep,
163 libgnunettransportapplication_dep,
164 libgnunettestingtransport_dep,
165 libgnunettransportcore_dep,
166 libgnunettesting_dep,
167 libgnunetpeerstore_dep,
168 libgnunetstatistics_dep,
169 libgnunethello_dep,
170 libgnunetarm_dep,
171 libgnunetutil_dep
172 ],
173 include_directories: [incdir, configuration_inc],
174 install: true,
175 install_dir: get_option('libdir')/'gnunet')
176
177libgnunettesttransport_cmd_simplesendbc = library('gnunet_test_transport_plugin_cmd_simple_send_broadcast',
178 ['test_transport_plugin_cmd_simple_send_broadcast.c'],
179 dependencies: [
180 libgnunetutil_dep,
181 libgnunettransportapplication_dep,
182 libgnunettestingtransport_dep,
183 libgnunettransportcore_dep,
184 libgnunettesting_dep,
185 libgnunetpeerstore_dep,
186 libgnunetstatistics_dep,
187 libgnunethello_dep,
188 libgnunetarm_dep,
189 libgnunetutil_dep
190 ],
191 include_directories: [incdir, configuration_inc],
192 install: true,
193 install_dir: get_option('libdir')/'gnunet')
194
195libgnunettesttransport_cmd_simplesenddv = library('gnunet_test_transport_plugin_cmd_simple_send_dv',
196 ['test_transport_plugin_cmd_simple_send_dv.c'],
197 dependencies: [
198 libgnunetutil_dep,
199 libgnunettransportapplication_dep,
200 libgnunettestingtransport_dep,
201 libgnunettransportcore_dep,
202 libgnunettesting_dep,
203 libgnunetpeerstore_dep,
204 libgnunetstatistics_dep,
205 libgnunethello_dep,
206 libgnunetarm_dep,
207 libgnunetutil_dep
208 ],
209 include_directories: [incdir, configuration_inc],
210 install: true,
211 install_dir: get_option('libdir')/'gnunet')
212
213libgnunettesttransport_cmd_simplesendperf = library('gnunet_test_transport_plugin_cmd_simple_send_performance',
214 ['test_transport_plugin_cmd_simple_send_performance.c'],
215 dependencies: [
216 libgnunetutil_dep,
217 libgnunettransportapplication_dep,
218 libgnunettestingtransport_dep,
219 libgnunettransportcore_dep,
220 libgnunettesting_dep,
221 libgnunetpeerstore_dep,
222 libgnunetstatistics_dep,
223 libgnunethello_dep,
224 libgnunetarm_dep,
225 libgnunetutil_dep
226 ],
227 include_directories: [incdir, configuration_inc],
228 install: true,
229 install_dir: get_option('libdir')/'gnunet')
230
231libgnunettesttransport_cmd_udpback = library('gnunet_test_transport_plugin_cmd_udp_backchannel',
232 ['test_transport_plugin_cmd_udp_backchannel.c'],
233 dependencies: [
234 libgnunetutil_dep,
235 libgnunettestingtransport_dep,
236 libgnunettransportapplication_dep,
237 libgnunettransportcore_dep,
238 libgnunettesting_dep,
239 libgnunetpeerstore_dep,
240 libgnunetstatistics_dep,
241 libgnunethello_dep,
242 libgnunetarm_dep,
243 libgnunetutil_dep
244 ],
245 include_directories: [incdir, configuration_inc],
246 install: true,
247 install_dir: get_option('libdir')/'gnunet')
248
249libgnunettesttransport_cmd_natupnp = library('gnunet_test_transport_plugin_cmd_nat_upnp',
250 ['test_transport_plugin_cmd_nat_upnp.c'],
251 dependencies: [
252 libgnunetutil_dep,
253 libgnunettransportapplication_dep,
254 libgnunettestingtransport_dep,
255 libgnunettransportcore_dep,
256 libgnunettesting_dep,
257 libgnunetpeerstore_dep,
258 libgnunetstatistics_dep,
259 libgnunethello_dep,
260 libgnunetarm_dep,
261 libgnunetutil_dep
262 ],
263 include_directories: [incdir, configuration_inc],
264 install: true,
265 install_dir: get_option('libdir')/'gnunet')
266
267configure_file(input : 'test_transport_defaults.conf',
268 output : 'test_transport_defaults.conf',
269 copy: true)
270
271foreach p : ['unix', 'tcp', 'udp', 'quic']
272 configure_file(input : 'test_communicator_'+p+'_basic_peer1.conf',
273 output : 'test_communicator_'+p+'_basic_peer1.conf',
274 copy: true)
275 configure_file(input : 'test_communicator_'+p+'_basic_peer2.conf',
276 output : 'test_communicator_'+p+'_basic_peer2.conf',
277 copy: true)
278endforeach
279
280foreach p : ['tcp', 'udp']
281 configure_file(input : 'test_communicator_'+p+'_rekey_peer1.conf',
282 output : 'test_communicator_'+p+'_rekey_peer1.conf',
283 copy: true)
284 configure_file(input : 'test_communicator_'+p+'_rekey_peer2.conf',
285 output : 'test_communicator_'+p+'_rekey_peer2.conf',
286 copy: true)
287endforeach
288
289configure_file(input : 'test_communicator_udp_backchannel_peer1.conf',
290 output : 'test_communicator_udp_backchannel_peer1.conf',
291 copy: true)
292configure_file(input : 'test_communicator_udp_backchannel_peer2.conf',
293 output : 'test_communicator_udp_backchannel_peer2.conf',
294 copy: true)
295
296configure_file(input : 'test_communicator_tcp_bidirect_peer1.conf',
297 output : 'test_communicator_tcp_bidirect_peer1.conf',
298 copy: true)
299configure_file(input : 'test_communicator_tcp_bidirect_peer2.conf',
300 output : 'test_communicator_tcp_bidirect_peer2.conf',
301 copy: true)
302
303testcommunicator_basic_unix = executable('test_communicator_basic-unix',
304 ['test_communicator_basic.c'],
305 dependencies: [
306 libgnunetutil_dep,
307 libgnunettransportapplication_dep,
308 libgnunettestingtransport_dep,
309 libgnunettransportcore_dep,
310 libgnunettesting_dep,
311 libgnunetpeerstore_dep,
312 libgnunetstatistics_dep,
313 libgnunethello_dep,
314 libgnunetarm_dep,
315 libgnunetutil_dep
316 ],
317 include_directories: [incdir, configuration_inc],
318 install: false)
319testcommunicator_basic_tcp = executable('test_communicator_basic-tcp',
320 ['test_communicator_basic.c'],
321 dependencies: [
322 libgnunetutil_dep,
323 libgnunettransportapplication_dep,
324 libgnunettestingtransport_dep,
325 libgnunettransportcore_dep,
326 libgnunettesting_dep,
327 libgnunetpeerstore_dep,
328 libgnunetstatistics_dep,
329 libgnunethello_dep,
330 libgnunetarm_dep,
331 libgnunetutil_dep
332 ],
333 include_directories: [incdir, configuration_inc],
334 install: false)
335testcommunicator_basic_udp = executable('test_communicator_basic-udp',
336 ['test_communicator_basic.c'],
337 dependencies: [
338 libgnunetutil_dep,
339 libgnunettransportapplication_dep,
340 libgnunettestingtransport_dep,
341 libgnunettransportcore_dep,
342 libgnunettesting_dep,
343 libgnunetpeerstore_dep,
344 libgnunetstatistics_dep,
345 libgnunethello_dep,
346 libgnunetarm_dep,
347 libgnunetutil_dep
348 ],
349 include_directories: [incdir, configuration_inc],
350 install: false)
351if quic_dep.found() and get_option('experimental')
352 testcommunicator_basic_quic = executable('test_communicator_basic-quic',
353 ['test_communicator_basic.c'],
354 dependencies: [
355 libgnunetutil_dep,
356 libgnunettransportapplication_dep,
357 libgnunettestingtransport_dep,
358 libgnunettransportcore_dep,
359 libgnunettesting_dep,
360 libgnunetpeerstore_dep,
361 libgnunetstatistics_dep,
362 libgnunethello_dep,
363 libgnunetarm_dep,
364 libgnunetutil_dep
365 ],
366 include_directories: [incdir, configuration_inc],
367 install: false)
368endif
369
370testcommunicator_rekey_tcp = executable('test_communicator_rekey-tcp',
371 ['test_communicator_basic.c'],
372 dependencies: [
373 libgnunetutil_dep,
374 libgnunettransportapplication_dep,
375 libgnunettestingtransport_dep,
376 libgnunettransportcore_dep,
377 libgnunettesting_dep,
378 libgnunetpeerstore_dep,
379 libgnunetstatistics_dep,
380 libgnunethello_dep,
381 libgnunetarm_dep,
382 libgnunetutil_dep
383 ],
384 include_directories: [incdir, configuration_inc],
385 install: false)
386
387testcommunicator_rekey_udp = executable('test_communicator_rekey-udp',
388 ['test_communicator_basic.c'],
389 dependencies: [
390 libgnunetutil_dep,
391 libgnunettransportapplication_dep,
392 libgnunettestingtransport_dep,
393 libgnunettransportcore_dep,
394 libgnunettesting_dep,
395 libgnunetpeerstore_dep,
396 libgnunetstatistics_dep,
397 libgnunethello_dep,
398 libgnunetarm_dep,
399 libgnunetutil_dep
400 ],
401 include_directories: [incdir, configuration_inc],
402 install: false)
403
404testcommunicator_backchannel_udp = executable('test_communicator_backchannel-udp',
405 ['test_communicator_basic.c'],
406 dependencies: [
407 libgnunetutil_dep,
408 libgnunettransportapplication_dep,
409 libgnunettestingtransport_dep,
410 libgnunettransportcore_dep,
411 libgnunettesting_dep,
412 libgnunetpeerstore_dep,
413 libgnunetstatistics_dep,
414 libgnunethello_dep,
415 libgnunetarm_dep,
416 libgnunetutil_dep
417 ],
418 include_directories: [incdir, configuration_inc],
419 install: false)
420
421testcommunicator_bidirect_tcp = executable('test_communicator_bidirect-tcp',
422 ['test_communicator_basic.c'],
423 dependencies: [
424 libgnunetutil_dep,
425 libgnunettransportapplication_dep,
426 libgnunettestingtransport_dep,
427 libgnunettransportcore_dep,
428 libgnunettesting_dep,
429 libgnunetpeerstore_dep,
430 libgnunetstatistics_dep,
431 libgnunethello_dep,
432 libgnunetarm_dep,
433 libgnunetutil_dep
434 ],
435 include_directories: [incdir, configuration_inc],
436 install: false)
437
438
439testtransport_test_names = [
440 'test_transport_start_testcase',
441 'test_transport_simple_send_performance',
442 'test_transport_nat_icmp_tcp',
443 'test_transport_nat_upnp',
444 'test_transport_simple_send_string',
445 'test_transport_simple_send',
446 'test_transport_simple_send_broadcast',
447 'test_transport_udp_backchannel',
448 'test_transport_simple_send_dv_circle',
449 'test_transport_simple_send_dv_inverse'
450 ]
451
452foreach t : testtransport_test_names
453
454 test_filename = t + '.sh'
455 test_file = configure_file(input : test_filename,
456 output : test_filename,
457 copy: true)
458
459 if host_machine.system() != 'darwin'
460 test(t, test_file, suite: 'transport', workdir: meson.current_build_dir(), is_parallel: false)
461 endif
462endforeach
463
464test('test_communicator_basic-unix', testcommunicator_basic_unix,
465 workdir: meson.current_build_dir(),
466 suite: ['transport', 'communicator'], is_parallel: false)
467test('test_communicator_basic-tcp', testcommunicator_basic_tcp,
468 workdir: meson.current_build_dir(),
469 suite: ['transport', 'communicator'], is_parallel: false)
470test('test_communicator_basic-udp', testcommunicator_basic_udp,
471 workdir: meson.current_build_dir(),
472 suite: ['transport', 'communicator'], is_parallel: false)
473if quic_dep.found() and get_option('experimental')
474 test('test_communicator_basic-quic', testcommunicator_basic_quic,
475 workdir: meson.current_build_dir(),
476 suite: ['transport', 'communicator'], is_parallel: false)
477endif
478test('test_communicator_rekey-tcp', testcommunicator_rekey_tcp,
479 workdir: meson.current_build_dir(),
480 suite: ['transport', 'communicator'], is_parallel: false)
481test('test_communicator_rekey-udp', testcommunicator_rekey_udp,
482 workdir: meson.current_build_dir(),
483 suite: ['transport', 'communicator'], is_parallel: false)
484test('test_communicator_backchannel-udp', testcommunicator_backchannel_udp,
485 workdir: meson.current_build_dir(),
486 suite: ['transport', 'communicator'], is_parallel: false)
487test('test_communicator_bidirect-tcp', testcommunicator_bidirect_tcp,
488 workdir: meson.current_build_dir(),
489 suite: ['transport', 'communicator'], is_parallel: false)
490
491endif \ No newline at end of file