add logic to handle SRV/DANE names (#3003 and 2526) in GNS resolver
[oweals/gnunet.git] / src / gns / Makefile.am
1 AM_CPPFLAGS = -I$(top_srcdir)/src/include
2
3 if HAVE_GLIBCNSS
4 if INSTALL_NSS
5 NSS_SUBDIR = nss
6 endif
7 endif
8
9 SUBDIRS = . $(NSS_SUBDIR)
10
11 EXTRA_DIST = \
12   test_gns_defaults.conf \
13   test_gns_lookup.conf \
14   test_gns_nick_shorten.conf \
15   test_gns_proxy.conf \
16   test_gns_simple_lookup.conf \
17   gns-helper-service-w32.conf \
18   w32nsp.def \
19   gnunet-gns-proxy-setup-ca \
20   zonefiles/J7POEUT41A8PBFS7KVVDRF88GBOU4HK8PSU5QKVLVE3R9T91E99G.zkey \
21   zonefiles/OEFL7A4VEF1B40QLEMTG5D8G1CN6EN16QUSG5R2DT71GRJN34LSG.zkey \
22   zonefiles/test_zonekey \
23   $(check_SCRIPTS)
24
25 if MINGW
26   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
27   DO_W32_HELPER = gnunet-gns-helper-service-w32
28   DO_W32_NSP = libw32nsp.la
29   DO_W32_NSPTOOLS = w32nsp-install w32nsp-uninstall w32nsp-resolve
30   DO_W32_HS_CONF = gns-helper-service-w32.conf
31   DO_NONPOSIX_GNSIMPORT = gnunet-gns-import
32 endif
33 USE_VPN = $(top_builddir)/src/vpn/libgnunetvpn.la
34
35 if USE_COVERAGE
36   AM_CFLAGS = --coverage -O0
37 endif
38
39 pkgcfgdir = $(pkgdatadir)/config.d/
40
41 libexecdir= $(pkglibdir)/libexec/
42
43 plugindir = $(libdir)/gnunet
44
45 pkgcfg_DATA = \
46   gns.conf \
47   $(DO_W32_HS_CONF)
48
49 lib_LTLIBRARIES = \
50   $(DO_W32_NSP) \
51   libgnunetgns.la
52
53
54 if HAVE_MHD
55 if HAVE_GNUTLS
56 if HAVE_LIBGNURL
57   DO_PROXY=gnunet-gns-proxy
58 endif
59 endif
60 endif
61
62 libexec_PROGRAMS = \
63   gnunet-service-gns \
64   $(DO_W32_HELPER) \
65   gnunet-dns2gns \
66   $(DO_PROXY)
67
68 bin_PROGRAMS = \
69   $(DO_W32_NSPTOOLS) \
70   $(DO_NONPOSIX_GNSIMPORT) \
71   gnunet-gns
72
73 if HAVE_MHD
74 if LINUX
75 bin_PROGRAMS += gnunet-bcd
76 endif
77 endif
78
79 bin_SCRIPTS = gnunet-gns-proxy-setup-ca
80
81 plugin_LTLIBRARIES = \
82   libgnunet_plugin_block_gns.la \
83   libgnunet_plugin_gnsrecord_gns.la
84
85
86 libgnunet_plugin_gnsrecord_gns_la_SOURCES = \
87   plugin_gnsrecord_gns.c
88 libgnunet_plugin_gnsrecord_gns_la_LIBADD = \
89   $(top_builddir)/src/dns/libgnunetdnsparser.la \
90   $(top_builddir)/src/util/libgnunetutil.la \
91   $(LTLIBINTL)
92 libgnunet_plugin_gnsrecord_gns_la_LDFLAGS = \
93  $(GN_PLUGIN_LDFLAGS)
94
95
96 gnunet_gns_SOURCES = \
97  gnunet-gns.c
98 gnunet_gns_LDADD = \
99   $(top_builddir)/src/gns/libgnunetgns.la \
100   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
101   $(top_builddir)/src/namestore/libgnunetnamestore.la \
102   $(top_builddir)/src/identity/libgnunetidentity.la \
103   $(top_builddir)/src/util/libgnunetutil.la \
104   $(GN_LIBINTL)
105 gnunet_gns_DEPENDENCIES = \
106   $(top_builddir)/src/namestore/libgnunetnamestore.la \
107   $(top_builddir)/src/identity/libgnunetidentity.la \
108   $(top_builddir)/src/util/libgnunetutil.la \
109   libgnunetgns.la
110
111
112 gnunet_bcd_SOURCES = \
113  gnunet-bcd.c
114 gnunet_bcd_LDADD = \
115   $(top_builddir)/src/util/libgnunetutil.la \
116   $(GN_LIBINTL) -lmicrohttpd
117 gnunet_bcd_DEPENDENCIES = \
118   $(top_builddir)/src/util/libgnunetutil.la
119
120
121 gnunet_dns2gns_SOURCES = \
122  gnunet-dns2gns.c
123 gnunet_dns2gns_LDADD = \
124   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
125   $(top_builddir)/src/gns/libgnunetgns.la \
126   $(top_builddir)/src/util/libgnunetutil.la \
127   $(top_builddir)/src/identity/libgnunetidentity.la \
128   $(top_builddir)/src/namestore/libgnunetnamestore.la \
129   $(top_builddir)/src/dns/libgnunetdnsparser.la \
130   $(top_builddir)/src/dns/libgnunetdnsstub.la \
131   $(GN_LIBINTL)
132 gnunet_dns2gns_DEPENDENCIES = \
133   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
134   $(top_builddir)/src/util/libgnunetutil.la \
135   $(top_builddir)/src/identity/libgnunetidentity.la \
136   $(top_builddir)/src/namestore/libgnunetnamestore.la \
137   $(top_builddir)/src/dns/libgnunetdnsparser.la \
138   $(top_builddir)/src/dns/libgnunetdnsstub.la \
139   libgnunetgns.la
140
141 gnunet_gns_proxy_SOURCES = \
142  gnunet-gns-proxy.c
143 gnunet_gns_proxy_CPPFLAGS = $(AM_CPPFLAGS) $(LIBGNURL_CPPFLAGS)
144 gnunet_gns_proxy_LDADD = -lmicrohttpd $(LIBGNURL) -lgnutls \
145   $(top_builddir)/src/gns/libgnunetgns.la \
146   $(top_builddir)/src/identity/libgnunetidentity.la \
147   $(top_builddir)/src/util/libgnunetutil.la \
148   $(GN_LIBINTL)
149 if HAVE_GNUTLS_DANE
150 gnunet_gns_proxy_LDADD += -lgnutls-dane
151 endif
152 gnunet_gns_proxy_DEPENDENCIES = \
153   $(top_builddir)/src/identity/libgnunetidentity.la \
154   $(top_builddir)/src/util/libgnunetutil.la \
155   libgnunetgns.la
156
157 gnunet_gns_helper_service_w32_SOURCES = \
158   gnunet-gns-helper-service-w32.c
159 gnunet_gns_helper_service_w32_LDADD = \
160   $(top_builddir)/src/gns/libgnunetgns.la \
161   $(top_builddir)/src/identity/libgnunetidentity.la \
162   $(top_builddir)/src/util/libgnunetutil.la \
163   $(GN_LIBINTL)
164 gnunet_gns_helper_service_w32_DEPENDENCIES = \
165   $(top_builddir)/src/util/libgnunetutil.la \
166   $(top_builddir)/src/identity/libgnunetidentity.la \
167   libgnunetgns.la
168
169 gnunet_gns_import_SOURCES = \
170   gnunet-gns-import.c
171 gnunet_gns_import_LDADD = \
172   $(top_builddir)/src/identity/libgnunetidentity.la \
173   $(top_builddir)/src/namestore/libgnunetnamestore.la \
174   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
175   $(top_builddir)/src/util/libgnunetutil.la \
176   $(GN_LIBINTL)
177 gnunet_gns_import_DEPENDENCIES = \
178   $(top_builddir)/src/util/libgnunetutil.la \
179   $(top_builddir)/src/namestore/libgnunetnamestore.la \
180   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
181   $(top_builddir)/src/identity/libgnunetidentity.la
182
183 w32nsp_install_SOURCES = \
184   w32nsp-install.c
185 w32nsp_install_LDADD = -lws2_32
186
187 w32nsp_uninstall_SOURCES = \
188   w32nsp-uninstall.c
189 w32nsp_uninstall_LDADD = -lws2_32
190
191 w32nsp_resolve_SOURCES = \
192   w32nsp-resolve.c
193 w32nsp_resolve_LDADD = -lws2_32
194
195 gnunet_service_gns_SOURCES = \
196  gnunet-service-gns.c \
197  gnunet-service-gns_resolver.c gnunet-service-gns_resolver.h \
198  gnunet-service-gns_shorten.c gnunet-service-gns_shorten.h \
199  gnunet-service-gns_interceptor.c gnunet-service-gns_interceptor.h
200 gnunet_service_gns_LDADD = \
201   -lm \
202   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
203   $(top_builddir)/src/revocation/libgnunetrevocation.la \
204   $(top_builddir)/src/statistics/libgnunetstatistics.la \
205   $(top_builddir)/src/util/libgnunetutil.la \
206   $(top_builddir)/src/dns/libgnunetdns.la \
207   $(top_builddir)/src/dns/libgnunetdnsparser.la \
208   $(top_builddir)/src/dns/libgnunetdnsstub.la \
209   $(top_builddir)/src/dht/libgnunetdht.la \
210   $(top_builddir)/src/tun/libgnunettun.la \
211   $(top_builddir)/src/namecache/libgnunetnamecache.la \
212   $(top_builddir)/src/namestore/libgnunetnamestore.la \
213   $(USE_VPN) \
214   $(GN_LIBINTL)
215 gnunet_service_gns_DEPENDENCIES = \
216   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la \
217   $(top_builddir)/src/revocation/libgnunetrevocation.la \
218   $(top_builddir)/src/statistics/libgnunetstatistics.la \
219   $(top_builddir)/src/util/libgnunetutil.la \
220   $(top_builddir)/src/tun/libgnunettun.la \
221   $(top_builddir)/src/dns/libgnunetdns.la \
222   $(top_builddir)/src/dns/libgnunetdnsparser.la \
223   $(top_builddir)/src/dht/libgnunetdht.la \
224   $(top_builddir)/src/namestore/libgnunetnamestore.la \
225   $(USE_VPN)
226
227
228
229 libw32nsp_la_SOURCES = \
230   w32nsp.c
231 libw32nsp_la_LIBADD = \
232   -lole32 -lws2_32
233 libw32nsp_la_LDFLAGS = \
234   -export-symbols $(top_srcdir)/src/gns/w32nsp.def \
235   -no-undefined -static-libgcc
236
237 libgnunetgns_la_SOURCES = \
238  gns_api.c gns.h
239 libgnunetgns_la_LIBADD = \
240  $(top_builddir)/src/util/libgnunetutil.la $(XLIB) \
241  $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la
242 libgnunetgns_la_LDFLAGS = \
243   $(GN_LIB_LDFLAGS)
244 libgnunetgns_la_DEPENDENCIES = \
245  $(top_builddir)/src/util/libgnunetutil.la \
246  $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la
247
248
249 libgnunet_plugin_block_gns_la_SOURCES = \
250   plugin_block_gns.c
251 libgnunet_plugin_block_gns_la_LIBADD = \
252   $(top_builddir)/src/util/libgnunetutil.la \
253   $(top_builddir)/src/block/libgnunetblock.la \
254   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la
255 libgnunet_plugin_block_gns_la_LDFLAGS = \
256   $(GN_PLUGIN_LDFLAGS)
257 libgnunet_plugin_block_gns_la_DEPENDENCIES = \
258   $(top_builddir)/src/util/libgnunetutil.la \
259   $(top_builddir)/src/block/libgnunetblock.la \
260   $(top_builddir)/src/gnsrecord/libgnunetgnsrecord.la
261
262
263 check_SCRIPTS = \
264   test_gns_lookup.sh \
265   test_gns_ipv6_lookup.sh\
266   test_gns_txt_lookup.sh\
267   test_gns_mx_lookup.sh \
268   test_gns_gns2dns_lookup.sh \
269   test_gns_dht_lookup.sh\
270   test_gns_delegated_lookup.sh \
271   test_gns_nick_shorten.sh\
272   test_gns_plus_lookup.sh\
273   test_gns_zkey_lookup.sh\
274   test_gns_rel_expiration.sh\
275   test_gns_soa_lookup.sh\
276   test_gns_revocation.sh\
277   test_gns_cname_lookup.sh
278
279 if ENABLE_TEST_RUN
280 if HAVE_SQLITE
281  AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;
282  TESTS = $(check_SCRIPTS)
283 endif
284 endif
285