1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-28 02:50:16 +03:00

meson: add udev/hwdb build aliases

Allows to do:

meson compile libudev udev hwdb
meson install --no-rebuild --tags libudev,udev,hwdb
This commit is contained in:
Luca Boccassi 2025-01-14 23:22:04 +00:00
parent 1d522f1a86
commit af0a28854d
4 changed files with 33 additions and 2 deletions

View File

@ -2952,6 +2952,16 @@ custom_target('installed-unit-files.txt',
#####################################################################
udev_targets = []
foreach bin : udev_binaries
udev_targets += executables_by_name.get(bin, [])
endforeach
alias_target('udev', buildable_rules, udev_targets, udev_units)
if conf.get('ENABLE_HWDB') == 1
alias_target('hwdb', auto_suspend_rules, executables_by_name.get('systemd-hwdb'), hwdb_units)
endif
alt_time_epoch = run_command('date', '-Is', '-u', '-d', '@@0@'.format(time_epoch),
check : true).stdout().strip()

View File

@ -45,6 +45,8 @@ rules = [
]
all_rules = []
# For the udev alias
buildable_rules = []
foreach tuple : rules
if tuple.length() == 1 or tuple[1]
@ -82,5 +84,6 @@ foreach tuple : rules_in
if want
all_rules += rule
buildable_rules += rule
endif
endforeach

View File

@ -148,7 +148,7 @@ udev_common_template = {
udev_test_template = test_template + udev_common_template
udev_fuzz_template = fuzz_template + udev_common_template
executables += [
udev_binaries_dict = [
executable_template + {
'name' : 'udevadm',
'public' : true,
@ -200,6 +200,15 @@ executables += [
'name' : 'v4l_id',
'sources' : files('v4l_id/v4l_id.c'),
},
]
# For the udev alias
udev_binaries = []
foreach binary : udev_binaries_dict
udev_binaries += binary.get('name')
endforeach
executables += udev_binaries_dict
executables += [
test_template + {
'sources' : files(
'fido_id/test-fido-id-desc.c',

View File

@ -833,6 +833,10 @@ units = [
},
]
# For the udev/hwdb aliases
udev_units = []
hwdb_units = []
foreach unit : units
source = unit.get('file')
@ -855,7 +859,7 @@ foreach unit : units
endforeach
if needs_jinja
custom_target(
t = custom_target(
name,
input : source,
output : name,
@ -863,6 +867,11 @@ foreach unit : units
install : install,
install_dir : systemunitdir,
install_tag : unit.get('install_tag', ''))
if unit.get('install_tag', '') == 'udev'
udev_units += t
elif unit.get('install_tag', '') == 'hwdb'
hwdb_units += t
endif
elif install
install_data(source,
install_dir : systemunitdir,