-INCLUDES = -I$(top_srcdir)/src/include
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
plugindir = $(libdir)/gnunet
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+dist_pkgcfg_DATA = \
+ datacache.conf
+
if MINGW
WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
endif
XLIBS = -lgcov
endif
+if HAVE_SQLITE
+ SQLITE_PLUGIN = libgnunet_plugin_datacache_sqlite.la
+endif
+if HAVE_POSTGRESQL
+ POSTGRES_PLUGIN = libgnunet_plugin_datacache_postgres.la
+endif
lib_LTLIBRARIES = \
libgnunetdatacache.la
libgnunetdatacache_la_SOURCES = \
- datacache_api.c plugin_datacache.h
+ datacache.c
libgnunetdatacache_la_LIBADD = \
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
$(top_builddir)/src/util/libgnunetutil.la \
- $(GN_LIBINTL)
+ $(GN_LIBINTL)
libgnunetdatacache_la_LDFLAGS = \
$(GN_LIB_LDFLAGS) $(WINFLAGS) \
- -version-info 0:0:0
+ -version-info 0:1:0
plugin_LTLIBRARIES = \
- libgnunet_plugin_datacache_sqlite.la \
- libgnunet_plugin_datacache_template.la
+ $(SQLITE_PLUGIN) \
+ $(POSTGRES_PLUGIN) \
+ libgnunet_plugin_datacache_heap.la
+
+# Real plugins should of course go into
+# plugin_LTLIBRARIES
+noinst_LTLIBRARIES = \
+ libgnunet_plugin_datacache_template.la
libgnunet_plugin_datacache_sqlite_la_SOURCES = \
plugin_datacache_sqlite.c
libgnunet_plugin_datacache_sqlite_la_LIBADD = \
$(top_builddir)/src/statistics/libgnunetstatistics.la \
- $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lsqlite3
+ $(top_builddir)/src/sq/libgnunetsq.la \
+ $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
+ $(LTLIBINTL)
libgnunet_plugin_datacache_sqlite_la_LDFLAGS = \
$(GN_PLUGIN_LDFLAGS)
+libgnunet_plugin_datacache_heap_la_SOURCES = \
+ plugin_datacache_heap.c
+libgnunet_plugin_datacache_heap_la_LIBADD = \
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
+ $(LTLIBINTL)
+libgnunet_plugin_datacache_heap_la_LDFLAGS = \
+ $(GN_PLUGIN_LDFLAGS)
+
+libgnunet_plugin_datacache_postgres_la_SOURCES = \
+ plugin_datacache_postgres.c
+libgnunet_plugin_datacache_postgres_la_LIBADD = \
+ $(top_builddir)/src/pq/libgnunetpq.la \
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ $(GN_PLUGIN_LDFLAGS) -lpq
+libgnunet_plugin_datacache_postgres_la_CPPFLAGS = \
+ $(POSTGRESQL_CPPFLAGS) $(AM_CPPFLAGS)
+libgnunet_plugin_datacache_postgres_la_LDFLAGS = \
+ $(GN_PLUGIN_LDFLAGS) $(POSTGRESQL_LDFLAGS)
+
libgnunet_plugin_datacache_template_la_SOURCES = \
plugin_datacache_template.c
libgnunet_plugin_datacache_template_la_LIBADD = \
- $(top_builddir)/src/util/libgnunetutil.la $(XLIBS)
+ $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \
+ $(LTLIBINTL)
libgnunet_plugin_datacache_template_la_LDFLAGS = \
$(GN_PLUGIN_LDFLAGS)
+if HAVE_TESTING
+if HAVE_SQLITE
+if HAVE_BENCHMARKS
+ SQLITE_BENCHMARKS = \
+ perf_datacache_sqlite
+endif
+SQLITE_TESTS = \
+ test_datacache_sqlite \
+ test_datacache_quota_sqlite \
+ $(SQLITE_BENCHMARKS)
+endif
+
+if HAVE_BENCHMARKS
+ HEAP_BENCHMARKS = \
+ perf_datacache_heap
+endif
+HEAP_TESTS = \
+ test_datacache_heap \
+ test_datacache_quota_heap \
+ $(HEAP_BENCHMARKS)
+
+if HAVE_POSTGRESQL
+if HAVE_BENCHMARKS
+ POSTGRES_BENCHMARKS = \
+ perf_datacache_postgres
+endif
+POSTGRES_TESTS = \
+ test_datacache_postgres \
+ test_datacache_quota_postgres \
+ $(POSTGRES_BENCHMARKS)
+endif
+endif
+
check_PROGRAMS = \
- test_datacache_api \
- perf_datacache_api
+ $(SQLITE_TESTS) \
+ $(HEAP_TESTS) \
+ $(POSTGRES_TESTS)
+if ENABLE_TEST_RUN
+AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset XDG_CONFIG_HOME;
TESTS = $(check_PROGRAMS)
+endif
-test_datacache_api_SOURCES = \
- test_datacache_api.c
-test_datacache_api_LDADD = \
- $(top_builddir)/src/datacache/libgnunetdatacache.la \
- $(top_builddir)/src/util/libgnunetutil.la
-
-perf_datacache_api_SOURCES = \
- perf_datacache_api.c
-perf_datacache_api_LDADD = \
- $(top_builddir)/src/datacache/libgnunetdatacache.la \
- $(top_builddir)/src/util/libgnunetutil.la
+test_datacache_sqlite_SOURCES = \
+ test_datacache.c
+test_datacache_sqlite_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+test_datacache_quota_sqlite_SOURCES = \
+ test_datacache_quota.c
+test_datacache_quota_sqlite_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+perf_datacache_sqlite_SOURCES = \
+ perf_datacache.c
+perf_datacache_sqlite_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+test_datacache_heap_SOURCES = \
+ test_datacache.c
+test_datacache_heap_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+test_datacache_quota_heap_SOURCES = \
+ test_datacache_quota.c
+test_datacache_quota_heap_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+perf_datacache_heap_SOURCES = \
+ perf_datacache.c
+perf_datacache_heap_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+test_datacache_postgres_SOURCES = \
+ test_datacache.c
+test_datacache_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+test_datacache_quota_postgres_SOURCES = \
+ test_datacache_quota.c
+test_datacache_quota_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+perf_datacache_postgres_SOURCES = \
+ perf_datacache.c
+perf_datacache_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la
EXTRA_DIST = \
- test_datacache_api_data.conf \
- perf_datacache_api_data.conf
+ test_datacache_data_sqlite.conf \
+ perf_datacache_data_sqlite.conf \
+ test_datacache_data_heap.conf \
+ perf_datacache_data_heap.conf \
+ test_datacache_data_postgres.conf \
+ perf_datacache_data_postgres.conf