On Tue, Sep 27, 2011 at 06:04:06PM +0100, Dave Airlie wrote: > From: Lennart Poettering <[email protected]> > > udev_enumerate_add_match_tag() and udev_monitor_filter_add_match_tag() > are mostly optimizations, hence simply skip these calls if they are not > available in the installed version of libudev. > > This should fix the build on older versions of udev. > > [airlied: fixes tinderbox failures on RHEL6] > > Signed-off-by: Lennart Poettering <[email protected]> > Reviewed-by: Dave Airlie <[email protected]> > Tested-by: Dave Airlie <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]> Keith, please merge this one directly, I won't take it in my tree (which is currently in tatters). Cheers, Peter > --- > config/udev.c | 4 ++++ > configure.ac | 9 +++++++++ > include/dix-config.h.in | 6 ++++++ > 3 files changed, 19 insertions(+), 0 deletions(-) > > diff --git a/config/udev.c b/config/udev.c > index 1ba0d50..e2b3726 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 b0d2643..30716fb 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 5facb11..2dcaf6b 100644 > --- a/include/dix-config.h.in > +++ b/include/dix-config.h.in > @@ -402,6 +402,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 > > -- > 1.7.6.4 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
