Merge remote-tracking branch 'origin/master' into credentials
[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/util/libgnunetutil.la \
118   $(GN_LIBINTL)
119 libgnunetnamestore_la_LDFLAGS = \
120   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
121   -version-info 0:1:0
122
123 libexec_PROGRAMS = \
124  gnunet-service-namestore
125
126 bin_PROGRAMS = \
127  gnunet-namestore
128
129 if HAVE_MHD
130 libexec_PROGRAMS += \
131  gnunet-namestore-fcfsd
132 endif
133
134
135 gnunet_namestore_SOURCES = \
136  gnunet-namestore.c
137 gnunet_namestore_LDADD = \
138   $(top_builddir)/src/identity/libgnunetidentity.la \
139   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
140   $(top_builddir)/src/util/libgnunetutil.la \
141   libgnunetnamestore.la \
142   $(GN_LIBINTL)
143
144
145 gnunet_namestore_fcfsd_SOURCES = \
146  gnunet-namestore-fcfsd.c
147 gnunet_namestore_fcfsd_LDADD = -lmicrohttpd \
148   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
149   $(top_builddir)/src/identity/libgnunetidentity.la \
150   libgnunetnamestore.la \
151   $(top_builddir)/src/util/libgnunetutil.la \
152   $(GN_LIBINTL)
153
154
155
156 gnunet_service_namestore_SOURCES = \
157  gnunet-service-namestore.c
158
159 gnunet_service_namestore_LDADD = \
160   $(top_builddir)/src/namecache/libgnunetnamecache.la \
161   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
162   $(top_builddir)/src/statistics/libgnunetstatistics.la \
163   $(top_builddir)/src/util/libgnunetutil.la \
164   libgnunetnamestore.la \
165   $(GN_LIBINTL)
166
167
168 plugin_LTLIBRARIES = \
169   $(SQLITE_PLUGIN) \
170   $(POSTGRES_PLUGIN) \
171         $(FLAT_PLUGIN) \
172         $(REST_PLUGIN)
173
174
175
176 libgnunet_plugin_namestore_flat_la_SOURCES = \
177   plugin_namestore_flat.c
178 libgnunet_plugin_namestore_flat_la_LIBADD = \
179   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
180   $(top_builddir)/src/statistics/libgnunetstatistics.la \
181   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
182   $(LTLIBINTL)
183 libgnunet_plugin_namestore_flat_la_LDFLAGS = \
184  $(GN_PLUGIN_LDFLAGS)
185
186
187 libgnunet_plugin_namestore_sqlite_la_SOURCES = \
188   plugin_namestore_sqlite.c
189 libgnunet_plugin_namestore_sqlite_la_LIBADD = \
190   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
191   $(top_builddir)/src/sq/libgnunetsq.la \
192   $(top_builddir)/src/statistics/libgnunetstatistics.la \
193   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
194   $(LTLIBINTL)
195 libgnunet_plugin_namestore_sqlite_la_LDFLAGS = \
196  $(GN_PLUGIN_LDFLAGS)
197
198 libgnunet_plugin_namestore_postgres_la_SOURCES = \
199   plugin_namestore_postgres.c
200 libgnunet_plugin_namestore_postgres_la_LIBADD = \
201   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la  \
202   $(top_builddir)/src/pq/libgnunetpq.la  \
203   $(top_builddir)/src/statistics/libgnunetstatistics.la \
204   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lpq \
205   $(LTLIBINTL)
206 libgnunet_plugin_namestore_postgres_la_LDFLAGS = \
207  $(GN_PLUGIN_LDFLAGS) $(POSTGRESQL_LDFLAGS)
208
209 libgnunet_plugin_rest_namestore_la_SOURCES = \
210   plugin_rest_namestore.c
211 libgnunet_plugin_rest_namestore_la_LIBADD = \
212   libgnunetnamestore.la \
213   $(top_builddir)/src/rest/libgnunetrest.la \
214   $(top_builddir)/src/identity/libgnunetidentity.la \
215         $(top_builddir)/src/jsonapi/libgnunetjsonapi.la \
216   $(top_builddir)/src/jsonapi/libgnunetjsonapiutils.la \
217   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
218   $(LTLIBINTL) -ljansson -lmicrohttpd
219 libgnunet_plugin_rest_namestore_la_LDFLAGS = \
220  $(GN_PLUGIN_LDFLAGS)
221
222
223 test_namestore_api_store_nc_SOURCES = \
224  test_namestore_api_store.c
225 test_namestore_api_store_nc_LDADD = \
226   $(top_builddir)/src/testing/libgnunettesting.la \
227   $(top_builddir)/src/util/libgnunetutil.la \
228   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
229   libgnunetnamestore.la
230
231 test_namestore_api_store_update_nc_SOURCES = \
232  test_namestore_api_store_update.c
233 test_namestore_api_store_update_nc_LDADD = \
234   $(top_builddir)/src/testing/libgnunettesting.la \
235   $(top_builddir)/src/util/libgnunetutil.la \
236   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
237   $(top_builddir)/src/namecache/libgnunetnamecache.la \
238   libgnunetnamestore.la
239
240 test_namestore_api_lookup_public_nc_SOURCES = \
241  test_namestore_api_lookup_public.c
242 test_namestore_api_lookup_public_nc_LDADD = \
243   $(top_builddir)/src/testing/libgnunettesting.la \
244   $(top_builddir)/src/util/libgnunetutil.la \
245   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
246   $(top_builddir)/src/namecache/libgnunetnamecache.la \
247   libgnunetnamestore.la
248
249 test_namestore_api_lookup_nick_nc_SOURCES = \
250  test_namestore_api_lookup_nick.c
251 test_namestore_api_lookup_nick_nc_LDADD = \
252   $(top_builddir)/src/testing/libgnunettesting.la \
253   $(top_builddir)/src/util/libgnunetutil.la \
254   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
255   $(top_builddir)/src/namecache/libgnunetnamecache.la \
256   libgnunetnamestore.la
257
258 test_namestore_api_lookup_private_nc_SOURCES = \
259  test_namestore_api_lookup_private.c
260 test_namestore_api_lookup_private_nc_LDADD = \
261   $(top_builddir)/src/testing/libgnunettesting.la \
262   $(top_builddir)/src/util/libgnunetutil.la \
263   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
264   $(top_builddir)/src/namecache/libgnunetnamecache.la \
265   libgnunetnamestore.la
266
267 test_namestore_api_lookup_shadow_nc_SOURCES = \
268  test_namestore_api_lookup_shadow.c
269 test_namestore_api_lookup_shadow_nc_LDADD = \
270   $(top_builddir)/src/testing/libgnunettesting.la \
271   $(top_builddir)/src/util/libgnunetutil.la \
272   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
273   $(top_builddir)/src/namecache/libgnunetnamecache.la \
274   libgnunetnamestore.la
275
276 test_namestore_api_lookup_shadow_filter_nc_SOURCES = \
277  test_namestore_api_lookup_shadow_filter.c
278 test_namestore_api_lookup_shadow_filter_nc_LDADD = \
279   $(top_builddir)/src/testing/libgnunettesting.la \
280   $(top_builddir)/src/util/libgnunetutil.la \
281   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
282   $(top_builddir)/src/namecache/libgnunetnamecache.la \
283   libgnunetnamestore.la
284
285 test_namestore_api_remove_nc_SOURCES = \
286  test_namestore_api_remove.c
287 test_namestore_api_remove_nc_LDADD = \
288   $(top_builddir)/src/testing/libgnunettesting.la \
289   $(top_builddir)/src/util/libgnunetutil.la \
290   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
291   libgnunetnamestore.la
292
293 test_namestore_api_remove_not_existing_record_nc_SOURCES = \
294  test_namestore_api_remove_not_existing_record.c
295 test_namestore_api_remove_not_existing_record_nc_LDADD = \
296   $(top_builddir)/src/testing/libgnunettesting.la \
297   $(top_builddir)/src/util/libgnunetutil.la \
298   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
299   libgnunetnamestore.la
300
301 #test_namestore_api_zone_to_name_SOURCES = \
302 # test_namestore_api_zone_to_name.c
303 #test_namestore_api_zone_to_name_LDADD = \
304 #  $(top_builddir)/src/testing/libgnunettesting.la \
305 #  $(top_builddir)/src/util/libgnunetutil.la \
306 #  libgnunetnamestore.la
307
308 test_namestore_api_monitoring_nc_SOURCES = \
309  test_namestore_api_monitoring.c
310 test_namestore_api_monitoring_nc_LDADD = \
311   $(top_builddir)/src/testing/libgnunettesting.la \
312   libgnunetnamestore.la \
313   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
314   $(top_builddir)/src/util/libgnunetutil.la
315
316 test_namestore_api_monitoring_existing_nc_SOURCES = \
317  test_namestore_api_monitoring_existing.c
318 test_namestore_api_monitoring_existing_nc_LDADD = \
319   $(top_builddir)/src/testing/libgnunettesting.la \
320   libgnunetnamestore.la \
321   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
322   $(top_builddir)/src/util/libgnunetutil.la
323
324 test_namestore_api_zone_iteration_nc_SOURCES = \
325  test_namestore_api_zone_iteration.c
326 test_namestore_api_zone_iteration_nc_LDADD = \
327   $(top_builddir)/src/testing/libgnunettesting.la \
328   $(top_builddir)/src/util/libgnunetutil.la \
329   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
330   libgnunetnamestore.la
331
332 test_namestore_api_zone_iteration_nick_nc_SOURCES = \
333  test_namestore_api_zone_iteration_nick.c
334 test_namestore_api_zone_iteration_nick_nc_LDADD = \
335   $(top_builddir)/src/testing/libgnunettesting.la \
336   $(top_builddir)/src/util/libgnunetutil.la \
337   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
338   libgnunetnamestore.la
339
340
341 test_namestore_api_zone_iteration_specific_zone_nc_SOURCES = \
342  test_namestore_api_zone_iteration_specific_zone.c
343 test_namestore_api_zone_iteration_specific_zone_nc_LDADD = \
344   $(top_builddir)/src/testing/libgnunettesting.la \
345   $(top_builddir)/src/util/libgnunetutil.la \
346   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
347   libgnunetnamestore.la
348
349 test_namestore_api_zone_iteration_stop_nc_SOURCES = \
350  test_namestore_api_zone_iteration_stop.c
351 test_namestore_api_zone_iteration_stop_nc_LDADD = \
352   $(top_builddir)/src/testing/libgnunettesting.la \
353   $(top_builddir)/src/util/libgnunetutil.la \
354   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
355   libgnunetnamestore.la
356
357 test_plugin_namestore_flat_SOURCES = \
358  test_plugin_namestore.c
359 test_plugin_namestore_flat_LDADD = \
360  $(top_builddir)/src/testing/libgnunettesting.la \
361  $(top_builddir)/src/util/libgnunetutil.la
362
363 test_plugin_namestore_sqlite_SOURCES = \
364  test_plugin_namestore.c
365 test_plugin_namestore_sqlite_LDADD = \
366  $(top_builddir)/src/testing/libgnunettesting.la \
367  $(top_builddir)/src/util/libgnunetutil.la
368
369 test_plugin_namestore_postgres_SOURCES = \
370  test_plugin_namestore.c
371 test_plugin_namestore_postgres_LDADD = \
372  $(top_builddir)/src/testing/libgnunettesting.la \
373  $(top_builddir)/src/util/libgnunetutil.la
374
375 check_SCRIPTS = \
376   test_namestore_put.sh \
377   test_namestore_lookup.sh \
378   test_namestore_delete.sh
379
380 EXTRA_DIST = \
381   test_namestore_api.conf \
382   test_plugin_namestore_sqlite.conf \
383   test_plugin_namestore_postgres.conf \
384   test_plugin_namestore_flat.conf \
385   test_hostkey \
386   zonefiles/S5I9DSGQVAB5FVV16T3B3CC5H1B2JGL3Q412JBKURME8EKU0600G.zkey \
387   zonefiles/AQ835GVL939H4O8QJQ7GBLPTQC0QAAO91BN7QK01BA63MDSK6I4G.zkey \
388   zonefiles/HGU0A0VCU334DN7F2I9UIUMVQMM7JMSD142LIMNUGTTV9R0CF4EG.zkey \
389   zonefiles/N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey \
390   $(check_SCRIPTS)