diff options
-rw-r--r-- | config/udev.c | 4 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | include/dix-config.h.in | 6 |
3 files changed, 19 insertions, 0 deletions
diff --git a/config/udev.c b/config/udev.c index 1ba0d500d..e2b3726cc 100644 --- a/config/udev.c +++ b/config/udev.c @@ -285,8 +285,10 @@ config_udev_init(void) udev_monitor_filter_add_match_subsystem_devtype(udev_monitor, "input", NULL); udev_monitor_filter_add_match_subsystem_devtype(udev_monitor, "tty", NULL); /* For Wacom serial devices */ +#ifdef HAVE_UDEV_MONITOR_FILTER_ADD_MATCH_TAG if (SeatId && strcmp(SeatId, "seat0")) udev_monitor_filter_add_match_tag(udev_monitor, SeatId); +#endif if (udev_monitor_enable_receiving(udev_monitor)) { ErrorF("config/udev: failed to bind the udev monitor\n"); @@ -300,8 +302,10 @@ config_udev_init(void) udev_enumerate_add_match_subsystem(enumerate, "input"); udev_enumerate_add_match_subsystem(enumerate, "tty"); +#ifdef HAVE_UDEV_ENUMERATE_ADD_MATCH_TAG if (SeatId && strcmp(SeatId, "seat0")) udev_enumerate_add_match_tag(enumerate, SeatId); +#endif udev_enumerate_scan_devices(enumerate); devices = udev_enumerate_get_list_entry(enumerate); diff --git a/configure.ac b/configure.ac index ecd538674..7c5aaaf03 100644 --- a/configure.ac +++ b/configure.ac @@ -822,6 +822,15 @@ if test "x$CONFIG_UDEV" = xyes; then AC_MSG_ERROR([udev configuration API requested, but libudev is not installed]) fi AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug]) + + SAVE_LIBS=$LIBS + SAVE_CFLAGS=$CFLAGS + CFLAGS=$UDEV_CFLAGS + LIBS=$UDEV_LIBS + AC_CHECK_FUNCS([udev_monitor_filter_add_match_tag]) + AC_CHECK_FUNCS([udev_enumerate_add_match_tag]) + LIBS=$SAVE_LIBS + CFLAGS=$SAVE_CFLAGS fi dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas diff --git a/include/dix-config.h.in b/include/dix-config.h.in index aa7de60bd..7d6cb966c 100644 --- a/include/dix-config.h.in +++ b/include/dix-config.h.in @@ -399,6 +399,12 @@ /* Use libudev for input hotplug */ #undef CONFIG_UDEV +/* Use udev_monitor_filter_add_match_tag() */ +#undef HAVE_UDEV_MONITOR_FILTER_ADD_MATCH_TAG + +/* Use udev_enumerate_add_match_tag() */ +#undef HAVE_UDEV_ENUMERATE_ADD_MATCH_TAG + /* Use D-Bus for input hotplug */ #undef CONFIG_NEED_DBUS |