meson: Autodetect whether autosuspend rules are provided by udev
Upstream systemd/udev is pulling our autosuspend hwdb, so if udev is new enough, then there is no need to install the file. As such, add auto-detection logic for the scenario. This also changes the name of the option and the type to "feature".
This commit is contained in:
parent
52d0409241
commit
e7eaecedc6
3 changed files with 19 additions and 7 deletions
|
@ -1,4 +1,4 @@
|
||||||
if get_option('udev_rules')
|
if udev_hwdb_dir != ''
|
||||||
# This file has to be updated using
|
# This file has to be updated using
|
||||||
# ninja -C <builddir> libfprint/sync-udev-hwdb
|
# ninja -C <builddir> libfprint/sync-udev-hwdb
|
||||||
# Note that the unsupported device list needs to be manually synced from
|
# Note that the unsupported device list needs to be manually synced from
|
||||||
|
|
16
meson.build
16
meson.build
|
@ -212,15 +212,27 @@ drivers_type_func += '}'
|
||||||
|
|
||||||
root_inc = include_directories('.')
|
root_inc = include_directories('.')
|
||||||
|
|
||||||
if get_option('udev_rules')
|
udev_hwdb = get_option('udev_hwdb')
|
||||||
|
if not udev_hwdb.disabled()
|
||||||
|
# systemd v248 includes our autosuspend rules
|
||||||
|
udev_versioned_dep = dependency('udev', version: '>= 248', required: false)
|
||||||
udev_hwdb_dir = get_option('udev_hwdb_dir')
|
udev_hwdb_dir = get_option('udev_hwdb_dir')
|
||||||
|
if udev_hwdb.auto()
|
||||||
|
if udev_versioned_dep.found()
|
||||||
|
udev_hwdb_dir = ''
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if udev_versioned_dep.found()
|
||||||
|
warning('udev hwdb will be installed by both systemd and libfprint')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
if udev_hwdb_dir == 'auto'
|
if udev_hwdb_dir == 'auto'
|
||||||
udev_dep = dependency('udev')
|
udev_dep = dependency('udev')
|
||||||
udev_hwdb_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/hwdb.d'
|
udev_hwdb_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/hwdb.d'
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
udev_hwdb_dir = false
|
udev_hwdb_dir = ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if get_option('gtk-examples')
|
if get_option('gtk-examples')
|
||||||
|
|
|
@ -6,10 +6,10 @@ option('introspection',
|
||||||
description: 'Build GObject Introspection repository',
|
description: 'Build GObject Introspection repository',
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
value: true)
|
value: true)
|
||||||
option('udev_rules',
|
option('udev_hwdb',
|
||||||
description: 'Whether to create a udev rules file',
|
description: 'Whether to create a udev hwdb',
|
||||||
type: 'boolean',
|
type: 'feature',
|
||||||
value: true)
|
value: 'auto')
|
||||||
option('udev_hwdb_dir',
|
option('udev_hwdb_dir',
|
||||||
description: 'Installation path for udev hwdb',
|
description: 'Installation path for udev hwdb',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|
Loading…
Reference in a new issue