From b5b529799a20f8a262066daeb726307c0631f208 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sun, 9 Feb 2020 15:28:10 +0000 Subject: [PATCH] meson: split udev from udev_kms which requires systemd DragonFly and FreeBSD can use xf86-input-libinput with config/udev. ld: error: undefined symbol: xf86PlatformDeviceProbe >>> referenced by xf86platformBus.c >>> xf86platformBus.c.o:(xf86platformProbe) in archive hw/xfree86/common/libxorg_common.a ld: error: undefined symbol: xf86PlatformDeviceCheckBusID >>> referenced by xf86platformBus.c >>> xf86platformBus.c.o:(xf86platformProbeDev) in archive hw/xfree86/common/libxorg_common.a ld: error: undefined symbol: xf86PlatformReprobeDevice >>> referenced by xf86platformBus.c >>> xf86platformBus.c.o:(xf86platformVTProbe) in archive hw/xfree86/common/libxorg_common.a ld: error: undefined symbol: NewGPUDeviceRequest >>> referenced by udev.c >>> udev.c.o:(device_added) in archive config/liblibxserver_config.a ld: error: undefined symbol: DeleteGPUDeviceRequest >>> referenced by udev.c >>> udev.c.o:(device_removed) in archive config/liblibxserver_config.a --- include/meson.build | 6 +++--- meson.build | 6 ++++-- meson_options.txt | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/meson.build b/include/meson.build index ed9b3619e..0b89499c0 100644 --- a/include/meson.build +++ b/include/meson.build @@ -86,7 +86,7 @@ conf_data.set('HAVE_LIBBSD', libbsd_dep.found()) # Note: this symbol is used by libXtrans. conf_data.set('HAVE_SYSTEMD_DAEMON', libsystemd_daemon_dep.found()) conf_data.set('CONFIG_UDEV', build_udev) -conf_data.set('CONFIG_UDEV_KMS', build_udev) +conf_data.set('CONFIG_UDEV_KMS', build_udev_kms) conf_data.set('HAVE_DBUS', build_dbus) conf_data.set('CONFIG_HAL', build_hal) conf_data.set('SYSTEMD_LOGIND', build_systemd_logind) @@ -310,7 +310,7 @@ conf_data.set('PCVT_SUPPORT', supports_pcvt) conf_data.set('SYSCONS_SUPPORT', supports_syscons) conf_data.set('WSCONS_SUPPORT', supports_wscons) conf_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess')) -conf_data.set('XSERVER_PLATFORM_BUS', build_udev) +conf_data.set('XSERVER_PLATFORM_BUS', build_udev_kms) configure_file(output : 'dix-config.h', configuration : conf_data) @@ -359,7 +359,7 @@ xorg_data.set_quoted('DEFAULT_LIBRARY_PATH', join_paths(get_option('prefix'), ge xorg_data.set_quoted('__XSERVERNAME__', 'Xorg') xorg_data.set('XSERVER_LIBPCIACCESS', get_option('pciaccess')) xorg_data.set_quoted('PCI_TXT_IDS_PATH', '') -xorg_data.set('XSERVER_PLATFORM_BUS', build_udev) +xorg_data.set('XSERVER_PLATFORM_BUS', build_udev_kms) xorg_data.set('WSCONS_SUPPORT', host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd') xorg_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h')) xorg_data.set('HAVE_SYS_KD_H', cc.has_header('sys/kd.h')) diff --git a/meson.build b/meson.build index 32ce9f042..dd3ef8fd6 100644 --- a/meson.build +++ b/meson.build @@ -163,13 +163,15 @@ hal_option = get_option('hal') glamor_option = get_option('glamor') build_udev = get_option('udev') +build_udev_kms = get_option('udev_kms') if host_machine.system() == 'windows' or host_machine.system() == 'darwin' build_udev = false + build_udev_kms = false hal_option = 'false' endif if get_option('systemd_logind') == 'auto' - build_systemd_logind = build_udev and dbus_dep.found() + build_systemd_logind = build_udev_kms and dbus_dep.found() else build_systemd_logind = get_option('systemd_logind') == 'true' endif @@ -303,7 +305,7 @@ endif build_dbus = build_hal or build_systemd_logind udev_dep = dependency('', required:false) -if build_udev +if build_udev or build_udev_kms udev_dep = dependency('libudev', version: '>= 143') endif diff --git a/meson_options.txt b/meson_options.txt index c9b97727b..0e123f450 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -68,6 +68,7 @@ option('suid_wrapper', type: 'boolean', value: 'false', option('pciaccess', type: 'boolean', value: 'true', description: 'Xorg pciaccess support') option('udev', type: 'boolean', value: 'true') +option('udev_kms', type: 'boolean', value: 'true') option('hal', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Enable HAL integration') option('systemd_logind', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',