737726e3f2687fb2f1b50b333f27548767859cb0
[oweals/gnunet.git] / src / util / Makefile.am
1 # This Makefile.am is in the public domain
2 AM_CPPFLAGS = -I$(top_srcdir)/src/include
3
4 plugindir = $(libdir)/gnunet
5
6 libexecdir= $(pkglibdir)/libexec/
7
8 pkgcfgdir= $(pkgdatadir)/config.d/
9
10 dist_pkgcfg_DATA = \
11   util.conf
12
13 pkgcfg_DATA = \
14   resolver.conf
15
16 if MINGW
17 noinst_LTLIBRARIES = \
18   libgnunetutilwin.la
19 libgnunetutilwin_la_SOURCES = \
20   win.c \
21   winproc.c
22 libgnunetutilwin_la_LDFLAGS = \
23   -no-undefined -Wl,--export-all-symbols
24 libgnunetutilwin_la_LIBADD = \
25   -lshell32 -liconv -lstdc++ \
26   -lcomdlg32 -lgdi32 -liphlpapi
27 WINLIB = libgnunetutilwin.la
28 W32CAT = w32cat
29 W32CONSOLEHELPER = gnunet-helper-w32-console
30 endif
31
32 if !MINGW
33  SERVER_CLIENT_UNIX = test_server_with_client_unix
34 endif
35
36 if USE_COVERAGE
37   AM_CFLAGS = --coverage -O0
38   XLIB = -lgcov
39 endif
40
41 w32cat_SOURCES = w32cat.c
42
43 gnunet_helper_w32_console_SOURCES = \
44   gnunet-helper-w32-console.c \
45   gnunet-helper-w32-console.h
46 gnunet_helper_w32_console_LDADD = \
47   libgnunetutil.la
48
49 gnunet_config_diff_SOURCES = \
50  gnunet-config-diff.c
51 gnunet_config_diff_LDADD = \
52  libgnunetutil.la
53
54 test_common_logging_dummy_SOURCES = \
55  test_common_logging_dummy.c
56 test_common_logging_dummy_LDADD = \
57  libgnunetutil.la
58
59 libgnunetutil_la_SOURCES = \
60   bandwidth.c \
61   bio.c \
62   client.c \
63   client_manager.c \
64   common_allocation.c \
65   common_endian.c \
66   common_logging.c \
67   configuration.c \
68   configuration_loader.c \
69   connection.c \
70   container_bloomfilter.c \
71   container_heap.c \
72   container_meta_data.c \
73   container_multihashmap.c \
74   container_multipeermap.c \
75   container_multihashmap32.c \
76   crypto_symmetric.c \
77   crypto_crc.c \
78   crypto_ecc.c \
79   crypto_ecc_dlog.c \
80   crypto_ecc_setup.c \
81   crypto_hash.c \
82   crypto_hash_file.c \
83   crypto_hkdf.c \
84   crypto_kdf.c \
85   crypto_mpi.c \
86   crypto_paillier.c \
87   crypto_random.c \
88   crypto_rsa.c \
89   disk.c \
90   disk_iterator.c \
91   disk.h \
92   getopt.c \
93   getopt_helpers.c \
94   helper.c \
95   load.c \
96   mq.c \
97   network.c \
98   os_installation.c \
99   os_network.c \
100   os_priority.c \
101   peer.c \
102   plugin.c \
103   program.c \
104   resolver_api.c resolver.h \
105   scheduler.c \
106   server.c \
107   server_mst.c \
108   server_nc.c \
109   server_tc.c \
110   service.c \
111   signal.c \
112   strings.c \
113   time.c \
114   socks.c \
115   speedup.c speedup.h
116
117 libgnunetutil_la_LIBADD = \
118   $(GCLIBADD) $(WINLIB) \
119   $(LIBGCRYPT_LIBS) \
120   $(LTLIBICONV) \
121   $(LTLIBINTL) \
122   -lltdl $(Z_LIBS) -lunistring $(XLIB)
123
124 libgnunetutil_la_LDFLAGS = \
125   $(GN_LIB_LDFLAGS) \
126   -version-info 13:0:0
127
128
129 libgnunetutil_taler_wallet_la_SOURCES = \
130   common_allocation.c \
131   common_endian.c \
132   common_logging.c \
133   container_heap.c \
134   container_multihashmap.c \
135   container_multihashmap32.c \
136   crypto_symmetric.c \
137   crypto_crc.c \
138   crypto_ecc.c \
139   crypto_hash.c \
140   crypto_hkdf.c \
141   crypto_kdf.c \
142   crypto_mpi.c \
143   crypto_random.c \
144   crypto_rsa.c \
145   strings.c \
146   time.c
147
148 libgnunetutil_taler_wallet_la_LIBADD = \
149   $(LIBGCRYPT_LIBS) \
150   -lunistring
151
152 libgnunetutil_taler_wallet_la_LDFLAGS = \
153   $(GN_LIB_LDFLAGS) \
154   -version-info 0:0:0
155
156 if HAVE_TESTING
157   GNUNET_ECC = gnunet-ecc
158   GNUNET_SCRYPT = gnunet-scrypt
159 endif
160
161 if TALER_ONLY
162 lib_LTLIBRARIES = libgnunetutil_taler_wallet.la
163 else
164 lib_LTLIBRARIES = libgnunetutil.la
165
166 libexec_PROGRAMS = \
167  gnunet-service-resolver \
168  $(W32CONSOLEHELPER)
169
170 bin_SCRIPTS =\
171  gnunet-qr
172
173 bin_PROGRAMS = \
174  gnunet-resolver \
175  gnunet-config \
176  $(GNUNET_ECC) \
177  $(GNUNET_SCRYPT) \
178  gnunet-uri
179
180 noinst_PROGRAMS = \
181  gnunet-config-diff \
182  $(W32CAT) \
183  test_common_logging_dummy
184
185
186 if ENABLE_TEST_RUN
187 AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;
188 TESTS = $(check_PROGRAMS)
189 endif
190
191 endif
192
193
194 do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
195
196 gnunet-qr: gnunet-qr.py.in Makefile
197         $(do_subst) < gnunet-qr.py.in > gnunet-qr
198         chmod +x gnunet-qr
199
200 gnunet_service_resolver_SOURCES = \
201  gnunet-service-resolver.c
202 gnunet_service_resolver_LDADD = \
203   libgnunetutil.la \
204   $(GN_LIBINTL)
205
206
207 gnunet_resolver_SOURCES = \
208  gnunet-resolver.c
209 gnunet_resolver_LDADD = \
210   libgnunetutil.la \
211   $(GN_LIBINTL)
212
213
214 gnunet_ecc_SOURCES = \
215  gnunet-ecc.c
216 gnunet_ecc_LDADD = \
217   libgnunetutil.la \
218   $(GN_LIBINTL) -lgcrypt
219
220 gnunet_scrypt_SOURCES = \
221  gnunet-scrypt.c
222 gnunet_scrypt_LDADD = \
223   libgnunetutil.la \
224   $(GN_LIBINTL) -lgcrypt
225
226
227 gnunet_config_SOURCES = \
228  gnunet-config.c
229 gnunet_config_LDADD = \
230   libgnunetutil.la \
231   $(GN_LIBINTL)
232
233
234 gnunet_uri_SOURCES = \
235  gnunet-uri.c
236 gnunet_uri_LDADD = \
237   libgnunetutil.la \
238   $(GN_LIBINTL)
239
240 plugin_LTLIBRARIES = \
241   libgnunet_plugin_test.la
242
243 libgnunet_plugin_test_la_SOURCES = \
244   test_plugin_plug.c
245 libgnunet_plugin_test_la_LDFLAGS = \
246  $(GN_PLUGIN_LDFLAGS)
247
248 if HAVE_BENCHMARKS
249  BENCHMARKS = \
250   perf_crypto_hash \
251   perf_crypto_paillier \
252   perf_crypto_symmetric \
253   perf_crypto_asymmetric \
254   perf_malloc
255 endif
256
257 check_PROGRAMS = \
258  test_bio \
259  test_client.nc \
260  test_common_allocation \
261  test_common_endian \
262  test_common_logging \
263  test_configuration \
264  test_container_bloomfilter \
265  test_container_meta_data \
266  test_container_multihashmap \
267  test_container_multihashmap32 \
268  test_container_multipeermap \
269  test_container_heap \
270  test_crypto_symmetric \
271  test_crypto_crc \
272  test_crypto_ecdsa \
273  test_crypto_eddsa \
274  test_crypto_ecdhe \
275  test_crypto_ecdh_eddsa \
276  test_crypto_ecc_dlog \
277  test_crypto_hash \
278  test_crypto_hash_context \
279  test_crypto_hkdf \
280  test_crypto_paillier \
281  test_crypto_random \
282  test_crypto_rsa \
283  test_disk \
284  test_getopt \
285  test_connection.nc \
286  test_connection_addressing.nc \
287  test_connection_receive_cancel.nc \
288  test_connection_timeout.nc \
289  test_connection_timeout_no_connect.nc \
290  test_connection_transmit_cancel.nc \
291  test_mq \
292  test_mq_client.nc \
293  test_os_network \
294  test_peer \
295  test_plugin \
296  test_program \
297  test_resolver_api.nc \
298  test_scheduler \
299  test_scheduler_delay \
300  test_server.nc \
301  test_server_disconnect.nc \
302  test_server_with_client.nc \
303  test_server_mst_interrupt.nc \
304  $(SERVER_CLIENT_UNIX) \
305  test_service \
306  test_strings \
307  test_strings_to_data \
308  test_time \
309  test_speedup \
310  $(BENCHMARKS) \
311  test_os_start_process \
312  test_common_logging_runtime_loglevels
313
314
315 # Declare .nc (NO-CONCURRENCY) as a test extension so that we can impart
316 # sequential execution order for them
317 TEST_EXTENSIONS = .nc
318 test_connection.log: test_client.log
319 test_connection_addressing.log: test_connection.log
320 test_connection_timeout_no_connect.log: test_connection_addressing.log
321 test_connection_transmit_cancel.log: test_connection_timeout_no_connect.log
322 test_connection_receive_cancel.log: test_connection_transmit_cancel.log
323 test_connection_timeout.log: test_connection_receive_cancel.log
324 test_mq_client.log: test_connection_timeout.log
325 test_resolver_api.log: test_mq_client.log
326 test_server.log: test_resolver_api.log
327 test_server_disconnect.log: test_server.log
328 test_server_with_client.log: test_server_disconnect.log
329 test_server_mst_interrupt.log: test_server_with_client.log
330
331 test_bio_SOURCES = \
332  test_bio.c
333 test_bio_LDADD = \
334  libgnunetutil.la
335
336
337 test_os_start_process_SOURCES = \
338  test_os_start_process.c
339 test_os_start_process_LDADD = \
340  libgnunetutil.la
341 test_os_start_process_DEPENDENCIES = \
342  libgnunetutil.la \
343  $(WINCAT)
344
345 test_client_nc_SOURCES = \
346  test_client.c
347 test_client_nc_LDADD = \
348  libgnunetutil.la
349
350 test_common_allocation_SOURCES = \
351  test_common_allocation.c
352 test_common_allocation_LDADD = \
353  libgnunetutil.la
354
355 test_common_endian_SOURCES = \
356  test_common_endian.c
357 test_common_endian_LDADD = \
358  libgnunetutil.la
359
360 test_common_logging_SOURCES = \
361  test_common_logging.c
362 test_common_logging_LDADD = \
363  libgnunetutil.la
364
365 test_common_logging_runtime_loglevels_SOURCES = \
366  test_common_logging_runtime_loglevels.c
367 test_common_logging_runtime_loglevels_LDADD = \
368  libgnunetutil.la
369
370 test_configuration_SOURCES = \
371  test_configuration.c
372 test_configuration_LDADD = \
373  libgnunetutil.la
374
375 test_container_bloomfilter_SOURCES = \
376  test_container_bloomfilter.c
377 test_container_bloomfilter_LDADD = \
378  libgnunetutil.la
379
380 test_container_meta_data_SOURCES = \
381  test_container_meta_data.c
382 test_container_meta_data_LDADD = \
383  libgnunetutil.la -lextractor
384
385 test_container_multihashmap_SOURCES = \
386  test_container_multihashmap.c
387 test_container_multihashmap_LDADD = \
388  libgnunetutil.la
389
390 test_container_multihashmap32_SOURCES = \
391  test_container_multihashmap32.c
392 test_container_multihashmap32_LDADD = \
393  libgnunetutil.la
394
395 test_container_multipeermap_SOURCES = \
396  test_container_multipeermap.c
397 test_container_multipeermap_LDADD = \
398  libgnunetutil.la
399
400 test_container_heap_SOURCES = \
401  test_container_heap.c
402 test_container_heap_LDADD = \
403  libgnunetutil.la
404
405 test_crypto_symmetric_SOURCES = \
406  test_crypto_symmetric.c
407 test_crypto_symmetric_LDADD = \
408  libgnunetutil.la
409
410 test_crypto_crc_SOURCES = \
411  test_crypto_crc.c
412 test_crypto_crc_LDADD = \
413  libgnunetutil.la
414
415 test_crypto_ecdsa_SOURCES = \
416  test_crypto_ecdsa.c
417 test_crypto_ecdsa_LDADD = \
418  libgnunetutil.la \
419  $(LIBGCRYPT_LIBS)
420
421 test_crypto_eddsa_SOURCES = \
422  test_crypto_eddsa.c
423 test_crypto_eddsa_LDADD = \
424  libgnunetutil.la \
425  $(LIBGCRYPT_LIBS)
426
427 test_crypto_ecc_dlog_SOURCES = \
428  test_crypto_ecc_dlog.c
429 test_crypto_ecc_dlog_LDADD = \
430  libgnunetutil.la \
431  $(LIBGCRYPT_LIBS)
432
433 test_crypto_ecdhe_SOURCES = \
434  test_crypto_ecdhe.c
435 test_crypto_ecdhe_LDADD = \
436  libgnunetutil.la \
437  $(LIBGCRYPT_LIBS)
438
439 test_crypto_ecdh_eddsa_SOURCES = \
440  test_crypto_ecdh_eddsa.c
441 test_crypto_ecdh_eddsa_LDADD = \
442  libgnunetutil.la \
443  $(LIBGCRYPT_LIBS)
444
445 test_crypto_hash_SOURCES = \
446  test_crypto_hash.c
447 test_crypto_hash_LDADD = \
448  libgnunetutil.la
449
450 test_crypto_hash_context_SOURCES = \
451  test_crypto_hash_context.c
452 test_crypto_hash_context_LDADD = \
453  libgnunetutil.la
454
455 test_crypto_hkdf_SOURCES = \
456  test_crypto_hkdf.c
457 test_crypto_hkdf_LDADD = \
458  libgnunetutil.la
459
460 test_crypto_paillier_SOURCES = \
461  test_crypto_paillier.c
462 test_crypto_paillier_LDADD = \
463  $(LIBGCRYPT_LIBS) \
464  libgnunetutil.la
465
466 test_crypto_random_SOURCES = \
467  test_crypto_random.c
468 test_crypto_random_LDADD = \
469  libgnunetutil.la
470
471 test_crypto_rsa_SOURCES = \
472  test_crypto_rsa.c
473 test_crypto_rsa_LDADD = \
474  libgnunetutil.la
475
476 test_disk_SOURCES = \
477  test_disk.c
478 test_disk_LDADD = \
479  libgnunetutil.la
480
481 test_getopt_SOURCES = \
482  test_getopt.c
483 test_getopt_LDADD = \
484  libgnunetutil.la
485
486 test_connection_nc_SOURCES = \
487  test_connection.c
488 test_connection_nc_LDADD = \
489  libgnunetutil.la
490
491 test_connection_addressing_nc_SOURCES = \
492  test_connection_addressing.c
493 test_connection_addressing_nc_LDADD = \
494  libgnunetutil.la
495
496 test_connection_receive_cancel_nc_SOURCES = \
497  test_connection_receive_cancel.c
498 test_connection_receive_cancel_nc_LDADD = \
499  libgnunetutil.la
500
501 test_connection_timeout_nc_SOURCES = \
502  test_connection_timeout.c
503 test_connection_timeout_nc_LDADD = \
504  libgnunetutil.la
505
506 test_connection_timeout_no_connect_nc_SOURCES = \
507  test_connection_timeout_no_connect.c
508 test_connection_timeout_no_connect_nc_LDADD = \
509  libgnunetutil.la
510
511 test_connection_transmit_cancel_nc_SOURCES = \
512  test_connection_transmit_cancel.c
513 test_connection_transmit_cancel_nc_LDADD = \
514  libgnunetutil.la
515
516 test_mq_SOURCES = \
517  test_mq.c
518 test_mq_LDADD = \
519  libgnunetutil.la
520
521 test_mq_client_nc_SOURCES = \
522  test_mq_client.c
523 test_mq_client_nc_LDADD = \
524  libgnunetutil.la
525
526 test_os_network_SOURCES = \
527  test_os_network.c
528 test_os_network_LDADD = \
529  libgnunetutil.la
530
531 test_peer_SOURCES = \
532  test_peer.c
533 test_peer_LDADD = \
534  libgnunetutil.la -lgcrypt
535
536 test_plugin_SOURCES = \
537  test_plugin.c
538 test_plugin_LDADD = \
539  libgnunetutil.la
540
541 test_program_SOURCES = \
542  test_program.c
543 test_program_LDADD = \
544  libgnunetutil.la
545
546 test_resolver_api_nc_SOURCES = \
547  test_resolver_api.c
548 test_resolver_api_nc_LDADD = \
549  libgnunetutil.la
550
551 test_scheduler_SOURCES = \
552  test_scheduler.c
553 test_scheduler_LDADD = \
554  libgnunetutil.la
555
556 test_scheduler_delay_SOURCES = \
557  test_scheduler_delay.c
558 test_scheduler_delay_LDADD = \
559  libgnunetutil.la
560
561 test_server_mst_interrupt_nc_SOURCES = \
562  test_server_mst_interrupt.c
563 test_server_mst_interrupt_nc_LDADD = \
564  libgnunetutil.la
565
566 test_server_nc_SOURCES = \
567  test_server.c
568 test_server_nc_LDADD = \
569  libgnunetutil.la
570
571 test_server_disconnect_nc_SOURCES = \
572  test_server_disconnect.c
573 test_server_disconnect_nc_LDADD = \
574  libgnunetutil.la
575
576 test_server_with_client_nc_SOURCES = \
577  test_server_with_client.c
578 test_server_with_client_nc_LDADD = \
579  libgnunetutil.la
580
581 test_server_with_client_unix_SOURCES = \
582  test_server_with_client_unix.c
583 test_server_with_client_unix_LDADD = \
584  libgnunetutil.la
585
586
587 test_service_SOURCES = \
588  test_service.c
589 test_service_LDADD = \
590  libgnunetutil.la
591
592 test_strings_SOURCES = \
593  test_strings.c
594 test_strings_LDADD = \
595  libgnunetutil.la
596
597
598 test_strings_to_data_SOURCES = \
599  test_strings_to_data.c
600 test_strings_to_data_LDADD = \
601  libgnunetutil.la
602
603
604 test_time_SOURCES = \
605  test_time.c
606 test_time_LDADD = \
607  libgnunetutil.la
608
609 test_speedup_SOURCES = \
610  test_speedup.c
611 test_speedup_LDADD = \
612  libgnunetutil.la
613
614 perf_crypto_hash_SOURCES = \
615  perf_crypto_hash.c
616 perf_crypto_hash_LDADD = \
617  libgnunetutil.la
618
619 perf_crypto_symmetric_SOURCES = \
620  perf_crypto_symmetric.c
621 perf_crypto_symmetric_LDADD = \
622  libgnunetutil.la
623
624 perf_crypto_asymmetric_SOURCES = \
625  perf_crypto_asymmetric.c
626 perf_crypto_asymmetric_LDADD = \
627  libgnunetutil.la
628
629 perf_crypto_paillier_SOURCES = \
630  perf_crypto_paillier.c
631 perf_crypto_paillier_LDADD = \
632  libgnunetutil.la \
633  -lgcrypt
634
635 perf_malloc_SOURCES = \
636  perf_malloc.c
637 perf_malloc_LDADD = \
638  libgnunetutil.la
639
640
641 EXTRA_DIST = \
642   test_configuration_data.conf \
643   test_program_data.conf \
644   test_resolver_api_data.conf \
645   test_service_data.conf \
646   test_speedup_data.conf \
647   gnunet-qr.py.in