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.build501
1 files changed, 501 insertions, 0 deletions
diff --git a/src/service/transport/meson.build b/src/service/transport/meson.build
new file mode 100644
index 000000000..1fdc47699
--- /dev/null
+++ b/src/service/transport/meson.build
@@ -0,0 +1,501 @@
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
77libgnunettransporttesting2 = library('gnunettransporttesting2',
78 [
79 'transport_api_traits.c',
80 'transport_api_cmd_connecting_peers.c',
81 'transport_api_cmd_backchannel_check.c',
82 'transport_api_cmd_start_peer.c',
83 'transport_api_cmd_stop_peer.c',
84 'testing_api_cmd_start_peer.c',
85 'testing_api_cmd_stop_peer.c',
86 'transport_api_cmd_send_simple.c',
87 'transport_api_cmd_send_simple_performance.c',
88 'transport-testing2.c',
89 'transport-testing-filenames2.c',
90 'transport-testing-loggers2.c',
91 'transport-testing-main2.c',
92 'transport-testing-send2.c',
93 'transport-testing-communicator.c',
94 ],
95 soversion: '0',
96 version: '0.0.0',
97 dependencies: [libgnunetutil_dep,
98 libgnunettransportcore_dep,
99 libgnunettransportapplication_dep,
100 libgnunetpeerstore_dep,
101 libgnunettesting_dep,
102 libgnunethello_dep],
103 include_directories: [incdir, configuration_inc],
104 install: true,
105 install_dir: get_option('libdir'))
106libgnunettransporttesting2_dep = declare_dependency(link_with : libgnunettransporttesting2)
107
108executable ('gnunet-service-transport',
109 gnunetservicetransport_src,
110 dependencies: [libgnunettransportcommunicator_dep,
111 libgnunetpeerstore_dep,
112 libgnunetstatistics_dep,
113 libgnunethello_dep,
114 libgnunetnat_dep,
115 gcrypt_dep,
116 m_dep,
117 libgnunetutil_dep],
118 include_directories: [incdir, configuration_inc],
119 install: true,
120 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
121
122executable ('gnunet-communicator-unix',
123 gnunetcommunicatorunix_src,
124 dependencies: [libgnunettransportcommunicator_dep,
125 libgnunetpeerstore_dep,
126 libgnunetstatistics_dep,
127 libgnunetnat_dep,
128 gcrypt_dep,
129 libgnunetutil_dep],
130 include_directories: [incdir, configuration_inc],
131 install: true,
132 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
133executable ('gnunet-communicator-udp',
134 gnunetcommunicatorudp_src,
135 dependencies: [libgnunettransportcommunicator_dep,
136 libgnunettransportapplication_dep,
137 libgnunetpeerstore_dep,
138 libgnunetstatistics_dep,
139 libgnunetnat_dep,
140 gcrypt_dep,
141 libgnunetutil_dep],
142 include_directories: [incdir, configuration_inc],
143 install: true,
144 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
145executable ('gnunet-communicator-tcp',
146 gnunetcommunicatortcp_src,
147 dependencies: [libgnunettransportcommunicator_dep,
148 libgnunetpeerstore_dep,
149 libgnunetstatistics_dep,
150 libgnunetnat_dep,
151 gcrypt_dep,
152 libgnunetutil_dep],
153 include_directories: [incdir, configuration_inc],
154 install: true,
155 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
156if quic_dep.found() and get_option('experimental')
157executable ('gnunet-communicator-quic',
158 gnunetcommunicatortcp_src,
159 dependencies: [libgnunettransportcommunicator_dep,
160 libgnunetpeerstore_dep,
161 libgnunetstatistics_dep,
162 libgnunetnat_dep,
163 gcrypt_dep,
164 quic_dep,
165 libgnunetutil_dep],
166 include_directories: [incdir, configuration_inc],
167 install: true,
168 install_dir: get_option('libdir') / 'gnunet' / 'libexec')
169endif
170
171libgnunettesttransport_cmd_simplesend = library('gnunet_test_transport_plugin_cmd_simple_send',
172 ['test_transport_plugin_cmd_simple_send.c'],
173 dependencies: [
174 libgnunetutil_dep,
175 libgnunettransportapplication_dep,
176 libgnunettransporttesting2_dep,
177 libgnunettransportcore_dep,
178 libgnunettesting_dep,
179 libgnunetpeerstore_dep,
180 libgnunetstatistics_dep,
181 libgnunethello_dep,
182 libgnunetarm_dep,
183 libgnunetutil_dep
184 ],
185 include_directories: [incdir, configuration_inc],
186 install: true,
187 install_dir: get_option('libdir')/'gnunet')
188
189libgnunettesttransport_cmd_simplesendbc = library('gnunet_test_transport_plugin_cmd_simple_send_broadcast',
190 ['test_transport_plugin_cmd_simple_send_broadcast.c'],
191 dependencies: [
192 libgnunetutil_dep,
193 libgnunettransportapplication_dep,
194 libgnunettransporttesting2_dep,
195 libgnunettransportcore_dep,
196 libgnunettesting_dep,
197 libgnunetpeerstore_dep,
198 libgnunetstatistics_dep,
199 libgnunethello_dep,
200 libgnunetarm_dep,
201 libgnunetutil_dep
202 ],
203 include_directories: [incdir, configuration_inc],
204 install: true,
205 install_dir: get_option('libdir')/'gnunet')
206
207libgnunettesttransport_cmd_simplesenddv = library('gnunet_test_transport_plugin_cmd_simple_send_dv',
208 ['test_transport_plugin_cmd_simple_send_dv.c'],
209 dependencies: [
210 libgnunetutil_dep,
211 libgnunettransportapplication_dep,
212 libgnunettransporttesting2_dep,
213 libgnunettransportcore_dep,
214 libgnunettesting_dep,
215 libgnunetpeerstore_dep,
216 libgnunetstatistics_dep,
217 libgnunethello_dep,
218 libgnunetarm_dep,
219 libgnunetutil_dep
220 ],
221 include_directories: [incdir, configuration_inc],
222 install: true,
223 install_dir: get_option('libdir')/'gnunet')
224
225libgnunettesttransport_cmd_simplesendperf = library('gnunet_test_transport_plugin_cmd_simple_send_performance',
226 ['test_transport_plugin_cmd_simple_send_performance.c'],
227 dependencies: [
228 libgnunetutil_dep,
229 libgnunettransportapplication_dep,
230 libgnunettransporttesting2_dep,
231 libgnunettransportcore_dep,
232 libgnunettesting_dep,
233 libgnunetpeerstore_dep,
234 libgnunetstatistics_dep,
235 libgnunethello_dep,
236 libgnunetarm_dep,
237 libgnunetutil_dep
238 ],
239 include_directories: [incdir, configuration_inc],
240 install: true,
241 install_dir: get_option('libdir')/'gnunet')
242
243libgnunettesttransport_cmd_udpback = library('gnunet_test_transport_plugin_cmd_udp_backchannel',
244 ['test_transport_plugin_cmd_udp_backchannel.c'],
245 dependencies: [
246 libgnunetutil_dep,
247 libgnunettransporttesting2_dep,
248 libgnunettransportapplication_dep,
249 libgnunettransportcore_dep,
250 libgnunettesting_dep,
251 libgnunetpeerstore_dep,
252 libgnunetstatistics_dep,
253 libgnunethello_dep,
254 libgnunetarm_dep,
255 libgnunetutil_dep
256 ],
257 include_directories: [incdir, configuration_inc],
258 install: true,
259 install_dir: get_option('libdir')/'gnunet')
260
261libgnunettesttransport_cmd_natupnp = library('gnunet_test_transport_plugin_cmd_nat_upnp',
262 ['test_transport_plugin_cmd_nat_upnp.c'],
263 dependencies: [
264 libgnunetutil_dep,
265 libgnunettransportapplication_dep,
266 libgnunettransporttesting2_dep,
267 libgnunettransportcore_dep,
268 libgnunettesting_dep,
269 libgnunetpeerstore_dep,
270 libgnunetstatistics_dep,
271 libgnunethello_dep,
272 libgnunetarm_dep,
273 libgnunetutil_dep
274 ],
275 include_directories: [incdir, configuration_inc],
276 install: true,
277 install_dir: get_option('libdir')/'gnunet')
278
279configure_file(input : 'test_transport_defaults.conf',
280 output : 'test_transport_defaults.conf',
281 copy: true)
282
283foreach p : ['unix', 'tcp', 'udp', 'quic']
284 configure_file(input : 'test_communicator_'+p+'_basic_peer1.conf',
285 output : 'test_communicator_'+p+'_basic_peer1.conf',
286 copy: true)
287 configure_file(input : 'test_communicator_'+p+'_basic_peer2.conf',
288 output : 'test_communicator_'+p+'_basic_peer2.conf',
289 copy: true)
290endforeach
291
292foreach p : ['tcp', 'udp']
293 configure_file(input : 'test_communicator_'+p+'_rekey_peer1.conf',
294 output : 'test_communicator_'+p+'_rekey_peer1.conf',
295 copy: true)
296 configure_file(input : 'test_communicator_'+p+'_rekey_peer2.conf',
297 output : 'test_communicator_'+p+'_rekey_peer2.conf',
298 copy: true)
299endforeach
300
301configure_file(input : 'test_communicator_udp_backchannel_peer1.conf',
302 output : 'test_communicator_udp_backchannel_peer1.conf',
303 copy: true)
304configure_file(input : 'test_communicator_udp_backchannel_peer2.conf',
305 output : 'test_communicator_udp_backchannel_peer2.conf',
306 copy: true)
307
308configure_file(input : 'test_communicator_tcp_bidirect_peer1.conf',
309 output : 'test_communicator_tcp_bidirect_peer1.conf',
310 copy: true)
311configure_file(input : 'test_communicator_tcp_bidirect_peer2.conf',
312 output : 'test_communicator_tcp_bidirect_peer2.conf',
313 copy: true)
314
315testcommunicator_basic_unix = executable('test_communicator_basic-unix',
316 ['test_communicator_basic.c'],
317 dependencies: [
318 libgnunetutil_dep,
319 libgnunettransportapplication_dep,
320 libgnunettransporttesting2_dep,
321 libgnunettransportcore_dep,
322 libgnunettesting_dep,
323 libgnunetpeerstore_dep,
324 libgnunetstatistics_dep,
325 libgnunethello_dep,
326 libgnunetarm_dep,
327 libgnunetutil_dep
328 ],
329 include_directories: [incdir, configuration_inc],
330 install: false)
331testcommunicator_basic_tcp = executable('test_communicator_basic-tcp',
332 ['test_communicator_basic.c'],
333 dependencies: [
334 libgnunetutil_dep,
335 libgnunettransportapplication_dep,
336 libgnunettransporttesting2_dep,
337 libgnunettransportcore_dep,
338 libgnunettesting_dep,
339 libgnunetpeerstore_dep,
340 libgnunetstatistics_dep,
341 libgnunethello_dep,
342 libgnunetarm_dep,
343 libgnunetutil_dep
344 ],
345 include_directories: [incdir, configuration_inc],
346 install: false)
347testcommunicator_basic_udp = executable('test_communicator_basic-udp',
348 ['test_communicator_basic.c'],
349 dependencies: [
350 libgnunetutil_dep,
351 libgnunettransportapplication_dep,
352 libgnunettransporttesting2_dep,
353 libgnunettransportcore_dep,
354 libgnunettesting_dep,
355 libgnunetpeerstore_dep,
356 libgnunetstatistics_dep,
357 libgnunethello_dep,
358 libgnunetarm_dep,
359 libgnunetutil_dep
360 ],
361 include_directories: [incdir, configuration_inc],
362 install: false)
363if quic_dep.found() and get_option('experimental')
364 testcommunicator_basic_quic = executable('test_communicator_basic-quic',
365 ['test_communicator_basic.c'],
366 dependencies: [
367 libgnunetutil_dep,
368 libgnunettransportapplication_dep,
369 libgnunettransporttesting2_dep,
370 libgnunettransportcore_dep,
371 libgnunettesting_dep,
372 libgnunetpeerstore_dep,
373 libgnunetstatistics_dep,
374 libgnunethello_dep,
375 libgnunetarm_dep,
376 libgnunetutil_dep
377 ],
378 include_directories: [incdir, configuration_inc],
379 install: false)
380endif
381
382testcommunicator_rekey_tcp = executable('test_communicator_rekey-tcp',
383 ['test_communicator_basic.c'],
384 dependencies: [
385 libgnunetutil_dep,
386 libgnunettransportapplication_dep,
387 libgnunettransporttesting2_dep,
388 libgnunettransportcore_dep,
389 libgnunettesting_dep,
390 libgnunetpeerstore_dep,
391 libgnunetstatistics_dep,
392 libgnunethello_dep,
393 libgnunetarm_dep,
394 libgnunetutil_dep
395 ],
396 include_directories: [incdir, configuration_inc],
397 install: false)
398
399testcommunicator_rekey_udp = executable('test_communicator_rekey-udp',
400 ['test_communicator_basic.c'],
401 dependencies: [
402 libgnunetutil_dep,
403 libgnunettransportapplication_dep,
404 libgnunettransporttesting2_dep,
405 libgnunettransportcore_dep,
406 libgnunettesting_dep,
407 libgnunetpeerstore_dep,
408 libgnunetstatistics_dep,
409 libgnunethello_dep,
410 libgnunetarm_dep,
411 libgnunetutil_dep
412 ],
413 include_directories: [incdir, configuration_inc],
414 install: false)
415
416testcommunicator_backchannel_udp = executable('test_communicator_backchannel-udp',
417 ['test_communicator_basic.c'],
418 dependencies: [
419 libgnunetutil_dep,
420 libgnunettransportapplication_dep,
421 libgnunettransporttesting2_dep,
422 libgnunettransportcore_dep,
423 libgnunettesting_dep,
424 libgnunetpeerstore_dep,
425 libgnunetstatistics_dep,
426 libgnunethello_dep,
427 libgnunetarm_dep,
428 libgnunetutil_dep
429 ],
430 include_directories: [incdir, configuration_inc],
431 install: false)
432
433testcommunicator_bidirect_tcp = executable('test_communicator_bidirect-tcp',
434 ['test_communicator_basic.c'],
435 dependencies: [
436 libgnunetutil_dep,
437 libgnunettransportapplication_dep,
438 libgnunettransporttesting2_dep,
439 libgnunettransportcore_dep,
440 libgnunettesting_dep,
441 libgnunetpeerstore_dep,
442 libgnunetstatistics_dep,
443 libgnunethello_dep,
444 libgnunetarm_dep,
445 libgnunetutil_dep
446 ],
447 include_directories: [incdir, configuration_inc],
448 install: false)
449
450
451testtransport_test_names = [
452 'test_transport_start_testcase',
453 'test_transport_simple_send_performance',
454 'test_transport_nat_icmp_tcp',
455 'test_transport_nat_upnp',
456 'test_transport_simple_send_string',
457 'test_transport_simple_send',
458 'test_transport_simple_send_broadcast',
459 'test_transport_udp_backchannel',
460 'test_transport_simple_send_dv_circle',
461 'test_transport_simple_send_dv_inverse'
462 ]
463
464foreach t : testtransport_test_names
465
466 test_filename = t + '.sh'
467 test_file = configure_file(input : test_filename,
468 output : test_filename,
469 copy: true)
470
471 if host_machine.system() != 'darwin'
472 test(t, test_file, suite: 'transport', workdir: meson.current_build_dir(), is_parallel: false)
473 endif
474endforeach
475
476test('test_communicator_basic-unix', testcommunicator_basic_unix,
477 workdir: meson.current_build_dir(),
478 suite: ['transport', 'communicator'], is_parallel: false)
479test('test_communicator_basic-tcp', testcommunicator_basic_tcp,
480 workdir: meson.current_build_dir(),
481 suite: ['transport', 'communicator'], is_parallel: false)
482test('test_communicator_basic-udp', testcommunicator_basic_udp,
483 workdir: meson.current_build_dir(),
484 suite: ['transport', 'communicator'], is_parallel: false)
485if quic_dep.found() and get_option('experimental')
486 test('test_communicator_basic-quic', testcommunicator_basic_quic,
487 workdir: meson.current_build_dir(),
488 suite: ['transport', 'communicator'], is_parallel: false)
489endif
490test('test_communicator_rekey-tcp', testcommunicator_rekey_tcp,
491 workdir: meson.current_build_dir(),
492 suite: ['transport', 'communicator'], is_parallel: false)
493test('test_communicator_rekey-udp', testcommunicator_rekey_udp,
494 workdir: meson.current_build_dir(),
495 suite: ['transport', 'communicator'], is_parallel: false)
496test('test_communicator_backchannel-udp', testcommunicator_backchannel_udp,
497 workdir: meson.current_build_dir(),
498 suite: ['transport', 'communicator'], is_parallel: false)
499test('test_communicator_bidirect-tcp', testcommunicator_bidirect_tcp,
500 workdir: meson.current_build_dir(),
501 suite: ['transport', 'communicator'], is_parallel: false)