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