-fix coverity
[oweals/gnunet.git] / src / namestore / Makefile.am
1 # This Makefile.am is in the public domain
2 AM_CPPFLAGS = -I$(top_srcdir)/src/include $(POSTGRESQL_CPPFLAGS)
3
4 plugindir = $(libdir)/gnunet
5
6 pkgcfgdir= $(pkgdatadir)/config.d/
7
8 libexecdir= $(pkglibdir)/libexec/
9
10 pkgcfg_DATA = \
11    namestore.conf
12
13
14 if MINGW
15   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
16 endif
17
18 if USE_COVERAGE
19   AM_CFLAGS = --coverage -O0
20   XLIBS = -lgcov
21 endif
22
23 if HAVE_EXPERIMENTAL
24 FLAT_PLUGIN = libgnunet_plugin_namestore_flat.la
25 if HAVE_TESTING
26 FLAT_TESTS = test_plugin_namestore_flat
27 endif
28 endif
29
30 if HAVE_SQLITE
31 SQLITE_PLUGIN = libgnunet_plugin_namestore_sqlite.la
32 if HAVE_TESTING
33 SQLITE_TESTS = test_plugin_namestore_sqlite
34 endif
35 endif
36
37 if HAVE_POSTGRESQL
38 # postgres doesn't even build yet; thus: experimental!
39 POSTGRES_PLUGIN = libgnunet_plugin_namestore_postgres.la
40 if HAVE_TESTING
41 POSTGRES_TESTS = test_plugin_namestore_postgres
42 endif
43 endif
44
45 # testcases do not even build yet; thus: experimental!
46 if HAVE_TESTING
47 TESTING_TESTS = \
48  test_namestore_api_store.nc \
49  test_namestore_api_store_update.nc \
50  test_namestore_api_lookup_public.nc \
51  test_namestore_api_lookup_private.nc \
52  test_namestore_api_lookup_nick.nc \
53  test_namestore_api_lookup_shadow.nc \
54  test_namestore_api_lookup_shadow_filter.nc \
55  test_namestore_api_remove.nc \
56  test_namestore_api_remove_not_existing_record.nc \
57  test_namestore_api_zone_iteration.nc \
58  test_namestore_api_zone_iteration_nick.nc \
59  test_namestore_api_zone_iteration_specific_zone.nc \
60  test_namestore_api_zone_iteration_stop.nc \
61  test_namestore_api_monitoring.nc \
62  test_namestore_api_monitoring_existing.nc
63 # test_namestore_api_zone_to_name
64 endif
65
66 # Declare .nc (NO-CONCURRENCY) as a test extension so that we can impart
67 # sequential execution order for them
68 TEST_EXTENSIONS = .nc
69 test_namestore_api_store.log: test_namestore_api_store_update.log
70 test_namestore_api_store_update.log: test_namestore_api_lookup_public.log
71 test_namestore_api_lookup_public.log: test_namestore_api_lookup_private.log
72 test_namestore_api_lookup_private.log: test_namestore_api_lookup_nick.log
73 test_namestore_api_lookup_nick.log: test_namestore_api_lookup_shadow.log
74 test_namestore_api_lookup_shadow.log: test_namestore_api_lookup_shadow_filter.log
75 test_namestore_api_lookup_shadow_filter.log: test_namestore_api_remove.log
76 test_namestore_api_remove.log: test_namestore_api_remove_not_existing_record.log
77 test_namestore_api_remove_not_existing_record.log: test_namestore_api_zone_iteration.log
78 test_namestore_api_zone_iteration.log: test_namestore_api_zone_iteration_nick.log
79 test_namestore_api_zone_iteration_nick.log: test_namestore_api_zone_iteration_specific_zone.log
80 test_namestore_api_zone_iteration_specific_zone.log: test_namestore_api_zone_iteration_stop.log
81 test_namestore_api_zone_iteration_stop.log: test_namestore_api_monitoring.log
82 test_namestore_api_monitoring.log: test_namestore_api_monitoring_existing.log
83
84
85 if HAVE_SQLITE
86 check_PROGRAMS = \
87  $(SQLITE_TESTS) \
88  $(POSTGRES_TESTS) \
89  $(FLAT_TESTS) \
90  $(TESTING_TESTS)
91 endif
92
93 if HAVE_MHD
94 if HAVE_JSON
95 REST_PLUGIN=libgnunet_plugin_rest_namestore.la
96 endif
97 endif
98
99 if ENABLE_TEST_RUN
100 AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset XDG_CONFIG_HOME;
101 TESTS = \
102   $(check_PROGRAMS) \
103   $(check_SCRIPTS)
104 endif
105
106 lib_LTLIBRARIES = \
107   libgnunetnamestore.la
108
109
110 libgnunetnamestore_la_SOURCES = \
111   namestore_api.c \
112   namestore_api_monitor.c \
113   namestore.h
114 libgnunetnamestore_la_LIBADD = \
115   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
116   $(top_builddir)/src/statistics/libgnunetstatistics.la \
117   $(top_builddir)/src/dns/libgnunetdnsparser.la \
118   $(top_builddir)/src/util/libgnunetutil.la \
119   $(GN_LIBINTL)
120 libgnunetnamestore_la_LDFLAGS = \
121   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
122   -version-info 0:1:0
123
124 libexec_PROGRAMS = \
125  gnunet-service-namestore
126
127 bin_PROGRAMS = \
128  gnunet-namestore
129
130 if HAVE_MHD
131 libexec_PROGRAMS += \
132  gnunet-namestore-fcfsd
133 endif
134
135
136 gnunet_namestore_SOURCES = \
137  gnunet-namestore.c
138 gnunet_namestore_LDADD = \
139   $(top_builddir)/src/identity/libgnunetidentity.la \
140   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
141   $(top_builddir)/src/util/libgnunetutil.la \
142   libgnunetnamestore.la \
143   $(GN_LIBINTL)
144
145
146 gnunet_namestore_fcfsd_SOURCES = \
147  gnunet-namestore-fcfsd.c
148 gnunet_namestore_fcfsd_LDADD = -lmicrohttpd \
149   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
150   $(top_builddir)/src/identity/libgnunetidentity.la \
151   libgnunetnamestore.la \
152   $(top_builddir)/src/util/libgnunetutil.la \
153   $(GN_LIBINTL)
154
155
156
157 gnunet_service_namestore_SOURCES = \
158  gnunet-service-namestore.c
159
160 gnunet_service_namestore_LDADD = \
161   $(top_builddir)/src/namecache/libgnunetnamecache.la \
162   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
163   $(top_builddir)/src/statistics/libgnunetstatistics.la \
164   $(top_builddir)/src/util/libgnunetutil.la \
165   libgnunetnamestore.la \
166   $(GN_LIBINTL)
167
168
169 plugin_LTLIBRARIES = \
170   $(SQLITE_PLUGIN) \
171   $(POSTGRES_PLUGIN) \
172         $(FLAT_PLUGIN) \
173         $(REST_PLUGIN)
174
175
176
177 libgnunet_plugin_namestore_flat_la_SOURCES = \
178   plugin_namestore_flat.c
179 libgnunet_plugin_namestore_flat_la_LIBADD = \
180   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
181   $(top_builddir)/src/statistics/libgnunetstatistics.la \
182   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
183   $(LTLIBINTL)
184 libgnunet_plugin_namestore_flat_la_LDFLAGS = \
185  $(GN_PLUGIN_LDFLAGS)
186
187
188 libgnunet_plugin_namestore_sqlite_la_SOURCES = \
189   plugin_namestore_sqlite.c
190 libgnunet_plugin_namestore_sqlite_la_LIBADD = \
191   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
192   $(top_builddir)/src/sq/libgnunetsq.la \
193   $(top_builddir)/src/statistics/libgnunetstatistics.la \
194   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
195   $(LTLIBINTL)
196 libgnunet_plugin_namestore_sqlite_la_LDFLAGS = \
197  $(GN_PLUGIN_LDFLAGS)
198
199 libgnunet_plugin_namestore_postgres_la_SOURCES = \
200   plugin_namestore_postgres.c
201 libgnunet_plugin_namestore_postgres_la_LIBADD = \
202   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
203   $(top_builddir)/src/postgres/libgnunetpostgres.la  \
204   $(top_builddir)/src/pq/libgnunetpq.la  \
205   $(top_builddir)/src/statistics/libgnunetstatistics.la \
206   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lpq \
207   $(LTLIBINTL)
208 libgnunet_plugin_namestore_postgres_la_LDFLAGS = \
209  $(GN_PLUGIN_LDFLAGS) $(POSTGRESQL_LDFLAGS)
210
211 libgnunet_plugin_rest_namestore_la_SOURCES = \
212   plugin_rest_namestore.c
213 libgnunet_plugin_rest_namestore_la_LIBADD = \
214   libgnunetnamestore.la \
215   $(top_builddir)/src/rest/libgnunetrest.la \
216   $(top_builddir)/src/identity/libgnunetidentity.la \
217         $(top_builddir)/src/jsonapi/libgnunetjsonapi.la \
218   $(top_builddir)/src/jsonapi/libgnunetjsonapiutils.la \
219   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
220   $(LTLIBINTL) -ljansson -lmicrohttpd
221 libgnunet_plugin_rest_namestore_la_LDFLAGS = \
222  $(GN_PLUGIN_LDFLAGS)
223
224
225 test_namestore_api_store_nc_SOURCES = \
226  test_namestore_api_store.c
227 test_namestore_api_store_nc_LDADD = \
228   $(top_builddir)/src/testing/libgnunettesting.la \
229   $(top_builddir)/src/util/libgnunetutil.la \
230   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
231   libgnunetnamestore.la
232
233 test_namestore_api_store_update_nc_SOURCES = \
234  test_namestore_api_store_update.c
235 test_namestore_api_store_update_nc_LDADD = \
236   $(top_builddir)/src/testing/libgnunettesting.la \
237   $(top_builddir)/src/util/libgnunetutil.la \
238   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
239   $(top_builddir)/src/namecache/libgnunetnamecache.la \
240   libgnunetnamestore.la
241
242 test_namestore_api_lookup_public_nc_SOURCES = \
243  test_namestore_api_lookup_public.c
244 test_namestore_api_lookup_public_nc_LDADD = \
245   $(top_builddir)/src/testing/libgnunettesting.la \
246   $(top_builddir)/src/util/libgnunetutil.la \
247   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
248   $(top_builddir)/src/namecache/libgnunetnamecache.la \
249   libgnunetnamestore.la
250
251 test_namestore_api_lookup_nick_nc_SOURCES = \
252  test_namestore_api_lookup_nick.c
253 test_namestore_api_lookup_nick_nc_LDADD = \
254   $(top_builddir)/src/testing/libgnunettesting.la \
255   $(top_builddir)/src/util/libgnunetutil.la \
256   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
257   $(top_builddir)/src/namecache/libgnunetnamecache.la \
258   libgnunetnamestore.la
259
260 test_namestore_api_lookup_private_nc_SOURCES = \
261  test_namestore_api_lookup_private.c
262 test_namestore_api_lookup_private_nc_LDADD = \
263   $(top_builddir)/src/testing/libgnunettesting.la \
264   $(top_builddir)/src/util/libgnunetutil.la \
265   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
266   $(top_builddir)/src/namecache/libgnunetnamecache.la \
267   libgnunetnamestore.la
268
269 test_namestore_api_lookup_shadow_nc_SOURCES = \
270  test_namestore_api_lookup_shadow.c
271 test_namestore_api_lookup_shadow_nc_LDADD = \
272   $(top_builddir)/src/testing/libgnunettesting.la \
273   $(top_builddir)/src/util/libgnunetutil.la \
274   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
275   $(top_builddir)/src/namecache/libgnunetnamecache.la \
276   libgnunetnamestore.la
277
278 test_namestore_api_lookup_shadow_filter_nc_SOURCES = \
279  test_namestore_api_lookup_shadow_filter.c
280 test_namestore_api_lookup_shadow_filter_nc_LDADD = \
281   $(top_builddir)/src/testing/libgnunettesting.la \
282   $(top_builddir)/src/util/libgnunetutil.la \
283   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
284   $(top_builddir)/src/namecache/libgnunetnamecache.la \
285   libgnunetnamestore.la
286
287 test_namestore_api_remove_nc_SOURCES = \
288  test_namestore_api_remove.c
289 test_namestore_api_remove_nc_LDADD = \
290   $(top_builddir)/src/testing/libgnunettesting.la \
291   $(top_builddir)/src/util/libgnunetutil.la \
292   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
293   libgnunetnamestore.la
294
295 test_namestore_api_remove_not_existing_record_nc_SOURCES = \
296  test_namestore_api_remove_not_existing_record.c
297 test_namestore_api_remove_not_existing_record_nc_LDADD = \
298   $(top_builddir)/src/testing/libgnunettesting.la \
299   $(top_builddir)/src/util/libgnunetutil.la \
300   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
301   libgnunetnamestore.la
302
303 #test_namestore_api_zone_to_name_SOURCES = \
304 # test_namestore_api_zone_to_name.c
305 #test_namestore_api_zone_to_name_LDADD = \
306 #  $(top_builddir)/src/testing/libgnunettesting.la \
307 #  $(top_builddir)/src/util/libgnunetutil.la \
308 #  libgnunetnamestore.la
309
310 test_namestore_api_monitoring_nc_SOURCES = \
311  test_namestore_api_monitoring.c
312 test_namestore_api_monitoring_nc_LDADD = \
313   $(top_builddir)/src/testing/libgnunettesting.la \
314   libgnunetnamestore.la \
315   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
316   $(top_builddir)/src/util/libgnunetutil.la
317
318 test_namestore_api_monitoring_existing_nc_SOURCES = \
319  test_namestore_api_monitoring_existing.c
320 test_namestore_api_monitoring_existing_nc_LDADD = \
321   $(top_builddir)/src/testing/libgnunettesting.la \
322   libgnunetnamestore.la \
323   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
324   $(top_builddir)/src/util/libgnunetutil.la
325
326 test_namestore_api_zone_iteration_nc_SOURCES = \
327  test_namestore_api_zone_iteration.c
328 test_namestore_api_zone_iteration_nc_LDADD = \
329   $(top_builddir)/src/testing/libgnunettesting.la \
330   $(top_builddir)/src/util/libgnunetutil.la \
331   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
332   libgnunetnamestore.la
333
334 test_namestore_api_zone_iteration_nick_nc_SOURCES = \
335  test_namestore_api_zone_iteration_nick.c
336 test_namestore_api_zone_iteration_nick_nc_LDADD = \
337   $(top_builddir)/src/testing/libgnunettesting.la \
338   $(top_builddir)/src/util/libgnunetutil.la \
339   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
340   libgnunetnamestore.la
341
342
343 test_namestore_api_zone_iteration_specific_zone_nc_SOURCES = \
344  test_namestore_api_zone_iteration_specific_zone.c
345 test_namestore_api_zone_iteration_specific_zone_nc_LDADD = \
346   $(top_builddir)/src/testing/libgnunettesting.la \
347   $(top_builddir)/src/util/libgnunetutil.la \
348   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
349   libgnunetnamestore.la
350
351 test_namestore_api_zone_iteration_stop_nc_SOURCES = \
352  test_namestore_api_zone_iteration_stop.c
353 test_namestore_api_zone_iteration_stop_nc_LDADD = \
354   $(top_builddir)/src/testing/libgnunettesting.la \
355   $(top_builddir)/src/util/libgnunetutil.la \
356   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
357   libgnunetnamestore.la
358
359 test_plugin_namestore_flat_SOURCES = \
360  test_plugin_namestore.c
361 test_plugin_namestore_flat_LDADD = \
362  $(top_builddir)/src/testing/libgnunettesting.la \
363  $(top_builddir)/src/util/libgnunetutil.la
364
365 test_plugin_namestore_sqlite_SOURCES = \
366  test_plugin_namestore.c
367 test_plugin_namestore_sqlite_LDADD = \
368  $(top_builddir)/src/testing/libgnunettesting.la \
369  $(top_builddir)/src/util/libgnunetutil.la
370
371 test_plugin_namestore_postgres_SOURCES = \
372  test_plugin_namestore.c
373 test_plugin_namestore_postgres_LDADD = \
374  $(top_builddir)/src/testing/libgnunettesting.la \
375  $(top_builddir)/src/util/libgnunetutil.la
376
377 check_SCRIPTS = \
378   test_namestore_put.sh \
379   test_namestore_lookup.sh \
380   test_namestore_delete.sh
381
382 EXTRA_DIST = \
383   test_namestore_api.conf \
384   test_plugin_namestore_sqlite.conf \
385   test_plugin_namestore_postgres.conf \
386   test_plugin_namestore_flat.conf \
387   test_hostkey \
388   zonefiles/S5I9DSGQVAB5FVV16T3B3CC5H1B2JGL3Q412JBKURME8EKU0600G.zkey \
389   zonefiles/AQ835GVL939H4O8QJQ7GBLPTQC0QAAO91BN7QK01BA63MDSK6I4G.zkey \
390   zonefiles/HGU0A0VCU334DN7F2I9UIUMVQMM7JMSD142LIMNUGTTV9R0CF4EG.zkey \
391   zonefiles/N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey \
392   $(check_SCRIPTS)