-memory is cheap, default to heap
[oweals/gnunet.git] / src / dht / Makefile.am
index 091de24da34d12e731aecfe80e52885b5f5d854a..b6d3317eb7ee604313d4bcecc543abfec037c156 100644 (file)
@@ -5,9 +5,12 @@ endif
 
 plugindir = $(libdir)/gnunet
 
-if HAVE_MYSQL
- MYSQL_PLUGIN = libgnunet_plugin_dhtlog_mysql.la
-endif
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+libexecdir= $(pkglibdir)/libexec/
+
+pkgcfg_DATA = \
+  dht.conf 
 
 if HAVE_ZLIB
  ZLIB_LNK = -lz
@@ -18,92 +21,65 @@ if USE_COVERAGE
   XLIB = -lgcov
 endif
 
-lib_LTLIBRARIES = libgnunetdht.la \
- libgnunetdhtlog.la
+lib_LTLIBRARIES = \
+ libgnunetdht.la 
 
-plugin_LTLIBRARIES = \
- $(MYSQL_PLUGIN) \
- libgnunet_plugin_dhtlog_dummy.la \
- libgnunet_plugin_dhtlog_mysql_dump.la \
- libgnunet_plugin_dhtlog_mysql_dump_load.la  
-
-
-libgnunet_plugin_dhtlog_mysql_la_SOURCES = \
-  plugin_dhtlog_mysql.c
-libgnunet_plugin_dhtlog_mysql_la_LIBADD = \
-  $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) -lz -lsqlite3
-libgnunet_plugin_dhtlog_mysql_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS) $(MYSQL_LDFLAGS) -lmysqlclient
-libgnunet_plugin_dhtlog_mysql_la_CPFLAGS = \
- $(MYSQL_CPPFLAGS)
-
-libgnunet_plugin_dhtlog_dummy_la_SOURCES = \
-  plugin_dhtlog_dummy.c
-libgnunet_plugin_dhtlog_dummy_la_LIBADD = \
+libgnunetdht_la_SOURCES = \
+  dht_api.c dht.h 
+libgnunetdht_la_LIBADD = \
   $(top_builddir)/src/util/libgnunetutil.la \
-  $(XLIB)
-libgnunet_plugin_dhtlog_dummy_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
+  $(XLIB) \
+  $(LTLIBINTL)
+libgnunetdht_la_LDFLAGS = \
+  $(GN_LIB_LDFLAGS) $(WINFLAGS) \
+  -version-info 1:1:1
 
-libgnunet_plugin_dhtlog_mysql_dump_la_SOURCES = \
-  plugin_dhtlog_mysql_dump.c
-libgnunet_plugin_dhtlog_mysql_dump_la_LIBADD = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(XLIB)
-libgnunet_plugin_dhtlog_mysql_dump_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
 
-libgnunet_plugin_dhtlog_mysql_dump_load_la_SOURCES = \
-  plugin_dhtlog_mysql_dump_load.c
-libgnunet_plugin_dhtlog_mysql_dump_load_la_LIBADD = \
+plugin_LTLIBRARIES = \
+  libgnunet_plugin_block_dht.la 
+
+libgnunet_plugin_block_dht_la_SOURCES = \
+  plugin_block_dht.c
+libgnunet_plugin_block_dht_la_LIBADD = \
+  $(top_builddir)/src/hello/libgnunethello.la \
+  $(top_builddir)/src/block/libgnunetblock.la \
   $(top_builddir)/src/util/libgnunetutil.la \
-  $(XLIB)
-libgnunet_plugin_dhtlog_mysql_dump_load_la_LDFLAGS = \
+  $(LTLIBINTL)
+libgnunet_plugin_block_dht_la_LDFLAGS = \
  $(GN_PLUGIN_LDFLAGS)
+libgnunet_plugin_block_dht_la_DEPENDENCIES = \
+  $(top_builddir)/src/block/libgnunetblock.la 
 
-libgnunetdhtlog_la_SOURCES = \
-  dhtlog.c dhtlog.h
-libgnunetdhtlog_la_LIBADD = \
-  $(top_builddir)/src/util/libgnunetutil.la
-libgnunetdhtlog_la_LDFLAGS = \
-  $(GN_LIB_LDFLAGS) $(WINFLAGS) \
-  -version-info 0:0:0
 
-libgnunetdht_la_SOURCES = \
-  dht_api.c dht.h \
-  dht_api_get_put.c \
-  dht_api_find_peer.c 
-libgnunetdht_la_LIBADD = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(XLIB)
-libgnunetdht_la_LDFLAGS = \
-  $(GN_LIB_LDFLAGS) $(WINFLAGS) \
-  -version-info 0:0:0
 
-bin_PROGRAMS = \
- gnunet-service-dht \
- gnunet-dht-get \
- gnunet-dht-get-peer \
- gnunet-dht-put
+libexec_PROGRAMS = \
+ gnunet-service-dht 
 
-if HAVE_MALICIOUS
 noinst_PROGRAMS = \
- gnunet-dht-driver 
-endif
+ gnunet-dht-monitor \
+ gnunet-dht-get \
+ gnunet-dht-put
 
 gnunet_service_dht_SOURCES = \
- gnunet-service-dht.c         
+ gnunet-service-dht.c gnunet-service-dht.h \
+ gnunet-service-dht_clients.c gnunet-service-dht_clients.h \
+ gnunet-service-dht_datacache.c gnunet-service-dht_datacache.h \
+ gnunet-service-dht_hello.c gnunet-service-dht_hello.h \
+ gnunet-service-dht_nse.c gnunet-service-dht_nse.h \
+ gnunet-service-dht_neighbours.c gnunet-service-dht_neighbours.h \
+ gnunet-service-dht_routing.c gnunet-service-dht_routing.h 
 gnunet_service_dht_LDADD = \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/nse/libgnunetnse.la \
+  $(top_builddir)/src/ats/libgnunetats.la \
   $(top_builddir)/src/transport/libgnunettransport.la \
+  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
   $(top_builddir)/src/hello/libgnunethello.la \
   $(top_builddir)/src/block/libgnunetblock.la \
   $(top_builddir)/src/datacache/libgnunetdatacache.la \
   $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/dht/libgnunetdhtlog.la -lm
-gnunet_service_dht_DEPENDENCIES = \
-  libgnunetdhtlog.la                             
+  -lm
 
 gnunet_dht_get_SOURCES = \
  gnunet-dht-get.c         
@@ -114,16 +90,6 @@ gnunet_dht_get_LDADD = \
 gnunet_dht_get_DEPENDENCIES = \
   libgnunetdht.la                            
 
-gnunet_dht_get_peer_SOURCES = \
- gnunet-dht-get-peer.c         
-gnunet_dht_get_peer_LDADD = \
-  $(top_builddir)/src/dht/libgnunetdht.la \
-  $(top_builddir)/src/hello/libgnunethello.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
-  $(top_builddir)/src/util/libgnunetutil.la 
-gnunet_dht_get_peer_DEPENDENCIES = \
-  libgnunetdht.la                            
-
 gnunet_dht_put_SOURCES = \
  gnunet-dht-put.c         
 gnunet_dht_put_LDADD = \
@@ -133,110 +99,131 @@ gnunet_dht_put_LDADD = \
 gnunet_dht_put_DEPENDENCIES = \
   libgnunetdht.la                            
 
-gnunet_dht_driver_SOURCES = \
- gnunet-dht-driver.c         
-gnunet_dht_driver_LDADD = \
+gnunet_dht_monitor_SOURCES = \
+ gnunet-dht-monitor.c         
+gnunet_dht_monitor_LDADD = \
   $(top_builddir)/src/dht/libgnunetdht.la \
-  $(top_builddir)/src/dht/libgnunetdhtlog.la \
   $(top_builddir)/src/core/libgnunetcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/dht/libgnunetdhtlog.la
-gnunet_dht_driver_DEPENDENCIES = \
-  libgnunetdht.la \
-  libgnunetdhtlog.la  
+  $(top_builddir)/src/util/libgnunetutil.la 
+gnunet_dht_monitor_DEPENDENCIES = \
+  libgnunetdht.la                            
+
+
+noinst_LIBRARIES = libgnunetdhttest.a
 
+libgnunetdhttest_a_SOURCES = \
+  dht_test_lib.c dht_test_lib.h
+libgnunetdhttest_a_LIBADD = \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/dht/libgnunetdht.la
+libgnunetdhttest_a_DEPENDENCIES = \
+  libgnunetdht.la   
 
 check_PROGRAMS = \
  test_dht_api \
  test_dht_twopeer \
- test_dht_twopeer_put_get \
- test_dht_twopeer_get_put \
- test_dht_twopeer_path_tracking \
  test_dht_multipeer \
- test_dhtlog 
-# test_hash_operations
+ test_dht_line \
+ test_dht_2dtorus \
+ test_dht_monitor
+
+if HAVE_EXPERIMENTAL
+# These tests still do not work as testbed does
+# not support the respective topology op
+ NEW_TESTS = test_dht_2dtorus test_dht_multipeer 
+endif
 
 if ENABLE_TEST_RUN
 TESTS = test_dht_api $(check_SCRIPTS) \
  test_dht_twopeer \
- test_dht_twopeer_put_get \
- test_dht_twopeer_path_tracking \
- test_dht_multipeer \
- test_dhtlog
+ test_dht_line \
+ test_dht_monitor \
+ $(NEW_TESTS) 
 endif
 
 test_dht_api_SOURCES = \
  test_dht_api.c
 test_dht_api_LDADD = \
  $(top_builddir)/src/util/libgnunetutil.la \
+ $(top_builddir)/src/testing/libgnunettesting.la \
  $(top_builddir)/src/hello/libgnunethello.la \
  $(top_builddir)/src/dht/libgnunetdht.la
 test_dht_api_DEPENDENCIES = \
   libgnunetdht.la                          
 
-test_dht_multipeer_SOURCES = \
- test_dht_multipeer.c
-test_dht_multipeer_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/dht/libgnunetdht.la  
-test_dht_multipeer_DEPENDENCIES = \
-  libgnunetdht.la                          
-#test_hash_operations_SOURCES = \
-# test_hash_operations.c
-#test_hash_operations_LDADD = \
-# $(top_builddir)/src/util/libgnunetutil.la \
-# $(top_builddir)/src/testing/libgnunettesting.la \
-# $(top_builddir)/src/dht/libgnunetdht.la 
-
 test_dht_twopeer_SOURCES = \
- test_dht_twopeer.c
+ test_dht_topo.c
 test_dht_twopeer_LDADD = \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
  $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
  $(top_builddir)/src/dht/libgnunetdht.la    
 test_dht_twopeer_DEPENDENCIES = \
   libgnunetdht.la                          
 
-test_dht_twopeer_put_get_SOURCES = \
- test_dht_twopeer_put_get.c
-test_dht_twopeer_put_get_LDADD = \
+test_dht_2dtorus_SOURCES = \
+ test_dht_topo.c
+test_dht_2dtorus_LDADD = \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
  $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/dht/libgnunetdht.la   
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/dht/libgnunetdht.la
+test_dht_2dtorus_DEPENDENCIES = \
+  libgnunetdht.la
 
-test_dht_twopeer_get_put_SOURCES = \
- test_dht_twopeer_get_put.c
-test_dht_twopeer_get_put_LDADD = \
+test_dht_line_SOURCES = \
+ test_dht_topo.c
+test_dht_line_LDADD = \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
  $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/dht/libgnunetdht.la   
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/dht/libgnunetdht.la 
+test_dht_line_DEPENDENCIES = \
+  libgnunetdht.la
 
-test_dht_twopeer_path_tracking_SOURCES = \
- test_dht_twopeer_path_tracking.c
-test_dht_twopeer_path_tracking_LDADD = \
+test_dht_multipeer_SOURCES = \
+ test_dht_topo.c
+test_dht_multipeer_LDADD = \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
  $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/dht/libgnunetdht.la   
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/dht/libgnunetdht.la  
+test_dht_multipeer_DEPENDENCIES = \
+  libgnunetdht.la                          
 
-test_dhtlog_SOURCES = \
- test_dhtlog.c
-test_dhtlog_LDADD = \
+test_dht_monitor_SOURCES = \
+  test_dht_monitor.c
+test_dht_monitor_LDADD = \
+ $(top_builddir)/src/dht/libgnunetdhttest.a \
  $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/dht/libgnunetdht.la \
- $(top_builddir)/src/dht/libgnunetdhtlog.la
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/dht/libgnunetdht.la
+test_dht_monitor_DEPENDENCIES = \
+  libgnunetdht.la
 
 EXTRA_DIST = \
   $(check_SCRIPTS) \
   test_dht_api_data.conf \
   test_dht_api_peer1.conf \
-  test_dht_twopeer_data.conf \
-  test_dht_multipeer_data.conf \
-  test_dhtlog_data.conf \
-  multipeer_topo.dat
+  test_dht_monitor.conf \
+  test_dht_multipeer.conf \
+  test_dht_2dtorus.conf \
+  test_dht_line.conf \
+  test_dht_tools.py.in \
+  test_dht_multipeer_topology.dat
 
 check_SCRIPTS = \
-  test_dht_tools.sh
+  test_dht_tools.py
+
+do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
+
+%.py: %.py.in Makefile
+       $(do_subst) < $(srcdir)/$< > $@
+       chmod +x $@
+
+test_dht_tools.py: test_dht_tools.py.in Makefile
+       $(do_subst) < $(srcdir)/test_dht_tools.py.in > test_dht_tools.py
+       chmod +x test_dht_tools.py