LRN: Here's a patch. See if it doesn't break anything for you.
[oweals/gnunet.git] / src / datacache / Makefile.am
index 564af9f28343efe3ba9c821b95e9c85334daeae4..c6c27b3275fbcc369d4d31d16688ee2382e245b0 100644 (file)
@@ -2,6 +2,11 @@ INCLUDES = -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
@@ -11,23 +16,31 @@ if USE_COVERAGE
   XLIBS = -lgcov
 endif
 
+if HAVE_SQLITE
+  SQLITE_PLUGIN = libgnunet_plugin_datacache_sqlite.la
+endif
+if HAVE_POSTGRES
+  POSTGRES_PLUGIN = libgnunet_plugin_datacache_postgres.la
+endif
 
 lib_LTLIBRARIES = \
   libgnunetdatacache.la
 
 libgnunetdatacache_la_SOURCES = \
-  datacache.c plugin_datacache.h
+  datacache.c 
 libgnunetdatacache_la_LIBADD = \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/util/libgnunetutil.la \
   $(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 \
+  $(SQLITE_PLUGIN) \
+  $(POSTGRES_PLUGIN) \
+  libgnunet_plugin_datacache_heap.la \
   libgnunet_plugin_datacache_template.la 
 
 
@@ -35,43 +48,148 @@ 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/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/postgres/libgnunetpostgres.la \
+  $(top_builddir)/src/statistics/libgnunetstatistics.la \
+  $(top_builddir)/src/util/libgnunetutil.la \
+  $(GN_PLUGIN_LDFLAGS) $(POSTGRES_LDFLAGS) -lpq
+libgnunet_plugin_datacache_postgres_la_CPPFLAGS = \
+ $(POSTGRES_CPPFLAGS)
+libgnunet_plugin_datacache_postgres_la_LDFLAGS = \
+ $(GN_PLUGIN_LDFLAGS) $(POSTGRES_LDFLAGS) -lpq
+
 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_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_POSTGRES
+if HAVE_BENCHMARKS
+ POSTGRES_BENCHMARKS = \
+  perf_datacache_postgres
+endif
+POSTGRES_TESTS = \
+ test_datacache_postgres \
+ test_datacache_quota_postgres \
+ $(POSTGRES_BENCHMARKS)
+endif
+
 check_PROGRAMS = \
test_datacache \
test_datacache_quota \
- perf_datacache 
$(SQLITE_TESTS) \
$(HEAP_TESTS) \
+ $(POSTGRES_TESTS) 
 
+if ENABLE_TEST_RUN
 TESTS = $(check_PROGRAMS)
+endif
+
+test_datacache_sqlite_SOURCES = \
+ test_datacache.c
+test_datacache_sqlite_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/datacache/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 \
+ $(top_builddir)/src/datacache/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 \
+ $(top_builddir)/src/datacache/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 \
+ $(top_builddir)/src/datacache/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 \
+ $(top_builddir)/src/datacache/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 \
+ $(top_builddir)/src/datacache/libgnunetdatacache.la \
+ $(top_builddir)/src/util/libgnunetutil.la  
 
-test_datacache_SOURCES = \
+test_datacache_postgres_SOURCES = \
  test_datacache.c
-test_datacache_LDADD = \
+test_datacache_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
  $(top_builddir)/src/datacache/libgnunetdatacache.la \
  $(top_builddir)/src/util/libgnunetutil.la  
 
-test_datacache_quota_SOURCES = \
+test_datacache_quota_postgres_SOURCES = \
  test_datacache_quota.c
-test_datacache_quota_LDADD = \
+test_datacache_quota_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
  $(top_builddir)/src/datacache/libgnunetdatacache.la \
  $(top_builddir)/src/util/libgnunetutil.la  
 
-perf_datacache_SOURCES = \
+perf_datacache_postgres_SOURCES = \
  perf_datacache.c
-perf_datacache_LDADD = \
+perf_datacache_postgres_LDADD = \
+ $(top_builddir)/src/testing/libgnunettesting.la \
  $(top_builddir)/src/datacache/libgnunetdatacache.la \
  $(top_builddir)/src/util/libgnunetutil.la  
 
 EXTRA_DIST = \
- test_datacache_data.conf \
- perf_datacache_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