aboutsummaryrefslogtreecommitdiff
path: root/src/service/dht/meson.build
blob: 45157243d286e6116df5b41f36afba40ea58fcd0 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
libgnunetdht_src = ['dht_api.c']

gnunetservicedht_src = ['gnunet-service-dht.c',
                        'plugin_dhtu_gnunet.c',
                        'plugin_dhtu_ip.c',
                        'gnunet-service-dht_datacache.c',
                        'gnunet-service-dht_neighbours.c',
                        'gnunet-service-dht_routing.c']

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

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

if get_option('monolith')
  foreach p : libgnunetdht_src + gnunetservicedht_src
    gnunet_src += 'dht/' + p
  endforeach
endif

libgnunetdht = library('gnunetdht',
        libgnunetdht_src,
        soversion: '4',
        version: '4.0.0',
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
libgnunetdht_dep = declare_dependency(link_with : libgnunetdht)
pkg.generate(libgnunetdht, url: 'https://www.gnunet.org',
           description : 'Provides API for the R5N distributed hash table')

executable ('gnunet-service-dht',
            gnunetservicedht_src,
            dependencies: [libgnunetdht_dep, libgnunetutil_dep,
                           libgnunetblock_dep,
                           libgnunetcore_dep,
                           libgnunetnse_dep,
                           libgnunettransportapplication_dep,
                           libgnunetpeerstore_dep,
                           m_dep,
                           libgnunetdatacache_dep,
                           libgnunetstatistics_dep,
                           libgnunetblockgroup_dep,
                           libgnunethello_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir')/'gnunet'/'libexec')

libgnunettestingdhtu = library('gnunettestingdhtu',
        ['testing_dhtu_cmd_send.c'],
        soversion: '0',
        version: '0.0.0',
        dependencies: [
          libgnunetutil_dep,
          libgnunetarm_dep,
          libgnunettesting_dep
          ],
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
libgnunettestingdhtu_dep = declare_dependency(link_with : libgnunettestingdhtu)

configure_file(input : 'test_dht_api_data.conf',
               output : 'test_dht_api_data.conf',
               copy: true)

testdht_api = executable ('test_dht_api',
            ['test_dht_api.c'],
            dependencies: [libgnunetdht_dep,
                           libgnunetutil_dep,
                           libgnunettesting_dep,
                           libgnunethello_dep],
            include_directories: [incdir, configuration_inc],
            install: false)

test('test_dht_api', testdht_api, suite: 'dht',
     workdir: meson.current_build_dir())

testdhtu_ip = executable('test_dhtu_ip',
           ['test_dhtu_ip.c'],
          dependencies: [libgnunetutil_dep,
                         libgnunettesting_dep],
          include_directories: [incdir, configuration_inc],
          install: false)

test('test_dhtu_ip', testdhtu_ip, suite: 'dhtu',
     workdir: meson.current_build_dir())