a lot of new testcases
[oweals/gnunet.git] / src / transport / Makefile.am
1 INCLUDES = -I$(top_srcdir)/src/include
2
3 plugindir = $(libdir)/gnunet
4
5 if MINGW
6   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
7   NATBIN = gnunet-nat-server gnunet-nat-client
8   NATSERVER = gnunet-nat-server-windows.c
9   NATCLIENT = gnunet-nat-client-windows.c
10 else
11   NATSERVER = gnunet-nat-server.c
12   NATCLIENT = gnunet-nat-client.c
13 endif
14
15 if HAVE_MHD
16  GN_LIBMHD = -lmicrohttpd
17  HTTP_PLUGIN_LA = libgnunet_plugin_transport_http.la
18  HTTP_PLUGIN_TEST = test_plugin_transport_http
19  HTTP_API_TEST = test_transport_api_http
20  HTTP_REL_TEST = test_transport_api_reliability_http
21  HTTP_QUOTA_TEST = test_quota_compliance_http \
22                                    test_quota_compliance_http_asymmetric_recv_constant \
23                                    test_quota_compliance_http_asymmetric_send_constant
24
25  HTTPS_PLUGIN_LA = libgnunet_plugin_transport_https.la
26  HTTPS_PLUGIN_TEST = test_plugin_transport_https
27  HTTPS_API_TEST = test_transport_api_https
28  HTTPS_REL_TEST = test_transport_api_reliability_https
29  HTTPS_QUOTA_TEST = test_quota_compliance_https \
30                                         test_quota_compliance_https_asymmetric_recv_constant \
31                                         test_quota_compliance_https_asymmetric_send_constant
32 endif
33
34 if USE_COVERAGE
35   AM_CFLAGS = --coverage -O0
36 endif
37
38 if HAVE_PCAP
39 if LINUX
40  WANBIN = gnunet-transport-wlan-helper
41  WLAN_PLUGIN_LA = libgnunet_plugin_transport_wlan.la
42 endif
43 endif
44
45 if LINUX
46 NATBIN = gnunet-nat-server gnunet-nat-client
47 install-exec-hook:
48         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
49         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
50 else
51 install-exec-hook:
52 endif
53
54 #noinst_PROGRAMS = ${check_PROGRAMS}
55
56 lib_LTLIBRARIES = \
57   libgnunettransport.la
58
59 libgnunettransport_la_SOURCES = \
60   transport_api.c transport.h \
61   transport_api_blacklist.c \
62   transport_api_address_lookup.c 
63 libgnunettransport_la_LIBADD = \
64   $(top_builddir)/src/hello/libgnunethello.la \
65   $(top_builddir)/src/util/libgnunetutil.la \
66   $(GN_LIBINTL) 
67 libgnunettransport_la_LDFLAGS = \
68   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
69   -version-info 0:0:0
70
71
72 bin_PROGRAMS = \
73  gnunet-transport \
74  $(WANBIN) \
75  gnunet-service-transport $(NATBIN)
76
77 bin_SCRIPTS = \
78  gnunet-transport-certificate-creation
79
80 gnunet_nat_server_SOURCES = \
81  $(NATSERVER)
82
83 gnunet_transport_wlan_helper_SOURCES = \
84  gnunet-transport-wlan-helper.c         
85 gnunet_transport_wlan_helper_LDADD = \
86  -lpcap
87
88 gnunet_nat_client_SOURCES = \
89  $(NATCLIENT)         
90
91 gnunet_transport_SOURCES = \
92  gnunet-transport.c         
93 gnunet_transport_LDADD = \
94   $(top_builddir)/src/transport/libgnunettransport.la \
95   $(top_builddir)/src/util/libgnunetutil.la \
96   $(GN_LIBINTL)
97
98 gnunet_service_transport_SOURCES = \
99  gnunet-service-transport.c plugin_transport.h 
100 gnunet_service_transport_LDADD = \
101   $(top_builddir)/src/hello/libgnunethello.la \
102   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
103   $(top_builddir)/src/statistics/libgnunetstatistics.la \
104   $(top_builddir)/src/util/libgnunetutil.la \
105   $(GN_LIBINTL)
106
107
108 plugin_LTLIBRARIES = \
109   libgnunet_plugin_transport_tcp.la \
110   libgnunet_plugin_transport_udp.la \
111   $(HTTP_PLUGIN_LA) \
112   $(HTTPS_PLUGIN_LA) \
113   $(WLAN_PLUGIN_LA) \
114   libgnunet_plugin_transport_template.la
115 # TODO: add nat, etc.
116
117 libgnunet_plugin_transport_tcp_la_SOURCES = \
118   plugin_transport_tcp.c
119 libgnunet_plugin_transport_tcp_la_LIBADD = \
120   $(top_builddir)/src/hello/libgnunethello.la \
121   $(top_builddir)/src/statistics/libgnunetstatistics.la \
122   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
123   $(top_builddir)/src/util/libgnunetutil.la 
124 libgnunet_plugin_transport_tcp_la_LDFLAGS = \
125  $(GN_PLUGIN_LDFLAGS)
126
127 libgnunet_plugin_transport_template_la_SOURCES = \
128   plugin_transport_template.c
129 libgnunet_plugin_transport_template_la_LIBADD = \
130   $(top_builddir)/src/util/libgnunetutil.la 
131 libgnunet_plugin_transport_template_la_LDFLAGS = \
132  $(GN_PLUGIN_LDFLAGS)
133
134 if HAVE_PCAP
135 if LINUX
136 libgnunet_plugin_transport_wlan_la_SOURCES = \
137         plugin_transport_wlan.c
138 libgnunet_plugin_transport_wlan_la_LIBADD = \
139         $(top_builddir)/src/hello/libgnunethello.la \
140         $(top_builddir)/src/statistics/libgnunetstatistics.la \
141         $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
142         $(top_builddir)/src/util/libgnunetutil.la 
143 libgnunet_plugin_transport_wlan_la_LDFLAGS = \
144         $(GN_PLUGIN_LDFLAGS)
145 endif
146 endif
147
148 libgnunet_plugin_transport_udp_la_SOURCES = \
149   plugin_transport_udp.c
150 libgnunet_plugin_transport_udp_la_LIBADD = \
151   $(top_builddir)/src/hello/libgnunethello.la \
152   $(top_builddir)/src/statistics/libgnunetstatistics.la \
153   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
154   $(top_builddir)/src/util/libgnunetutil.la 
155 libgnunet_plugin_transport_udp_la_LDFLAGS = \
156  $(GN_PLUGIN_LDFLAGS)
157
158 #libgnunet_plugin_transport_udp_nat_la_SOURCES = \
159 #  plugin_transport_udp_nat.c
160 #libgnunet_plugin_transport_udp_nat_la_LIBADD = \
161 #  $(top_builddir)/src/hello/libgnunethello.la \
162 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
163 #  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
164 #  $(top_builddir)/src/util/libgnunetutil.la 
165 #libgnunet_plugin_transport_udp_nat_la_LDFLAGS = \
166 # $(GN_PLUGIN_LDFLAGS)
167
168 if HAVE_MHD 
169 libgnunet_plugin_transport_http_la_SOURCES = \
170   plugin_transport_http.c
171 libgnunet_plugin_transport_http_la_LIBADD = \
172   $(top_builddir)/src/hello/libgnunethello.la \
173   $(top_builddir)/src/statistics/libgnunetstatistics.la \
174   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
175   @LIBCURL@ \
176   $(top_builddir)/src/util/libgnunetutil.la 
177 libgnunet_plugin_transport_http_la_LDFLAGS = \
178  $(GN_LIBMHD) \
179  $(GN_PLUGIN_LDFLAGS)
180  
181 libgnunet_plugin_transport_https_la_SOURCES = \
182   plugin_transport_http.c
183 libgnunet_plugin_transport_https_la_LIBADD = \
184   $(top_builddir)/src/hello/libgnunethello.la \
185   $(top_builddir)/src/statistics/libgnunetstatistics.la \
186   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
187   @LIBCURL@ \
188   $(top_builddir)/src/util/libgnunetutil.la 
189 libgnunet_plugin_transport_https_la_LDFLAGS = \
190  $(GN_LIBMHD) \
191  $(GN_PLUGIN_LDFLAGS)
192 libgnunet_plugin_transport_https_la_CFLAGS = \
193  $(CFLAGS) -DBUILD_HTTPS  
194 endif
195
196 check_PROGRAMS = \
197  test_transport_api_tcp \
198  test_transport_api_tcp_nat \
199  test_transport_api_udp \
200  test_transport_api_udp_nat \
201  $(HTTP_PLUGIN_TEST) \
202  $(HTTP_API_TEST) \
203  $(HTTPS_PLUGIN_TEST) \
204  $(HTTPS_API_TEST) \
205  test_transport_api_reliability_tcp \
206  test_transport_api_reliability_tcp_nat \
207  test_transport_api_reliability_udp \
208  $(HTTP_REL_TEST) \
209  $(HTTPS_REL_TEST) \
210  test_quota_compliance_tcp \
211  test_quota_compliance_tcp_asymmetric_recv_constant \
212  test_quota_compliance_tcp_asymmetric_send_constant \
213  test_quota_compliance_udp \
214  test_quota_compliance_udp_asymmetric_send_constant \
215  test_quota_compliance_udp_asymmetric_recv_constant \
216  $(HTTP_QUOTA_TEST) \
217  $(HTTPS_QUOTA_TEST)
218 # TODO: add tests for nat, etc.
219
220 if !DISABLE_TEST_RUN
221 TESTS = \
222  test_transport_api_tcp \
223  test_transport_api_tcp_nat \
224  test_transport_api_udp \
225  test_transport_api_udp_nat \
226  $(HTTP_PLUGIN_TEST) \
227  $(HTTP_API_TEST) \
228  $(HTTPS_PLUGIN_TEST) \
229  $(HTTPS_API_TEST) \
230  test_transport_api_reliability_tcp \
231  test_transport_api_reliability_tcp_nat \
232  $(HTTP_REL_TEST) \
233  $(HTTPS_REL_TEST) \
234  test_quota_compliance_tcp \
235  test_quota_compliance_tcp_asymmetric_recv_constant \
236  test_quota_compliance_tcp_asymmetric_send_constant \
237  test_quota_compliance_udp \
238  test_quota_compliance_udp_asymmetric_send_constant \
239  test_quota_compliance_udp_asymmetric_recv_constant \
240  $(HTTP_QUOTA_TEST) \
241  $(HTTPS_QUOTA_TEST)
242 endif
243
244 test_transport_api_tcp_SOURCES = \
245  test_transport_api.c
246 test_transport_api_tcp_LDADD = \
247  $(top_builddir)/src/transport/libgnunettransport.la \
248  $(top_builddir)/src/util/libgnunetutil.la  
249
250 test_transport_api_tcp_nat_SOURCES = \
251  test_transport_api.c
252 test_transport_api_tcp_nat_LDADD = \
253  $(top_builddir)/src/transport/libgnunettransport.la \
254  $(top_builddir)/src/util/libgnunetutil.la  
255
256 test_transport_api_reliability_tcp_SOURCES = \
257  test_transport_api_reliability.c
258 test_transport_api_reliability_tcp_LDADD = \
259  $(top_builddir)/src/transport/libgnunettransport.la \
260  $(top_builddir)/src/util/libgnunetutil.la  
261
262 test_transport_api_reliability_tcp_nat_SOURCES = \
263  test_transport_api_reliability.c
264 test_transport_api_reliability_tcp_nat_LDADD = \
265  $(top_builddir)/src/transport/libgnunettransport.la \
266  $(top_builddir)/src/util/libgnunetutil.la 
267
268 test_transport_api_reliability_udp_SOURCES = \
269  test_transport_api_reliability.c
270 test_transport_api_reliability_udp_LDADD = \
271  $(top_builddir)/src/transport/libgnunettransport.la \
272  $(top_builddir)/src/util/libgnunetutil.la   
273
274 test_transport_api_udp_SOURCES = \
275  test_transport_api.c
276 test_transport_api_udp_LDADD = \
277  $(top_builddir)/src/transport/libgnunettransport.la \
278  $(top_builddir)/src/util/libgnunetutil.la  
279
280 test_transport_api_udp_nat_SOURCES = \
281  test_transport_api.c
282 test_transport_api_udp_nat_LDADD = \
283  $(top_builddir)/src/transport/libgnunettransport.la \
284  $(top_builddir)/src/util/libgnunetutil.la  
285
286 if HAVE_MHD
287
288 test_plugin_transport_http_SOURCES = \
289  test_plugin_transport_http.c
290 test_plugin_transport_http_LDADD = \
291  $(top_builddir)/src/transport/libgnunettransport.la \
292  $(top_builddir)/src/statistics/libgnunetstatistics.la \
293  @LIBCURL@ \
294  $(top_builddir)/src/util/libgnunetutil.la  
295
296 test_transport_api_http_SOURCES = \
297  test_transport_api.c
298 test_transport_api_http_LDADD = \
299  $(top_builddir)/src/transport/libgnunettransport.la \
300  $(top_builddir)/src/util/libgnunetutil.la  
301
302 test_transport_api_reliability_http_SOURCES = \
303  test_transport_api_reliability.c
304 test_transport_api_reliability_http_LDADD = \
305  $(top_builddir)/src/transport/libgnunettransport.la \
306  $(top_builddir)/src/util/libgnunetutil.la
307  
308 test_plugin_transport_https_SOURCES = \
309  test_plugin_transport_https.c
310 test_plugin_transport_https_LDADD = \
311  $(top_builddir)/src/transport/libgnunettransport.la \
312  $(top_builddir)/src/statistics/libgnunetstatistics.la \
313  @LIBCURL@ \
314  $(top_builddir)/src/util/libgnunetutil.la  
315
316 test_transport_api_https_SOURCES = \
317  test_transport_api.c
318 test_transport_api_https_LDADD = \
319  $(top_builddir)/src/transport/libgnunettransport.la \
320  $(top_builddir)/src/util/libgnunetutil.la  
321
322 test_transport_api_reliability_https_SOURCES = \
323  test_transport_api_reliability.c
324 test_transport_api_reliability_https_LDADD = \
325  $(top_builddir)/src/transport/libgnunettransport.la \
326  $(top_builddir)/src/util/libgnunetutil.la
327
328 test_quota_compliance_tcp_SOURCES = \
329  test_quota_compliance.c
330 test_quota_compliance_tcp_LDADD = \
331  $(top_builddir)/src/transport/libgnunettransport.la \
332  $(top_builddir)/src/util/libgnunetutil.la
333
334 test_quota_compliance_tcp_asymmetric_recv_constant_SOURCES = \
335  test_quota_compliance.c
336 test_quota_compliance_tcp_asymmetric_recv_constant_LDADD = \
337  $(top_builddir)/src/transport/libgnunettransport.la \
338  $(top_builddir)/src/util/libgnunetutil.la
339  
340  test_quota_compliance_tcp_asymmetric_send_constant_SOURCES = \
341  test_quota_compliance.c
342 test_quota_compliance_tcp_asymmetric_send_constant_LDADD = \
343  $(top_builddir)/src/transport/libgnunettransport.la \
344  $(top_builddir)/src/util/libgnunetutil.la
345
346 test_quota_compliance_http_SOURCES = \
347  test_quota_compliance.c
348 test_quota_compliance_http_LDADD = \
349  $(top_builddir)/src/transport/libgnunettransport.la \
350  $(top_builddir)/src/util/libgnunetutil.la
351  
352  test_quota_compliance_http_asymmetric_recv_constant_SOURCES = \
353  test_quota_compliance.c
354 test_quota_compliance_http_asymmetric_recv_constant_LDADD = \
355  $(top_builddir)/src/transport/libgnunettransport.la \
356  $(top_builddir)/src/util/libgnunetutil.la
357  
358  test_quota_compliance_http_asymmetric_send_constant_SOURCES = \
359  test_quota_compliance.c
360 test_quota_compliance_http_asymmetric_send_constant_LDADD = \
361  $(top_builddir)/src/transport/libgnunettransport.la \
362  $(top_builddir)/src/util/libgnunetutil.la
363
364 test_quota_compliance_https_SOURCES = \
365  test_quota_compliance.c
366 test_quota_compliance_https_LDADD = \
367  $(top_builddir)/src/transport/libgnunettransport.la \
368  $(top_builddir)/src/util/libgnunetutil.la
369
370  test_quota_compliance_https_asymmetric_recv_constant_SOURCES = \
371  test_quota_compliance.c
372 test_quota_compliance_https_asymmetric_recv_constant_LDADD = \
373  $(top_builddir)/src/transport/libgnunettransport.la \
374  $(top_builddir)/src/util/libgnunetutil.la
375  
376  test_quota_compliance_https_asymmetric_send_constant_SOURCES = \
377  test_quota_compliance.c
378 test_quota_compliance_https_asymmetric_send_constant_LDADD = \
379  $(top_builddir)/src/transport/libgnunettransport.la \
380  $(top_builddir)/src/util/libgnunetutil.la
381
382
383 test_quota_compliance_udp_SOURCES = \
384  test_quota_compliance.c
385 test_quota_compliance_udp_LDADD = \
386  $(top_builddir)/src/transport/libgnunettransport.la \
387  $(top_builddir)/src/util/libgnunetutil.la
388  
389 test_quota_compliance_udp_asymmetric_recv_constant_SOURCES = \
390  test_quota_compliance.c
391 test_quota_compliance_udp_asymmetric_recv_constant_LDADD = \
392  $(top_builddir)/src/transport/libgnunettransport.la \
393  $(top_builddir)/src/util/libgnunetutil.la
394  
395 test_quota_compliance_udp_asymmetric_send_constant_SOURCES = \
396  test_quota_compliance.c
397 test_quota_compliance_udp_asymmetric_send_constant_LDADD = \
398  $(top_builddir)/src/transport/libgnunettransport.la \
399  $(top_builddir)/src/util/libgnunetutil.la 
400
401 endif
402
403
404 EXTRA_DIST = \
405   test_transport_api_data.conf \
406   test_transport_api_tcp_peer1.conf \
407   test_transport_api_tcp_peer2.conf \
408   test_transport_api_udp_peer1.conf \
409   test_transport_api_udp_peer2.conf \
410   test_transport_api_udp_nat_peer1.conf \
411   test_transport_api_udp_nat_peer2.conf \
412   test_transport_api_tcp_nat_peer1.conf \
413   test_transport_api_tcp_nat_peer2.conf \
414   test_plugin_transport_data.conf \
415   test_transport_api_http_peer1.conf \
416   test_transport_api_http_peer2.conf \
417   test_transport_api_https_peer1.conf \
418   test_transport_api_https_peer2.conf \
419   test_transport_api_rel_http_peer1.conf \
420   test_transport_api_rel_http_peer2.conf \
421   test_transport_api_rel_https_peer1.conf \
422   test_transport_api_rel_https_peer2.conf \
423   test_plugin_transport_data_http.conf \
424   test_plugin_transport_data.conf \
425   test_quota_compliance_data.conf \
426   test_quota_compliance_tcp_peer1.conf \
427   test_quota_compliance_tcp_peer2.conf \
428   test_quota_compliance_http_peer1.conf \
429   test_quota_compliance_http_peer2.conf \
430   test_quota_compliance_https_peer1.conf \
431   test_quota_compliance_https_peer2.conf \
432   test_quota_compliance_udp_peer1.conf \
433   test_quota_compliance_udp_peer2.conf