]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | # SPDX-License-Identifier: LGPL-2.1-or-later |
3a726fcd | 2 | |
f1b98127 | 3 | udevadm_sources = files( |
f1b98127 ZJS |
4 | 'udevadm-control.c', |
5 | 'udevadm-hwdb.c', | |
6 | 'udevadm-info.c', | |
8b12a516 | 7 | 'udevadm-lock.c', |
f1b98127 ZJS |
8 | 'udevadm-monitor.c', |
9 | 'udevadm-settle.c', | |
f1b98127 | 10 | 'udevadm-test-builtin.c', |
2f7862cc | 11 | 'udevadm-test.c', |
f1b98127 ZJS |
12 | 'udevadm-trigger.c', |
13 | 'udevadm-util.c', | |
acdba85e | 14 | 'udevadm-verify.c', |
aa2b0d8d | 15 | 'udevadm-wait.c', |
2f7862cc | 16 | 'udevadm.c', |
81c32b1d | 17 | 'udevd.c', |
2f492a73 | 18 | ) |
5c23128d | 19 | |
b9acb507 | 20 | libudevd_core_sources = files( |
2f7862cc | 21 | 'net/link-config.c', |
f1b98127 | 22 | 'udev-ctrl.c', |
f1b98127 | 23 | 'udev-event.c', |
0b76cc2f | 24 | 'udev-format.c', |
81c32b1d | 25 | 'udev-manager.c', |
f1b98127 | 26 | 'udev-node.c', |
f1b98127 | 27 | 'udev-rules.c', |
0b76cc2f | 28 | 'udev-spawn.c', |
f1b98127 | 29 | 'udev-watch.c', |
987b90f9 | 30 | 'udev-worker.c', |
f1b98127 ZJS |
31 | 'udev-builtin-btrfs.c', |
32 | 'udev-builtin-hwdb.c', | |
33 | 'udev-builtin-input_id.c', | |
34 | 'udev-builtin-keyboard.c', | |
2b5b25f1 | 35 | 'udev-builtin-net_driver.c', |
f1b98127 ZJS |
36 | 'udev-builtin-net_id.c', |
37 | 'udev-builtin-net_setup_link.c', | |
38 | 'udev-builtin-path_id.c', | |
39 | 'udev-builtin-usb_id.c', | |
2f7862cc | 40 | 'udev-builtin.c', |
2f492a73 | 41 | ) |
5c23128d | 42 | |
349cc4a5 | 43 | if conf.get('HAVE_KMOD') == 1 |
b9acb507 | 44 | libudevd_core_sources += files('udev-builtin-kmod.c') |
5c23128d ZJS |
45 | endif |
46 | ||
349cc4a5 | 47 | if conf.get('HAVE_BLKID') == 1 |
b9acb507 | 48 | libudevd_core_sources += files('udev-builtin-blkid.c') |
5c23128d ZJS |
49 | endif |
50 | ||
349cc4a5 | 51 | if conf.get('HAVE_ACL') == 1 |
b9acb507 | 52 | libudevd_core_sources += files('udev-builtin-uaccess.c') |
5c23128d ZJS |
53 | endif |
54 | ||
55 | ############################################################ | |
56 | ||
57 | generate_keyboard_keys_list = find_program('generate-keyboard-keys-list.sh') | |
58 | keyboard_keys_list_txt = custom_target( | |
37efbbd8 ZJS |
59 | 'keyboard-keys-list.txt', |
60 | output : 'keyboard-keys-list.txt', | |
61 | command : [generate_keyboard_keys_list, cpp], | |
62 | capture : true) | |
5c23128d | 63 | |
1b833237 | 64 | generate_keyboard_keys_gperf = find_program('generate-keyboard-keys-gperf.sh') |
5c23128d ZJS |
65 | fname = 'keyboard-keys-from-name.gperf' |
66 | gperf_file = custom_target( | |
37efbbd8 ZJS |
67 | fname, |
68 | input : keyboard_keys_list_txt, | |
69 | output : fname, | |
1b833237 | 70 | command : [generate_keyboard_keys_gperf, '@INPUT@'], |
37efbbd8 | 71 | capture : true) |
5c23128d ZJS |
72 | |
73 | fname = 'keyboard-keys-from-name.h' | |
74 | keyboard_keys_from_name_h = custom_target( | |
37efbbd8 ZJS |
75 | fname, |
76 | input : gperf_file, | |
77 | output : fname, | |
78 | command : [gperf, | |
8ff213fd | 79 | '-L', 'ANSI-C', '-t', |
37efbbd8 ZJS |
80 | '-N', 'keyboard_lookup_key', |
81 | '-H', 'hash_key_name', | |
82 | '-p', '-C', | |
83 | '@INPUT@'], | |
84 | capture : true) | |
5c23128d ZJS |
85 | |
86 | ############################################################ | |
87 | ||
cbc55c4c YW |
88 | udev_link_gperf_gperf = files('net/link-config-gperf.gperf') |
89 | ||
5c23128d | 90 | link_config_gperf_c = custom_target( |
37efbbd8 | 91 | 'link-config-gperf.c', |
cbc55c4c | 92 | input : udev_link_gperf_gperf, |
37efbbd8 ZJS |
93 | output : 'link-config-gperf.c', |
94 | command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) | |
5c23128d ZJS |
95 | |
96 | ############################################################ | |
97 | ||
3a30f21f | 98 | if get_option('link-udev-shared') |
1aec3ed9 | 99 | udev_link_with = [libshared] |
b0d3095f | 100 | udev_rpath = pkglibdir |
3a30f21f | 101 | else |
1aec3ed9 | 102 | udev_link_with = [libshared_static, |
37e4d7a8 | 103 | libsystemd_static] |
1aec3ed9 | 104 | udev_rpath = '' |
3a30f21f ZJS |
105 | endif |
106 | ||
e4b127e2 YW |
107 | ############################################################ |
108 | ||
e4b127e2 | 109 | libudevd_core = static_library( |
37efbbd8 | 110 | 'udev-core', |
e4b127e2 | 111 | libudevd_core_sources, |
37efbbd8 ZJS |
112 | link_config_gperf_c, |
113 | keyboard_keys_from_name_h, | |
d287ece7 | 114 | include_directories : includes + include_directories('net'), |
1aec3ed9 | 115 | link_with : udev_link_with, |
03f7ddf0 | 116 | dependencies : [libblkid, |
1d98716e | 117 | libkmod_cflags, |
92148283 | 118 | userspace], |
03f7ddf0 | 119 | build_by_default : false) |
3a30f21f | 120 | |
130c87b1 YW |
121 | udev_dependencies = [ |
122 | libacl, | |
123 | libblkid, | |
130c87b1 YW |
124 | libkmod, |
125 | threads, | |
126 | ] | |
127 | ||
adedcd39 YW |
128 | udev_plugin_template = executable_template + { |
129 | 'public' : true, | |
130 | 'link_with' : udev_link_with, | |
131 | 'install_rpath' : udev_rpath, | |
132 | 'install_dir' : udevlibexecdir, | |
133 | } | |
134 | ||
130c87b1 YW |
135 | udev_common_template = { |
136 | 'link_with' : [ | |
137 | libshared, | |
138 | libudevd_core, | |
139 | ], | |
140 | 'dependencies' : [ | |
141 | libacl, | |
142 | threads, | |
143 | ], | |
144 | } | |
145 | udev_test_template = test_template + udev_common_template | |
cbc55c4c | 146 | udev_fuzz_template = fuzz_template + udev_common_template |
130c87b1 | 147 | |
5371c269 YW |
148 | executables += [ |
149 | executable_template + { | |
150 | 'name' : 'udevadm', | |
151 | 'public' : true, | |
152 | 'sources' : udevadm_sources, | |
153 | 'link_with' : [libudevd_core], | |
130c87b1 | 154 | 'dependencies' : udev_dependencies, |
5371c269 YW |
155 | 'install_rpath' : udev_rpath, |
156 | }, | |
adedcd39 YW |
157 | udev_plugin_template + { |
158 | 'name' : 'ata_id', | |
159 | 'sources' : files('ata_id/ata_id.c'), | |
160 | }, | |
161 | udev_plugin_template + { | |
162 | 'name' : 'cdrom_id', | |
163 | 'sources' : files('cdrom_id/cdrom_id.c'), | |
164 | }, | |
165 | udev_plugin_template + { | |
166 | 'name' : 'dmi_memory_id', | |
167 | 'conditions' : ['HAVE_DMI'], | |
168 | 'sources' : files('dmi_memory_id/dmi_memory_id.c'), | |
169 | }, | |
170 | udev_plugin_template + { | |
171 | 'name' : 'fido_id', | |
172 | 'sources' : files( | |
173 | 'fido_id/fido_id.c', | |
174 | 'fido_id/fido_id_desc.c', | |
175 | ), | |
176 | }, | |
177 | udev_plugin_template + { | |
178 | 'name' : 'iocost', | |
179 | 'sources' : files('iocost/iocost.c'), | |
180 | }, | |
181 | udev_plugin_template + { | |
182 | 'name' : 'mtd_probe', | |
183 | 'sources' : files( | |
184 | 'mtd_probe/mtd_probe.c', | |
185 | 'mtd_probe/probe_smartmedia.c', | |
186 | ), | |
187 | }, | |
188 | udev_plugin_template + { | |
189 | 'name' : 'scsi_id', | |
190 | 'sources' : files( | |
191 | 'scsi_id/scsi_id.c', | |
192 | 'scsi_id/scsi_serial.c', | |
193 | ), | |
194 | }, | |
195 | udev_plugin_template + { | |
196 | 'name' : 'v4l_id', | |
197 | 'sources' : files('v4l_id/v4l_id.c'), | |
198 | }, | |
130c87b1 YW |
199 | test_template + { |
200 | 'sources' : files( | |
201 | 'fido_id/test-fido-id-desc.c', | |
202 | 'fido_id/fido_id_desc.c', | |
203 | ), | |
204 | 'suite' : 'udev', | |
205 | }, | |
d287ece7 YW |
206 | udev_test_template + { |
207 | 'sources' : files('net/test-link-config-tables.c'), | |
089bef66 | 208 | 'include_directories' : includes + include_directories('.'), |
d287ece7 YW |
209 | 'suite' : 'udev', |
210 | }, | |
130c87b1 YW |
211 | udev_test_template + { |
212 | 'sources' : files('test-udev-builtin.c'), | |
213 | }, | |
214 | udev_test_template + { | |
215 | 'sources' : files('test-udev-format.c'), | |
216 | }, | |
217 | udev_test_template + { | |
218 | 'sources' : files('test-udev-manager.c'), | |
219 | }, | |
220 | udev_test_template + { | |
221 | 'sources' : files('test-udev-node.c'), | |
222 | }, | |
223 | udev_test_template + { | |
224 | 'sources' : files('test-udev-rule-runner.c'), | |
225 | 'dependencies' : udev_dependencies + [ | |
226 | libselinux, | |
227 | ], | |
228 | 'type' : 'manual', | |
229 | }, | |
230 | udev_test_template + { | |
231 | 'sources' : files('test-udev-rules.c'), | |
232 | }, | |
233 | udev_test_template + { | |
234 | 'sources' : files('test-udev-spawn.c'), | |
235 | }, | |
cbc55c4c YW |
236 | fuzz_template + { |
237 | 'sources' : files( | |
238 | 'fido_id/fuzz-fido-id-desc.c', | |
239 | 'fido_id/fido_id_desc.c', | |
240 | ), | |
241 | }, | |
242 | udev_fuzz_template + { | |
243 | 'sources' : files('net/fuzz-link-parser.c'), | |
089bef66 | 244 | 'include_directories' : includes + include_directories('.'), |
cbc55c4c YW |
245 | }, |
246 | udev_fuzz_template + { | |
247 | 'sources' : files('fuzz-udev-rule-parse-value.c'), | |
248 | }, | |
249 | udev_fuzz_template + { | |
250 | 'sources' : files('fuzz-udev-rules.c'), | |
251 | }, | |
5371c269 YW |
252 | ] |
253 | ||
9289e093 YW |
254 | meson.add_install_script(sh, '-c', ln_s.format(bindir / 'udevadm', |
255 | libexecdir / 'systemd-udevd')) | |
5371c269 | 256 | |
225d08b8 | 257 | if install_sysconfdir_samples |
d7aa78c3 | 258 | install_data('udev.conf', |
6495361c | 259 | install_dir : configfiledir / 'udev') |
6b8e9054 | 260 | install_data('iocost/iocost.conf', |
6495361c | 261 | install_dir : configfiledir / 'udev') |
d7aa78c3 | 262 | endif |
5c23128d | 263 | |
d30d9bf0 | 264 | udev_pc = custom_target( |
94e41ec0 | 265 | 'udev.pc', |
37efbbd8 ZJS |
266 | input : 'udev.pc.in', |
267 | output : 'udev.pc', | |
8f04a1ca | 268 | command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'], |
94e41ec0 | 269 | install : pkgconfigdatadir != 'no', |
d30d9bf0 | 270 | install_tag : 'devel', |
94e41ec0 | 271 | install_dir : pkgconfigdatadir) |
94e75a54 | 272 | |
d7aa78c3 | 273 | if install_sysconfdir |
9289e093 | 274 | install_emptydir(sysconfdir / 'udev/rules.d') |
d7aa78c3 | 275 | endif |