aboutsummaryrefslogtreecommitdiff
path: root/src/transport/meson.build
blob: 9a3a2ebd03d4a5a3e89a05064c77879806a8babe (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
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']
gnunetcommunicatorunix_src = ['gnunet-communicator-unix.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,
        soversion: '2',
        version: '2.2.0',
        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)

libgnunettransporttesting = library('gnunettransporttesting',
        [
          'transport-testing.c',
          'transport-testing-filenames.c',
          'transport-testing-loggers.c',
          'transport-testing-main.c',
          'transport-testing-send.c'
          ],
        soversion: '2',
        version: '2.2.0',
        dependencies: [libgnunetutil_dep,
                       libgnunettesting_dep,
                       libgnunettransport_dep,
                       libgnunetats_dep,
                       libgnunethello_dep],
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))


libgnunettransportapplication = library('gnunettransportapplication',
        libgnunettransportapplication_src,
        soversion: '0',
        version: '0.0.0',
        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,
        soversion: '0',
        version: '0.0.0',
        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,
        soversion: '0',
        version: '0.0.0',
        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,
        soversion: '0',
        version: '0.0.0',
        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)

libgnunettransporttesting2 = library('gnunettransporttesting2',
        [
          'transport_api_traits.c',
          'transport_api_cmd_connecting_peers.c',
          'transport_api_cmd_backchannel_check.c',
          'transport_api_cmd_start_peer.c',
          'transport_api_cmd_stop_peer.c',
          'transport_api_cmd_send_simple.c',
          'transport_api_cmd_send_simple_performance.c',
          'transport-testing2.c',
          'transport-testing-filenames2.c',
          'transport-testing-loggers2.c',
          'transport-testing-main2.c',
          'transport-testing-send2.c',
          'transport-testing-communicator.c',
          ],
        soversion: '2',
        version: '2.2.0',
        dependencies: [libgnunetutil_dep,
                       libgnunettransportapplication_dep,
                       libgnunettransport_dep,
                       libgnunetpeerstore_dep,
                       libgnunetats_dep, # FIXME WHY ATS here? Isnt this TNG?
                       libgnunettesting_dep,
                       libgnunethello_dep],
        include_directories: [incdir, configuration_inc],
        install: true,
        install_dir: get_option('libdir'))


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')

executable ('gnunet-communicator-unix',
            gnunetcommunicatorunix_src,
            dependencies: [libgnunettransportcommunicator_dep,
                           libgnunetpeerstore_dep,
                           libgnunetstatistics_dep,
                           libgnunetnt_dep,
                           libgnunetnat_dep,
                           gcrypt_dep,
                           libgnunetutil_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir') / 'gnunet' / 'libexec')
executable ('gnunet-communicator-udp',
            gnunetcommunicatorudp_src,
            dependencies: [libgnunettransportcommunicator_dep,
                           libgnunettransportapplication_dep,
                           libgnunetpeerstore_dep,
                           libgnunetstatistics_dep,
                           libgnunetnt_dep,
                           libgnunetnat_dep,
                           gcrypt_dep,
                           libgnunetutil_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir') / 'gnunet' / 'libexec')
executable ('gnunet-communicator-tcp',
            gnunetcommunicatortcp_src,
            dependencies: [libgnunettransportcommunicator_dep,
                           libgnunetpeerstore_dep,
                           libgnunetstatistics_dep,
                           libgnunetnt_dep,
                           libgnunetnat_dep,
                           gcrypt_dep,
                           libgnunetutil_dep],
            include_directories: [incdir, configuration_inc],
            install: true,
            install_dir: get_option('libdir') / 'gnunet' / 'libexec')