aboutsummaryrefslogtreecommitdiff
path: root/src/transport/meson.build
blob: 12a86aaeee58d013bce49d59a5454266c83879b8 (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
libgnunettransport_src = ['transport_api_address_to_string.c',
                          'transport_api_blacklist.c',
                          'transport_api_core.c',
                          'transport_api_hello_get.c',
                          'transport_api_manipulation.c',
                          'transport_api_monitor_peers.c',
                          'transport_api_monitor_plugins.c',
                          'transport_api_offer_hello.c']
libgnunettransportapplication_src = ['transport_api2_application.c']
libgnunettransportcore_src = ['transport_api2_core.c']
libgnunettransportcommunicator_src = ['transport_api2_communication.c']
libgnunettransportmonitor_src = ['transport_api2_monitor.c']

gnunetservicetransport_src = ['gnunet-service-tng.c']
gnunetcommunicatortcp_src = ['gnunet-communicator-tcp.c']
gnunetcommunicatorudp_src = ['gnunet-communicator-udp.c']

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


if get_option('monolith')
  foreach p : libgnunettransport_src #+ libgnunettransportapplication_src + libgnunettransportcore_src + libgnunettransportcommunicator_src + libgnunettransportmonitor_src + gnunetservicetransport_src
    gnunet_src += 'transport/' + p
  endforeach
endif

libgnunettransport = library('gnunettransport',
        libgnunettransport_src,
        dependencies: [libgnunetutil_dep, libgnunetats_dep, libgnunethello_dep],
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
pkg.generate(libgnunettransport, url: 'https://www.gnunet.org',
             description : 'Provides API for accessing the transport service')
libgnunettransport_dep = declare_dependency(link_with : libgnunettransport)

libgnunettransportapplication = library('gnunettransportapplication',
        libgnunettransportapplication_src,
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
pkg.generate(libgnunettransportapplication, url: 'https://www.gnunet.org',
             description : 'Provides application APIs for accessing the transport service')
libgnunettransportapplication_dep = declare_dependency(link_with : libgnunettransportapplication)

libgnunettransportcore = library('gnunettransportcore',
        libgnunettransportcore_src,
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
pkg.generate(libgnunettransportcore, url: 'https://www.gnunet.org',
             description : 'Provides core API for accessing the transport service')
libgnunettransportcore_dep = declare_dependency(link_with : libgnunettransportcore)

libgnunettransportcommunicator = library('gnunettransportcommunicator',
        libgnunettransportcommunicator_src,
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
pkg.generate(libgnunettransportcommunicator, url: 'https://www.gnunet.org',
             description : 'Provides communicator API for accessing the transport service')
libgnunettransportcommunicator_dep = declare_dependency(link_with : libgnunettransportcommunicator)

libgnunettransportmonitor = library('gnunettransportmonitor',
        libgnunettransportmonitor_src,
        dependencies: libgnunetutil_dep,
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))
pkg.generate(libgnunettransportmonitor, url: 'https://www.gnunet.org',
             description : 'Provides monitor API for accessing the transport service')
libgnunettransportmonitor_dep = declare_dependency(link_with : libgnunettransportmonitor)

executable ('gnunet-service-transport',
            gnunetservicetransport_src,
            dependencies: [libgnunettransport_dep, libgnunetutil_dep,
                           libgnunethello_dep,
                           libgnunetpeerstore_dep,
                           m_dep,
                           libgnunetstatistics_dep,
                           gcrypt_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir') / 'gnunet' / 'libexec')