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',
50 'networkd-ipv6-proxy-ndp.c',
53 'networkd-link-bus.c',
57 'networkd-manager-bus.c',
60 'networkd-neighbor.c',
61 'networkd-netlabel.c',
62 'networkd-network-bus.c',
67 'networkd-route-util.c',
69 'networkd-routing-policy-rule.c',
71 'networkd-speed-meter.c',
73 'networkd-state-file.c',
102 systemd_networkd_sources = files('networkd.c')
104 systemd_networkd_wait_online_sources = files(
105 'wait-online/link.c',
106 'wait-online/manager.c',
107 'wait-online/wait-online.c',
110 networkctl_sources = files('networkctl.c')
112 network_generator_sources = files(
114 'generator/network-generator.c',
117 networkd_network_gperf_gperf = files('networkd-network-gperf.gperf')
118 networkd_netdev_gperf_gperf = files('netdev/netdev-gperf.gperf')
120 sources += custom_target(
122 input : 'networkd-gperf.gperf',
123 output : 'networkd-gperf.c',
124 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
126 sources += custom_target(
127 'networkd-network-gperf.c',
128 input : networkd_network_gperf_gperf,
129 output : 'networkd-network-gperf.c',
130 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
132 sources += custom_target(
134 input : networkd_netdev_gperf_gperf,
135 output : 'netdev-gperf.c',
136 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
138 if get_option('link-networkd-shared')
139 networkd_link_with = [libshared]
141 networkd_link_with = [libsystemd_static,
146 network_includes = [libsystemd_network_includes, include_directories(['.', 'netdev', 'tc'])]
148 libnetworkd_core = static_library(
151 include_directories : network_includes,
152 dependencies : userspace,
153 link_with : networkd_link_with,
154 build_by_default : false)
156 network_test_template = test_template + {
161 'include_directories' : network_includes,
164 network_fuzz_template = fuzz_template + {
169 'dependencies' : threads,
170 'include_directories' : network_includes,
175 'name' : 'systemd-networkd',
177 'conditions' : ['ENABLE_NETWORKD'],
178 'sources' : systemd_networkd_sources,
179 'include_directories' : network_includes,
185 'dependencies' : threads,
188 'name' : 'systemd-networkd-wait-online',
190 'conditions' : ['ENABLE_NETWORKD'],
191 'sources' : systemd_networkd_wait_online_sources,
192 'link_with' : networkd_link_with,
194 executable_template + {
195 'name' : 'networkctl',
197 'conditions' : ['ENABLE_NETWORKD'],
198 'sources' : networkctl_sources,
199 'include_directories' : libsystemd_network_includes,
206 'name' : 'systemd-network-generator',
207 'sources' : network_generator_sources,
208 'link_with' : networkd_link_with,
212 'generator/test-network-generator.c',
213 'generator/network-generator.c',
217 network_test_template + {
218 'sources' : files('test-network-tables.c'),
219 'dependencies' : threads,
221 network_test_template + {
222 'sources' : files('test-network.c'),
223 'dependencies' : threads,
225 network_test_template + {
226 'sources' : files('test-networkd-address.c'),
227 'dependencies' : libatomic,
229 network_test_template + {
230 'sources' : files('test-networkd-conf.c'),
231 'dependencies' : libatomic,
233 network_test_template + {
234 'sources' : files('test-networkd-util.c'),
236 network_fuzz_template + {
237 'sources' : files('fuzz-netdev-parser.c'),
239 network_fuzz_template + {
240 'sources' : files('fuzz-network-parser.c'),
244 if conf.get('ENABLE_NETWORKD') == 1
245 install_data('org.freedesktop.network1.conf',
246 install_dir : dbuspolicydir)
247 install_data('org.freedesktop.network1.service',
248 install_dir : dbussystemservicedir)
249 install_data('org.freedesktop.network1.policy',
250 install_dir : polkitpolicydir)
252 install_data('systemd-networkd.rules',
253 install_dir : polkitrulesdir)
255 if install_polkit_pkla
256 install_data('systemd-networkd.pkla',
257 install_dir : polkitpkladir)
260 if install_sysconfdir_samples
261 install_data('networkd.conf',
262 install_dir : pkgsysconfdir)