]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/meson.build
Merge pull request #32684 from YHNdnzj/pr-followups
[thirdparty/systemd.git] / src / network / meson.build
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2
3 sources = files(
4 'netdev/bareudp.c',
5 'netdev/batadv.c',
6 'netdev/bond.c',
7 'netdev/bridge.c',
8 'netdev/dummy.c',
9 'netdev/fou-tunnel.c',
10 'netdev/geneve.c',
11 'netdev/ifb.c',
12 'netdev/ipoib.c',
13 'netdev/ipvlan.c',
14 'netdev/l2tp-tunnel.c',
15 'netdev/macsec.c',
16 'netdev/macvlan.c',
17 'netdev/netdev-util.c',
18 'netdev/netdev.c',
19 'netdev/netdevsim.c',
20 'netdev/nlmon.c',
21 'netdev/tunnel.c',
22 'netdev/tuntap.c',
23 'netdev/vcan.c',
24 'netdev/veth.c',
25 'netdev/vlan.c',
26 'netdev/vrf.c',
27 'netdev/vxcan.c',
28 'netdev/vxlan.c',
29 'netdev/wireguard.c',
30 'netdev/wlan.c',
31 'netdev/xfrm.c',
32 'networkd-address-generation.c',
33 'networkd-address-label.c',
34 'networkd-address-pool.c',
35 'networkd-address.c',
36 'networkd-bridge-fdb.c',
37 'networkd-bridge-mdb.c',
38 'networkd-bridge-vlan.c',
39 'networkd-can.c',
40 'networkd-conf.c',
41 'networkd-dhcp-common.c',
42 'networkd-dhcp-prefix-delegation.c',
43 'networkd-dhcp-server-bus.c',
44 'networkd-dhcp-server-static-lease.c',
45 'networkd-dhcp-server.c',
46 'networkd-dhcp4-bus.c',
47 'networkd-dhcp4.c',
48 'networkd-dhcp6-bus.c',
49 'networkd-dhcp6.c',
50 'networkd-dns.c',
51 'networkd-ipv4acd.c',
52 'networkd-ipv4ll.c',
53 'networkd-ipv6-proxy-ndp.c',
54 'networkd-ipv6ll.c',
55 'networkd-json.c',
56 'networkd-link-bus.c',
57 'networkd-link.c',
58 'networkd-lldp-rx.c',
59 'networkd-lldp-tx.c',
60 'networkd-manager.c',
61 'networkd-manager-bus.c',
62 'networkd-manager-varlink.c',
63 'networkd-ndisc.c',
64 'networkd-neighbor.c',
65 'networkd-netlabel.c',
66 'networkd-network-bus.c',
67 'networkd-network.c',
68 'networkd-nexthop.c',
69 'networkd-ntp.c',
70 'networkd-queue.c',
71 'networkd-radv.c',
72 'networkd-route.c',
73 'networkd-route-metric.c',
74 'networkd-route-nexthop.c',
75 'networkd-route-util.c',
76 'networkd-routing-policy-rule.c',
77 'networkd-setlink.c',
78 'networkd-speed-meter.c',
79 'networkd-sriov.c',
80 'networkd-state-file.c',
81 'networkd-sysctl.c',
82 'networkd-util.c',
83 'networkd-wifi.c',
84 'networkd-wiphy.c',
85 'tc/cake.c',
86 'tc/codel.c',
87 'tc/drr.c',
88 'tc/ets.c',
89 'tc/fifo.c',
90 'tc/fq-codel.c',
91 'tc/fq-pie.c',
92 'tc/fq.c',
93 'tc/gred.c',
94 'tc/hhf.c',
95 'tc/htb.c',
96 'tc/netem.c',
97 'tc/pie.c',
98 'tc/qdisc.c',
99 'tc/qfq.c',
100 'tc/sfb.c',
101 'tc/sfq.c',
102 'tc/tbf.c',
103 'tc/tc-util.c',
104 'tc/tc.c',
105 'tc/tclass.c',
106 'tc/teql.c',
107 )
108
109 systemd_networkd_sources = files('networkd.c')
110
111 systemd_networkd_wait_online_sources = files(
112 'wait-online/link.c',
113 'wait-online/manager.c',
114 'wait-online/wait-online.c',
115 )
116
117 networkctl_sources = files(
118 'networkctl.c',
119 'networkctl-config-file.c'
120 )
121
122 network_generator_sources = files(
123 'generator/main.c',
124 'generator/network-generator.c',
125 )
126
127 networkd_network_gperf_gperf = files('networkd-network-gperf.gperf')
128 networkd_netdev_gperf_gperf = files('netdev/netdev-gperf.gperf')
129
130 sources += custom_target(
131 'networkd-gperf.c',
132 input : 'networkd-gperf.gperf',
133 output : 'networkd-gperf.c',
134 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
135
136 sources += custom_target(
137 'networkd-network-gperf.c',
138 input : networkd_network_gperf_gperf,
139 output : 'networkd-network-gperf.c',
140 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
141
142 sources += custom_target(
143 'netdev-gperf.c',
144 input : networkd_netdev_gperf_gperf,
145 output : 'netdev-gperf.c',
146 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
147
148 if get_option('link-networkd-shared')
149 networkd_link_with = [libshared]
150 else
151 networkd_link_with = [libsystemd_static,
152 libshared_static]
153 endif
154
155 network_includes = [libsystemd_network_includes, include_directories(['.', 'netdev', 'tc'])]
156
157 libnetworkd_core = static_library(
158 'networkd-core',
159 sources,
160 include_directories : network_includes,
161 dependencies : userspace,
162 link_with : networkd_link_with,
163 build_by_default : false)
164
165 network_test_template = test_template + {
166 'link_with' : [
167 libnetworkd_core,
168 libsystemd_network,
169 ],
170 'include_directories' : network_includes,
171 }
172
173 network_fuzz_template = fuzz_template + {
174 'link_with' : [
175 libnetworkd_core,
176 libsystemd_network,
177 ],
178 'dependencies' : threads,
179 'include_directories' : network_includes,
180 }
181
182 executables += [
183 libexec_template + {
184 'name' : 'systemd-networkd',
185 'dbus' : true,
186 'conditions' : ['ENABLE_NETWORKD'],
187 'sources' : systemd_networkd_sources,
188 'include_directories' : network_includes,
189 'link_with' : [
190 libnetworkd_core,
191 libsystemd_network,
192 networkd_link_with,
193 ],
194 'dependencies' : threads,
195 },
196 libexec_template + {
197 'name' : 'systemd-networkd-wait-online',
198 'public' : true,
199 'conditions' : ['ENABLE_NETWORKD'],
200 'sources' : systemd_networkd_wait_online_sources,
201 'link_with' : networkd_link_with,
202 },
203 executable_template + {
204 'name' : 'networkctl',
205 'public' : true,
206 'conditions' : ['ENABLE_NETWORKD'],
207 'sources' : networkctl_sources,
208 'include_directories' : libsystemd_network_includes,
209 'link_with' : [
210 libsystemd_network,
211 networkd_link_with,
212 ],
213 },
214 libexec_template + {
215 'name' : 'systemd-network-generator',
216 'sources' : network_generator_sources,
217 'link_with' : networkd_link_with,
218 },
219 test_template + {
220 'sources' : files(
221 'generator/test-network-generator.c',
222 'generator/network-generator.c',
223 ),
224 'suite' : 'network',
225 },
226 network_test_template + {
227 'sources' : files('test-network-tables.c'),
228 'dependencies' : threads,
229 },
230 network_test_template + {
231 'sources' : files('test-network.c'),
232 'dependencies' : threads,
233 },
234 network_test_template + {
235 'sources' : files('test-networkd-address.c'),
236 'dependencies' : libatomic,
237 },
238 network_test_template + {
239 'sources' : files('test-networkd-conf.c'),
240 'dependencies' : libatomic,
241 },
242 network_test_template + {
243 'sources' : files('test-networkd-util.c'),
244 },
245 network_fuzz_template + {
246 'sources' : files('fuzz-netdev-parser.c'),
247 },
248 network_fuzz_template + {
249 'sources' : files('fuzz-network-parser.c'),
250 },
251 ]
252
253 if conf.get('ENABLE_NETWORKD') == 1
254 install_data('org.freedesktop.network1.conf',
255 install_dir : dbuspolicydir)
256 install_data('org.freedesktop.network1.service',
257 install_dir : dbussystemservicedir)
258 install_data('org.freedesktop.network1.policy',
259 install_dir : polkitpolicydir)
260 if install_polkit
261 install_data('systemd-networkd.rules',
262 install_dir : polkitrulesdir)
263 endif
264 if install_polkit_pkla
265 install_data('systemd-networkd.pkla',
266 install_dir : polkitpkladir)
267 endif
268
269 if install_sysconfdir_samples
270 install_data('networkd.conf',
271 install_dir : pkgconfigfiledir)
272 endif
273 endif