diff --git a/meson.build b/meson.build index 2823f9e0df..14085f5525 100644 --- a/meson.build +++ b/meson.build @@ -181,13 +181,30 @@ if ['windows', 'darwin', 'cygwin'].contains(host_machine.system()) hal_option = 'false' endif -build_udev = get_option('udev') -build_udev_kms = get_option('udev_kms') +udev_option = get_option('udev') +udev_kms_option = get_option('udev_kms') if ['windows', 'darwin', 'netbsd', 'openbsd', 'sunos'].contains(host_machine.system()) - build_udev = false - build_udev_kms = false + if udev_option == 'auto' + udev_option = 'false' + endif + if udev_kms_option == 'auto' + udev_kms_option = 'false' + endif + if udev_option == 'true' or udev_kms_option == 'true' + message('WARNING: udev is not supported on your platform') + endif +else + if udev_option == 'auto' + udev_option = 'true' + endif + if udev_kms_option == 'auto' + udev_kms_option = 'true' + endif endif +build_udev = (udev_option == 'true') +build_udev_kms = (udev_kms_option == 'true') + if get_option('systemd_logind') == 'auto' build_systemd_logind = build_udev_kms and dbus_dep.found() else diff --git a/meson_options.txt b/meson_options.txt index f0aef3535b..6077dca96c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -64,8 +64,10 @@ option('suid_wrapper', type: 'boolean', value: false, description: 'SUID wrapper for legacy driver support') option('pciaccess', type: 'boolean', value: true, description: 'Xorg pciaccess support') -option('udev', type: 'boolean', value: true) -option('udev_kms', type: 'boolean', value: true) +option('udev', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', + description: 'Enable udev hotplugging support') +option('udev_kms', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', + description: 'Enable udev kms support') option('hal', type: 'combo', choices: ['true', 'false', 'auto'], value: 'false', description: 'Enable HAL integration') option('systemd_notify', type: 'combo', choices: ['true', 'false', 'auto'], value: 'false',