- cancel SYNACK retry task when forced to SYNACK by an incoming SYN
[oweals/gnunet.git] / src / mesh / Makefile.am
index 3b8b910be05a27fced2ad8ccbf141703c3227645..1406c54ff3df2f67d185ac13ac7a9810d1b4370f 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/src/include
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
 
 if MINGW
   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
@@ -21,27 +21,13 @@ plugindir = $(libdir)/gnunet
 AM_CLFAGS = -g
 
 libexec_PROGRAMS = \
- gnunet-service-mesh gnunet-service-mesh-new
+ gnunet-service-mesh $(EXP_LIBEXEC)
+
+bin_PROGRAMS = \
+ gnunet-mesh
 
 lib_LTLIBRARIES = \
-  libgnunetmesh.la \
-  libgnunetmeshblock.la
-
-plugin_LTLIBRARIES = \
- libgnunet_plugin_block_mesh.la
-
-libgnunet_plugin_block_mesh_la_SOURCES = \
- plugin_block_mesh.c
-libgnunet_plugin_block_mesh_la_LIBADD = \
- $(top_builddir)/src/mesh/libgnunetmeshblock.la \
- $(top_builddir)/src/block/libgnunetblock.la \
- $(top_builddir)/src/util/libgnunetutil.la
-libgnunet_plugin_block_mesh_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
-libgnunet_plugin_block_mesh_la_DEPENDENCIES = \
- libgnunetmeshblock.la \
- $(top_builddir)/src/block/libgnunetblock.la \
- $(top_builddir)/src/util/libgnunetutil.la
+  libgnunetmesh.la $(EXP_LIB)
 
 libgnunetmesh_la_SOURCES = \
   mesh_api.c mesh_common.c
@@ -51,286 +37,168 @@ libgnunetmesh_la_LIBADD = \
   $(LTLIBINTL)
 libgnunetmesh_la_LDFLAGS = \
   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
-  -version-info 1:0:0
+  -version-info 4:0:0
 
-libgnunetmeshblock_la_SOURCES = \
-  mesh_block_lib.c
-libgnunetmeshblock_la_LIBADD = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(XLIB) \
-  $(LTLIBINTL)
-libgnunetmeshblock_la_LDFLAGS = \
-  $(GN_LIB_LDFLAGS) $(WINFLAGS) \
-  -version-info 1:0:0
+gnunet_mesh_SOURCES = \
+  gnunet-mesh.c
+gnunet_mesh_LDADD = \
+  $(top_builddir)/src/mesh/libgnunetmesh.la \
+  $(top_builddir)/src/util/libgnunetutil.la
+gnunet_mesh_DEPENDENCIES = \
+  libgnunetmesh.la
 
 gnunet_service_mesh_SOURCES = \
- gnunet-service-mesh.c \
- mesh_tunnel_tree.c \
- mesh_common.c
+ gnunet-service-mesh_tunnel.c gnunet-service-mesh_tunnel.h \
+ gnunet-service-mesh_connection.c gnunet-service-mesh_connection.h \
+ gnunet-service-mesh_channel.c gnunet-service-mesh_channel.h \
+ gnunet-service-mesh_local.c gnunet-service-mesh_local.h \
+ gnunet-service-mesh_peer.c gnunet-service-mesh_peer.h \
+ gnunet-service-mesh_dht.c gnunet-service-mesh_dht.h \
+ gnunet-service-mesh_hello.c gnunet-service-mesh_hello.h \
+ mesh_path.c mesh_path.h \
+ mesh_common.c \
+ gnunet-service-mesh.c
 gnunet_service_mesh_CFLAGS = $(AM_CFLAGS)
 gnunet_service_mesh_LDADD = \
   $(top_builddir)/src/util/libgnunetutil.la \
+  $(top_builddir)/src/transport/libgnunettransport.la \
   $(top_builddir)/src/core/libgnunetcore.la \
   $(top_builddir)/src/dht/libgnunetdht.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/block/libgnunetblock.la \
-  $(top_builddir)/src/mesh/libgnunetmeshblock.la \
-  $(top_builddir)/src/regex/libgnunetregex.la
+  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
+  $(top_builddir)/src/hello/libgnunethello.la \
+  $(top_builddir)/src/block/libgnunetblock.la
 gnunet_service_mesh_DEPENDENCIES = \
   $(top_builddir)/src/util/libgnunetutil.la \
+  $(top_builddir)/src/transport/libgnunettransport.la \
   $(top_builddir)/src/core/libgnunetcore.la \
   $(top_builddir)/src/dht/libgnunetdht.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/block/libgnunetblock.la \
-  libgnunetmeshblock.la \
-  $(top_builddir)/src/regex/libgnunetregex.la
+  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
+  $(top_builddir)/src/hello/libgnunethello.la \
+  $(top_builddir)/src/block/libgnunetblock.la
 if LINUX
-gnunet_service_mesh_LDFLAGS = -lrt
+  gnunet_service_mesh_LDFLAGS = -lrt
 endif
 
-gnunet_service_mesh_new_SOURCES = \
- gnunet-service-mesh-new.c \
- mesh_tunnel_tree.c \
- mesh_common.c
-gnunet_service_mesh_new_CFLAGS = $(AM_CFLAGS)
-gnunet_service_mesh_new_LDADD = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
-  $(top_builddir)/src/dht/libgnunetdht.la \
-  $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/block/libgnunetblock.la \
-  $(top_builddir)/src/mesh/libgnunetmeshblock.la \
-  $(top_builddir)/src/regex/libgnunetregex.la
-gnunet_service_mesh_new_DEPENDENCIES = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
-  $(top_builddir)/src/dht/libgnunetdht.la \
-  $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/block/libgnunetblock.la \
-  libgnunetmeshblock.la \
-  $(top_builddir)/src/regex/libgnunetregex.la
-if LINUX
-gnunet_service_mesh_new_LDFLAGS = -lrt
+
+if HAVE_TESTING
+ noinst_LIBRARIES = libgnunetmeshtest.a $(noinst_LIB_EXP)
+ noinst_PROGRAMS = gnunet-mesh-profiler
 endif
 
+libgnunetmeshtest_a_SOURCES = \
+  mesh_test_lib.c mesh_test_lib.h
+libgnunetmeshtest_a_LIBADD = \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ $(top_builddir)/src/testbed/libgnunettestbed.la \
+ $(top_builddir)/src/mesh/libgnunetmesh.la
+libgnunetmeshtest_a_DEPENDENCIES = \
+  libgnunetmesh.la
 
-noinst_PROGRAMS = \
-gnunet-regex-profiler
+if HAVE_TESTING
+check_PROGRAMS = \
+  test_mesh_single \
+  test_mesh_local \
+  test_mesh_small_forward \
+  test_mesh_small_signal \
+  test_mesh_small_keepalive \
+  test_mesh_small_speed \
+  test_mesh_small_speed_ack \
+  test_mesh_small_speed_backwards \
+  test_mesh_small_speed_reliable \
+  test_mesh_small_speed_reliable_backwards
+endif
 
-gnunet_regex_profiler_SOURCES = \
-  gnunet-regex-profiler.c
-gnunet_regex_profiler_LDADD = \
+ld_mesh_test_lib = \
   $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testbed/libgnunettestbed.la \
+  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/mesh/libgnunetmeshtest.a \
   $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/regex/libgnunetregex.la \
+  $(top_builddir)/src/testbed/libgnunettestbed.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la
-gnunet_regex_profiler_DEPENDENCIES = \
-  libgnunetmesh.la
 
-check_PROGRAMS = \
- test_mesh_api \
- test_mesh_tree_api \
- test_mesh_local_1 \
- test_mesh_local_2 \
- test_mesh_local_traffic_fwd \
- test_mesh_local_traffic_bck \
- test_mesh_local_traffic_both \
- test_mesh_2dtorus \
- test_mesh_regex \
- test_mesh_small_unicast \
- test_mesh_small_multicast \
- test_mesh_small_speed \
- test_mesh_small_speed_nobuf \
- test_mesh_small_speed_min \
- test_mesh_small_speed_backwards \
- test_mesh_small_speed_nobuf_backwards \
- test_mesh_small_speed_min_backwards \
- test_mesh_small_speed_ack
-
-test_mesh_api_SOURCES = \
- test_mesh_api.c
-test_mesh_api_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_api_DEPENDENCIES = \
+dep_mesh_test_lib = \
   libgnunetmesh.la \
-   $(top_builddir)/src/util/libgnunetutil.la
-
-test_mesh_tree_api_SOURCES = \
- test_mesh_tree_api.c
-test_mesh_tree_api_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/dht/libgnunetdht.la
-test_mesh_tree_api_DEPENDENCIES = \
-  libgnunetmesh.la \
-  $(top_builddir)/src/dht/libgnunetdht.la
-
-test_mesh_local_1_SOURCES = \
- test_mesh_local_1.c
-test_mesh_local_1_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_local_1_DEPENDENCIES = \
-  libgnunetmesh.la
-
-test_mesh_local_2_SOURCES = \
- test_mesh_local_2.c
-test_mesh_local_2_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_local_2_DEPENDENCIES = \
-  libgnunetmesh.la
-
-test_mesh_local_traffic_fwd_SOURCES = \
- test_mesh_local_traffic.c
-test_mesh_local_traffic_fwd_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_local_traffic_fwd_DEPENDENCIES = \
-  libgnunetmesh.la
+  libgnunetmeshtest.a \
+  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
-test_mesh_local_traffic_bck_SOURCES = \
- test_mesh_local_traffic.c
-test_mesh_local_traffic_bck_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_local_traffic_bck_DEPENDENCIES = \
-  libgnunetmesh.la
-
-test_mesh_local_traffic_both_SOURCES = \
- test_mesh_local_traffic.c
-test_mesh_local_traffic_both_LDADD = \
- $(top_builddir)/src/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/mesh/libgnunetmesh.la
-test_mesh_local_traffic_both_DEPENDENCIES = \
-  libgnunetmesh.la
 
+gnunet_mesh_profiler_SOURCES = \
+  gnunet-mesh-profiler.c
+gnunet_mesh_profiler_LDADD = $(ld_mesh_test_lib)
+gnunet_mesh_profiler_DEPENDENCIES = $(dep_mesh_test_lib)
 
-test_mesh_2dtorus_SOURCES = \
- test_mesh_2dtorus.c
-test_mesh_2dtorus_LDADD = \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
 
-test_mesh_regex_SOURCES = \
- test_mesh_regex.c
-test_mesh_regex_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_regex_DEPENDENCIES = \
-  libgnunetmesh.la
+test_mesh_single_SOURCES = \
+  test_mesh_single.c
+test_mesh_single_LDADD = $(ld_mesh_test_lib)
+test_mesh_single_DEPENDENCIES = $(dep_mesh_test_lib)
 
+test_mesh_local_SOURCES = \
+  test_mesh_local.c
+test_mesh_local_LDADD = $(ld_mesh_test_lib)
+test_mesh_local_DEPENDENCIES = $(dep_mesh_test_lib)
 
-test_mesh_small_unicast_SOURCES = \
- test_mesh_small.c
-test_mesh_small_unicast_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_unicast_DEPENDENCIES = \
-  libgnunetmesh.la
+test_mesh_small_forward_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_forward_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_forward_DEPENDENCIES = $(dep_mesh_test_lib)
 
-test_mesh_small_multicast_SOURCES = \
- test_mesh_small.c
-test_mesh_small_multicast_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_multicast_DEPENDENCIES = \
-  libgnunetmesh.la
+test_mesh_small_signal_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_signal_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_signal_DEPENDENCIES = $(dep_mesh_test_lib)
 
-test_mesh_small_speed_ack_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_ack_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_ack_DEPENDENCIES = \
-  libgnunetmesh.la
+test_mesh_small_keepalive_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_keepalive_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_keepalive_DEPENDENCIES = $(dep_mesh_test_lib)
 
 test_mesh_small_speed_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_DEPENDENCIES = \
-  libgnunetmesh.la
+  test_mesh_small.c
+test_mesh_small_speed_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_DEPENDENCIES = $(dep_mesh_test_lib)
 
-test_mesh_small_speed_min_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_min_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_min_DEPENDENCIES = \
-  libgnunetmesh.la
+test_mesh_small_speed_ack_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_speed_ack_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_ack_DEPENDENCIES = $(dep_mesh_test_lib)
 
 test_mesh_small_speed_nobuf_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_nobuf_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_nobuf_DEPENDENCIES = \
-  libgnunetmesh.la
+  test_mesh_small.c
+test_mesh_small_speed_nobuf_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_nobuf_DEPENDENCIES = $(dep_mesh_test_lib)
 
 test_mesh_small_speed_backwards_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_backwards_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_backwards_DEPENDENCIES = \
-  libgnunetmesh.la
-
-test_mesh_small_speed_min_backwards_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_min_backwards_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_min_backwards_DEPENDENCIES = \
-  libgnunetmesh.la
+  test_mesh_small.c
+test_mesh_small_speed_backwards_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
 
 test_mesh_small_speed_nobuf_backwards_SOURCES = \
- test_mesh_small.c
-test_mesh_small_speed_nobuf_backwards_LDADD = \
-  $(top_builddir)/src/mesh/libgnunetmesh.la \
-  $(top_builddir)/src/util/libgnunetutil.la \
-  $(top_builddir)/src/testing_old/libgnunettesting_old.la
-test_mesh_small_speed_nobuf_backwards_DEPENDENCIES = \
-  libgnunetmesh.la
+  test_mesh_small.c
+test_mesh_small_speed_nobuf_backwards_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_nobuf_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
+
+test_mesh_small_speed_reliable_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_speed_reliable_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_reliable_DEPENDENCIES = $(dep_mesh_test_lib)
+
+test_mesh_small_speed_reliable_backwards_SOURCES = \
+  test_mesh_small.c
+test_mesh_small_speed_reliable_backwards_LDADD = $(ld_mesh_test_lib)
+test_mesh_small_speed_reliable_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
 
 
 if ENABLE_TEST_RUN
-TESTS = test_mesh_api \
- test_mesh_tree_api \
- test_mesh_local_1 test_mesh_local_2 \
- test_mesh_local_traffic_fwd \
- test_mesh_local_traffic_bck \
- test_mesh_local_traffic_both \
- test_mesh_2dtorus test_mesh_regex \
- test_mesh_small_unicast test_mesh_small_multicast \
- test_mesh_small_speed \
- test_mesh_small_speed_min \
- test_mesh_small_speed_nobuf \
- test_mesh_small_speed_backwards \
- test_mesh_small_speed_min_backwards
+AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;
+TESTS = \
+ $(check_PROGRAMS)
 endif
 
 EXTRA_DIST = \
+  mesh.h mesh_protocol.h \
   test_mesh.conf \
-  test_mesh_2dtorus.conf \
-  test_mesh_small.conf \
-  test_mesh_path.conf \
-  regex_profiler_test.conf
+  test_mesh_drop.conf