From f37e20b8a00fc9fd4578daaa02285686c45d6270 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Fri, 25 Jun 2021 09:51:44 +0200 Subject: [PATCH] meson: Permit disabling (and forcing) installation of udev rules In some cases (e.g. inside the flatpak), it does not make sense to generate and install udev rules. --- libfprint/meson.build | 2 +- meson.build | 11 ++++++++--- meson_options.txt | 4 ++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/libfprint/meson.build b/libfprint/meson.build index 29d8111..fa46f7d 100644 --- a/libfprint/meson.build +++ b/libfprint/meson.build @@ -332,7 +332,7 @@ udev_hwdb_generator = custom_target('udev-hwdb', install: false, ) -if udev_rules +if install_udev_rules udev_rules = executable('fprint-list-udev-rules', 'fprint-list-udev-rules.c', dependencies: libfprint_private_dep, diff --git a/meson.build b/meson.build index 90ea334..6ffb79c 100644 --- a/meson.build +++ b/meson.build @@ -166,7 +166,8 @@ imaging_dep = dependency('', required: false) gudev_dep = dependency('', required: false) libfprint_conf.set10('HAVE_PIXMAN', false) -udev_rules = false +udev_rules = get_option('udev_rules') +install_udev_rules = udev_rules.enabled() foreach driver: drivers if driver == 'uru4000' @@ -184,7 +185,7 @@ foreach driver: drivers libfprint_conf.set10('HAVE_PIXMAN', true) endif if udev_drivers.contains(driver) - udev_rules = true + install_udev_rules = true gudev_dep = dependency('gudev-1.0', required: false) if not gudev_dep.found() @@ -198,7 +199,11 @@ foreach driver: drivers endif endforeach -if udev_rules +if udev_rules.disabled() + install_udev_rules = false +endif + +if install_udev_rules udev_rules_dir = get_option('udev_rules_dir') if udev_rules_dir == 'auto' udev_dep = dependency('udev') diff --git a/meson_options.txt b/meson_options.txt index 8f43c88..f9b801f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -6,6 +6,10 @@ option('introspection', description: 'Build GObject Introspection repository', type: 'boolean', value: true) +option('udev_rules', + description: 'Whether to create and install udev rules (auto: turn on when needed by a driver)', + type: 'feature', + value: 'auto') option('udev_rules_dir', description: 'Installation path for udev rules', type: 'string',