-preparations for replacement of try_connect call
[oweals/gnunet.git] / src / datastore / 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 pkgcfgdir= $(pkgdatadir)/config.d/
7
8 libexecdir= $(pkglibdir)/libexec/
9
10 pkgcfg_DATA = \
11   datastore.conf
12
13 if MINGW
14   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
15 endif
16
17 if USE_COVERAGE
18   AM_CFLAGS = --coverage -O0
19   XLIBS = -lgcov
20 endif
21
22
23 lib_LTLIBRARIES = \
24   libgnunetdatastore.la
25
26 libgnunetdatastore_la_SOURCES = \
27   datastore_api.c datastore.h
28 libgnunetdatastore_la_LIBADD = \
29   $(top_builddir)/src/statistics/libgnunetstatistics.la \
30   $(top_builddir)/src/util/libgnunetutil.la \
31   $(GN_LIBINTL)
32 libgnunetdatastore_la_LDFLAGS = \
33   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
34   -version-info 1:0:0
35
36 bin_PROGRAMS = \
37  gnunet-datastore
38
39 libexec_PROGRAMS = \
40  gnunet-service-datastore
41
42 gnunet_service_datastore_SOURCES = \
43  gnunet-service-datastore.c
44 gnunet_service_datastore_LDADD = \
45   $(top_builddir)/src/statistics/libgnunetstatistics.la \
46   $(top_builddir)/src/util/libgnunetutil.la \
47   $(GN_LIBINTL)
48
49 gnunet_datastore_SOURCES = \
50  gnunet-datastore.c
51 gnunet_datastore_LDADD = \
52   libgnunetdatastore.la \
53   $(top_builddir)/src/util/libgnunetutil.la \
54   $(GN_LIBINTL)
55
56
57 if HAVE_MYSQL
58  MYSQL_PLUGIN = libgnunet_plugin_datastore_mysql.la
59 if HAVE_TESTING
60 if HAVE_BENCHMARKS
61   MYSQL_BENCHMARKS = \
62    perf_datastore_api_mysql \
63    perf_plugin_datastore_mysql
64 endif
65  MYSQL_TESTS = \
66   test_datastore_api_mysql \
67   test_datastore_api_management_mysql \
68   test_plugin_datastore_mysql \
69   $(MYSQL_BENCHMARKS)
70 endif
71 endif
72 if HAVE_SQLITE
73  SQLITE_PLUGIN = libgnunet_plugin_datastore_sqlite.la
74 if HAVE_TESTING
75 if HAVE_BENCHMARKS
76   SQLITE_BENCHMARKS = \
77    perf_datastore_api_sqlite \
78    perf_plugin_datastore_sqlite
79 endif
80  SQLITE_TESTS = \
81   test_datastore_api_sqlite \
82   test_datastore_api_management_sqlite \
83   test_plugin_datastore_sqlite \
84   $(SQLITE_BENCHMARKS)
85 endif
86 endif
87 if HAVE_POSTGRESQL
88  POSTGRES_PLUGIN = libgnunet_plugin_datastore_postgres.la
89 if HAVE_TESTING
90 if HAVE_BENCHMARKS
91   POSTGRES_BENCHMARKS = \
92    perf_datastore_api_postgres \
93    perf_plugin_datastore_postgres
94 endif
95  POSTGRES_TESTS = \
96   test_datastore_api_postgres \
97   test_datastore_api_management_postgres \
98   test_plugin_datastore_postgres \
99   $(POSTGRES_BENCHMARKS)
100 endif
101 endif
102
103 plugin_LTLIBRARIES = \
104   $(SQLITE_PLUGIN) \
105   $(MYSQL_PLUGIN) \
106   $(POSTGRES_PLUGIN) \
107   libgnunet_plugin_datastore_heap.la
108
109 # Real plugins should of course go into
110 # plugin_LTLIBRARIES
111 noinst_LTLIBRARIES = \
112   libgnunet_plugin_datastore_template.la
113
114
115 libgnunet_plugin_datastore_sqlite_la_SOURCES = \
116   plugin_datastore_sqlite.c
117 libgnunet_plugin_datastore_sqlite_la_LIBADD = \
118   $(top_builddir)/src/statistics/libgnunetstatistics.la \
119   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
120   $(LTLIBINTL)
121 libgnunet_plugin_datastore_sqlite_la_LDFLAGS = \
122  $(GN_PLUGIN_LDFLAGS)
123
124
125 libgnunet_plugin_datastore_heap_la_SOURCES = \
126   plugin_datastore_heap.c
127 libgnunet_plugin_datastore_heap_la_LIBADD = \
128   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
129   $(LTLIBINTL)
130 libgnunet_plugin_datastore_heap_la_LDFLAGS = \
131  $(GN_PLUGIN_LDFLAGS)
132
133
134 libgnunet_plugin_datastore_mysql_la_SOURCES = \
135   plugin_datastore_mysql.c
136 libgnunet_plugin_datastore_mysql_la_LIBADD = \
137   $(top_builddir)/src/mysql/libgnunetmysql.la \
138   $(top_builddir)/src/statistics/libgnunetstatistics.la \
139   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) $(Z_LIBS) -lmysqlclient
140 libgnunet_plugin_datastore_mysql_la_LDFLAGS = \
141  $(GN_PLUGIN_LDFLAGS) $(MYSQL_LDFLAGS) -lmysqlclient
142 libgnunet_plugin_datastore_mysql_la_CPPFLAGS = \
143  $(MYSQL_CPPFLAGS) $(AM_CPPFLAGS)
144
145 libgnunet_plugin_datastore_postgres_la_SOURCES = \
146   plugin_datastore_postgres.c
147 libgnunet_plugin_datastore_postgres_la_LIBADD = \
148   $(top_builddir)/src/statistics/libgnunetstatistics.la \
149   $(top_builddir)/src/postgres/libgnunetpostgres.la \
150   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lpq
151 libgnunet_plugin_datastore_postgres_la_LDFLAGS = \
152  $(GN_PLUGIN_LDFLAGS) $(POSTGRESQL_LDFLAGS)
153 libgnunet_plugin_datastore_postgres_la_CPPFLAGS = \
154  $(POSTGRESQL_CPPFLAGS) $(AM_CPPFLAGS)
155
156
157 libgnunet_plugin_datastore_template_la_SOURCES = \
158   plugin_datastore_template.c
159 libgnunet_plugin_datastore_template_la_LIBADD = \
160   $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
161   $(LTLIBINTL)
162 libgnunet_plugin_datastore_template_la_LDFLAGS = \
163  $(GN_PLUGIN_LDFLAGS)
164
165 check_PROGRAMS = \
166   test_datastore_api_heap \
167   test_datastore_api_management_heap \
168   perf_datastore_api_heap \
169   perf_plugin_datastore_heap \
170   test_plugin_datastore_heap \
171   $(SQLITE_TESTS) \
172   $(MYSQL_TESTS) \
173   $(POSTGRES_TESTS)
174
175 if ENABLE_TEST_RUN
176 AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;
177 TESTS = $(check_PROGRAMS)
178 endif
179
180 test_datastore_api_heap_SOURCES = \
181  test_datastore_api.c
182 test_datastore_api_heap_LDADD = \
183  $(top_builddir)/src/testing/libgnunettesting.la \
184  libgnunetdatastore.la \
185  $(top_builddir)/src/util/libgnunetutil.la
186
187 test_datastore_api_management_heap_SOURCES = \
188  test_datastore_api_management.c
189 test_datastore_api_management_heap_LDADD = \
190  $(top_builddir)/src/testing/libgnunettesting.la \
191  libgnunetdatastore.la \
192  $(top_builddir)/src/util/libgnunetutil.la
193
194 perf_datastore_api_heap_SOURCES = \
195  perf_datastore_api.c
196 perf_datastore_api_heap_LDADD = \
197  $(top_builddir)/src/testing/libgnunettesting.la \
198  libgnunetdatastore.la \
199  $(top_builddir)/src/util/libgnunetutil.la
200
201 perf_plugin_datastore_heap_SOURCES = \
202  perf_plugin_datastore.c
203 perf_plugin_datastore_heap_LDADD = \
204  $(top_builddir)/src/testing/libgnunettesting.la \
205  $(top_builddir)/src/util/libgnunetutil.la
206
207 test_plugin_datastore_heap_SOURCES = \
208  test_plugin_datastore.c
209 test_plugin_datastore_heap_LDADD = \
210  $(top_builddir)/src/testing/libgnunettesting.la \
211  $(top_builddir)/src/util/libgnunetutil.la
212
213
214 test_datastore_api_sqlite_SOURCES = \
215  test_datastore_api.c
216 test_datastore_api_sqlite_LDADD = \
217  $(top_builddir)/src/testing/libgnunettesting.la \
218  libgnunetdatastore.la \
219  $(top_builddir)/src/util/libgnunetutil.la
220
221 test_datastore_api_management_sqlite_SOURCES = \
222  test_datastore_api_management.c
223 test_datastore_api_management_sqlite_LDADD = \
224  $(top_builddir)/src/testing/libgnunettesting.la \
225  libgnunetdatastore.la \
226  $(top_builddir)/src/util/libgnunetutil.la
227
228 perf_datastore_api_sqlite_SOURCES = \
229  perf_datastore_api.c
230 perf_datastore_api_sqlite_LDADD = \
231  $(top_builddir)/src/testing/libgnunettesting.la \
232  libgnunetdatastore.la \
233  $(top_builddir)/src/util/libgnunetutil.la
234
235 perf_plugin_datastore_sqlite_SOURCES = \
236  perf_plugin_datastore.c
237 perf_plugin_datastore_sqlite_LDADD = \
238  $(top_builddir)/src/testing/libgnunettesting.la \
239  $(top_builddir)/src/util/libgnunetutil.la
240
241 test_plugin_datastore_sqlite_SOURCES = \
242  test_plugin_datastore.c
243 test_plugin_datastore_sqlite_LDADD = \
244  $(top_builddir)/src/testing/libgnunettesting.la \
245  $(top_builddir)/src/util/libgnunetutil.la
246
247
248 test_datastore_api_mysql_SOURCES = \
249  test_datastore_api.c
250 test_datastore_api_mysql_LDADD = \
251  $(top_builddir)/src/testing/libgnunettesting.la \
252  libgnunetdatastore.la \
253  $(top_builddir)/src/util/libgnunetutil.la
254
255 test_datastore_api_management_mysql_SOURCES = \
256  test_datastore_api_management.c
257 test_datastore_api_management_mysql_LDADD = \
258  $(top_builddir)/src/testing/libgnunettesting.la \
259  libgnunetdatastore.la \
260  $(top_builddir)/src/util/libgnunetutil.la
261
262 perf_datastore_api_mysql_SOURCES = \
263  perf_datastore_api.c
264 perf_datastore_api_mysql_LDADD = \
265  $(top_builddir)/src/testing/libgnunettesting.la \
266  libgnunetdatastore.la \
267  $(top_builddir)/src/util/libgnunetutil.la
268
269 test_plugin_datastore_mysql_SOURCES = \
270  test_plugin_datastore.c
271 test_plugin_datastore_mysql_LDADD = \
272  $(top_builddir)/src/testing/libgnunettesting.la \
273  $(top_builddir)/src/util/libgnunetutil.la
274
275 perf_plugin_datastore_mysql_SOURCES = \
276  perf_plugin_datastore.c
277 perf_plugin_datastore_mysql_LDADD = \
278  $(top_builddir)/src/testing/libgnunettesting.la \
279  $(top_builddir)/src/util/libgnunetutil.la
280
281
282 test_datastore_api_postgres_SOURCES = \
283  test_datastore_api.c
284 test_datastore_api_postgres_LDADD = \
285  $(top_builddir)/src/testing/libgnunettesting.la \
286  libgnunetdatastore.la \
287  $(top_builddir)/src/util/libgnunetutil.la
288
289 test_datastore_api_management_postgres_SOURCES = \
290  test_datastore_api_management.c
291 test_datastore_api_management_postgres_LDADD = \
292  $(top_builddir)/src/testing/libgnunettesting.la \
293  libgnunetdatastore.la \
294  $(top_builddir)/src/util/libgnunetutil.la
295
296 perf_datastore_api_postgres_SOURCES = \
297  perf_datastore_api.c
298 perf_datastore_api_postgres_LDADD = \
299  $(top_builddir)/src/testing/libgnunettesting.la \
300  libgnunetdatastore.la \
301  $(top_builddir)/src/util/libgnunetutil.la
302
303 test_plugin_datastore_postgres_SOURCES = \
304  test_plugin_datastore.c
305 test_plugin_datastore_postgres_LDADD = \
306  $(top_builddir)/src/testing/libgnunettesting.la \
307  $(top_builddir)/src/util/libgnunetutil.la
308
309 perf_plugin_datastore_postgres_SOURCES = \
310  perf_plugin_datastore.c
311 perf_plugin_datastore_postgres_LDADD = \
312  $(top_builddir)/src/testing/libgnunettesting.la \
313  $(top_builddir)/src/util/libgnunetutil.la
314
315
316 EXTRA_DIST = \
317  test_defaults.conf \
318  test_datastore_api_data_sqlite.conf \
319  perf_plugin_datastore_data_sqlite.conf \
320  test_plugin_datastore_data_sqlite.conf \
321  test_datastore_api_data_heap.conf \
322  perf_plugin_datastore_data_heap.conf \
323  test_plugin_datastore_data_heap.conf \
324  test_datastore_api_data_mysql.conf \
325  perf_plugin_datastore_data_mysql.conf \
326  test_plugin_datastore_data_mysql.conf \
327  test_datastore_api_data_postgres.conf \
328  perf_plugin_datastore_data_postgres.conf \
329  test_plugin_datastore_data_postgres.conf