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',
52 'networkd-ipv6-proxy-ndp.c',
55 'networkd-link-bus.c',
60 'networkd-manager-bus.c',
61 'networkd-manager-varlink.c',
63 'networkd-neighbor.c',
64 'networkd-netlabel.c',
65 'networkd-network-bus.c',
70 'networkd-route-util.c',
72 'networkd-routing-policy-rule.c',
74 'networkd-speed-meter.c',
76 'networkd-state-file.c',
105 systemd_networkd_sources = files('networkd.c')
107 systemd_networkd_wait_online_sources = files(
108 'wait-online/link.c',
109 'wait-online/manager.c',
110 'wait-online/wait-online.c',
113 networkctl_sources = files(
115 'networkctl-config-file.c'
118 network_generator_sources = files(
120 'generator/network-generator.c',
123 networkd_network_gperf_gperf = files('networkd-network-gperf.gperf')
124 networkd_netdev_gperf_gperf = files('netdev/netdev-gperf.gperf')
126 sources += custom_target(
128 input : 'networkd-gperf.gperf',
129 output : 'networkd-gperf.c',
130 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
132 sources += custom_target(
133 'networkd-network-gperf.c',
134 input : networkd_network_gperf_gperf,
135 output : 'networkd-network-gperf.c',
136 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
138 sources += custom_target(
140 input : networkd_netdev_gperf_gperf,
141 output : 'netdev-gperf.c',
142 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
144 if get_option('link-networkd-shared')
145 networkd_link_with = [libshared]
147 networkd_link_with = [libsystemd_static,
152 network_includes = [libsystemd_network_includes, include_directories(['.', 'netdev', 'tc'])]
154 libnetworkd_core = static_library(
157 include_directories : network_includes,
158 dependencies : userspace,
159 link_with : networkd_link_with,
160 build_by_default : false)
162 network_test_template = test_template + {
167 'include_directories' : network_includes,
170 network_fuzz_template = fuzz_template + {
175 'dependencies' : threads,
176 'include_directories' : network_includes,
181 'name' : 'systemd-networkd',
183 'conditions' : ['ENABLE_NETWORKD'],
184 'sources' : systemd_networkd_sources,
185 'include_directories' : network_includes,
191 'dependencies' : threads,
194 'name' : 'systemd-networkd-wait-online',
196 'conditions' : ['ENABLE_NETWORKD'],
197 'sources' : systemd_networkd_wait_online_sources,
198 'link_with' : networkd_link_with,
200 executable_template + {
201 'name' : 'networkctl',
203 'conditions' : ['ENABLE_NETWORKD'],
204 'sources' : networkctl_sources,
205 'include_directories' : libsystemd_network_includes,
212 'name' : 'systemd-network-generator',
213 'sources' : network_generator_sources,
214 'link_with' : networkd_link_with,
218 'generator/test-network-generator.c',
219 'generator/network-generator.c',
223 network_test_template + {
224 'sources' : files('test-network-tables.c'),
225 'dependencies' : threads,
227 network_test_template + {
228 'sources' : files('test-network.c'),
229 'dependencies' : threads,
231 network_test_template + {
232 'sources' : files('test-networkd-address.c'),
233 'dependencies' : libatomic,
235 network_test_template + {
236 'sources' : files('test-networkd-conf.c'),
237 'dependencies' : libatomic,
239 network_test_template + {
240 'sources' : files('test-networkd-util.c'),
242 network_fuzz_template + {
243 'sources' : files('fuzz-netdev-parser.c'),
245 network_fuzz_template + {
246 'sources' : files('fuzz-network-parser.c'),
250 if conf.get('ENABLE_NETWORKD') == 1
251 install_data('org.freedesktop.network1.conf',
252 install_dir : dbuspolicydir)
253 install_data('org.freedesktop.network1.service',
254 install_dir : dbussystemservicedir)
255 install_data('org.freedesktop.network1.policy',
256 install_dir : polkitpolicydir)
258 install_data('systemd-networkd.rules',
259 install_dir : polkitrulesdir)
261 if install_polkit_pkla
262 install_data('systemd-networkd.pkla',
263 install_dir : polkitpkladir)
266 if install_sysconfdir_samples
267 install_data('networkd.conf',
268 install_dir : pkgconfigfiledir)