1 # SPDX-License-Identifier: LGPL-2.1-or-later
14 'netdev/l2tp-tunnel.c',
17 'netdev/netdev-util.c',
32 'networkd-address-generation.c',
33 'networkd-address-label.c',
34 'networkd-address-pool.c',
36 'networkd-bridge-fdb.c',
37 'networkd-bridge-mdb.c',
38 'networkd-bridge-vlan.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',
48 'networkd-dhcp6-bus.c',
53 'networkd-ipv6-proxy-ndp.c',
56 'networkd-link-bus.c',
61 'networkd-manager-bus.c',
62 'networkd-manager-varlink.c',
64 'networkd-neighbor.c',
65 'networkd-netlabel.c',
66 'networkd-network-bus.c',
73 'networkd-route-metric.c',
74 'networkd-route-nexthop.c',
75 'networkd-route-util.c',
76 'networkd-routing-policy-rule.c',
78 'networkd-speed-meter.c',
80 'networkd-state-file.c',
109 systemd_networkd_sources = files('networkd.c')
111 systemd_networkd_wait_online_sources = files(
112 'wait-online/link.c',
113 'wait-online/manager.c',
114 'wait-online/wait-online.c',
117 networkctl_sources = files(
119 'networkctl-config-file.c'
122 network_generator_sources = files(
124 'generator/network-generator.c',
127 networkd_network_gperf_gperf = files('networkd-network-gperf.gperf')
128 networkd_netdev_gperf_gperf = files('netdev/netdev-gperf.gperf')
130 sources += custom_target(
132 input : 'networkd-gperf.gperf',
133 output : 'networkd-gperf.c',
134 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
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@'])
142 sources += custom_target(
144 input : networkd_netdev_gperf_gperf,
145 output : 'netdev-gperf.c',
146 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
148 if get_option('link-networkd-shared')
149 networkd_link_with = [libshared]
151 networkd_link_with = [libsystemd_static,
155 network_includes = [libsystemd_network_includes, include_directories(['.', 'netdev', 'tc'])]
157 libnetworkd_core = static_library(
160 include_directories : network_includes,
161 dependencies : userspace,
162 link_with : networkd_link_with,
163 build_by_default : false)
165 network_test_template = test_template + {
170 'include_directories' : network_includes,
173 network_fuzz_template = fuzz_template + {
178 'dependencies' : threads,
179 'include_directories' : network_includes,
184 'name' : 'systemd-networkd',
186 'conditions' : ['ENABLE_NETWORKD'],
187 'sources' : systemd_networkd_sources,
188 'include_directories' : network_includes,
194 'dependencies' : threads,
197 'name' : 'systemd-networkd-wait-online',
199 'conditions' : ['ENABLE_NETWORKD'],
200 'sources' : systemd_networkd_wait_online_sources,
201 'link_with' : networkd_link_with,
203 executable_template + {
204 'name' : 'networkctl',
206 'conditions' : ['ENABLE_NETWORKD'],
207 'sources' : networkctl_sources,
208 'include_directories' : libsystemd_network_includes,
215 'name' : 'systemd-network-generator',
216 'sources' : network_generator_sources,
217 'link_with' : networkd_link_with,
221 'generator/test-network-generator.c',
222 'generator/network-generator.c',
226 network_test_template + {
227 'sources' : files('test-network-tables.c'),
228 'dependencies' : threads,
230 network_test_template + {
231 'sources' : files('test-network.c'),
232 'dependencies' : threads,
234 network_test_template + {
235 'sources' : files('test-networkd-address.c'),
236 'dependencies' : libatomic,
238 network_test_template + {
239 'sources' : files('test-networkd-conf.c'),
240 'dependencies' : libatomic,
242 network_test_template + {
243 'sources' : files('test-networkd-util.c'),
245 network_fuzz_template + {
246 'sources' : files('fuzz-netdev-parser.c'),
248 network_fuzz_template + {
249 'sources' : files('fuzz-network-parser.c'),
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)
261 install_data('systemd-networkd.rules',
262 install_dir : polkitrulesdir)
264 if install_polkit_pkla
265 install_data('systemd-networkd.pkla',
266 install_dir : polkitpkladir)
269 if install_sysconfdir_samples
270 install_data('networkd.conf',
271 install_dir : pkgconfigfiledir)