aboutsummaryrefslogtreecommitdiff
path: root/src/dns/meson.build
blob: f5fae3b842d0f66f959f774cda7e7e0d8d4b3960 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
libgnunetdns_src = ['dns_api.c']
libgnunetpluginblockdns_src = ['plugin_block_dns.c']

gnunetservicedns_src = ['gnunet-service-dns.c']
gnunetdnsredirector_src = ['gnunet-dns-monitor.c']
gnunetdnsmonitor_src = ['gnunet-dns-redirector.c']

configure_file(input : 'dns.conf.in',
               output : 'dns.conf',
               configuration : cdata,
               install: true,
               install_dir: pkgcfgdir)

if get_option('monolith')
  foreach p : libgnunetdns_src + gnunetservicedns_src + libgnunetpluginblockdns_src
    gnunet_src += 'dns/' + p
  endforeach
  subdir_done()
endif

libgnunetdns = library('gnunetdns',
        libgnunetdns_src,
        soversion: '0',
        version: '0.0.0',
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
libgnunetdns_dep = declare_dependency(link_with : libgnunetdns)
pkg.generate(libgnunetdns, url: 'https://www.gnunet.org',
             description : 'Provides API to access GNUnet\'s DNS service (to intercept and manipulate DNS queries)')

shared_module('gnunet_plugin_block_dns',
        libgnunetpluginblockdns_src,
        dependencies: [libgnunetutil_dep, libgnunetblockgroup_dep],
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir')/'gnunet')

executable ('gnunet-service-dns',
            gnunetservicedns_src,
            dependencies: [libgnunetdns_dep, libgnunetutil_dep,
                           libgnunetstatistics_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir')/'gnunet'/'libexec')
executable ('gnunet-dns-monitor',
            gnunetdnsmonitor_src,
            dependencies: [libgnunetdns_dep, libgnunetutil_dep, libgnunetdns_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir')/'gnunet'/'libexec')
executable ('gnunet-dns-redirector',
            gnunetdnsredirector_src,
            dependencies: [libgnunetdns_dep, libgnunetutil_dep, libgnunetdns_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir')/'gnunet'/'libexec')

if host_machine.system() == 'linux'
  executable ('gnunet-helper-dns',
              ['gnunet-helper-dns.c'],
              dependencies: [libgnunetdns_dep, libgnunetutil_dep, libgnunetdns_dep],
              include_directories: [incdir, configuration_inc],
              install: true,
              install_dir: get_option('libdir')/'gnunet'/'libexec')

  test_dns = configure_file(input : 'test_gnunet_dns.sh',
                 output : 'test_gnunet_dns.sh',
                 install: false)

  test('test_gnunet_gns', test_dns, suite: 'dns', workdir: meson.current_build_dir())
endif