On Wed, Jun 25, 2014 at 09:42:28AM -0700, Andrea Giammarchi wrote: > Not sure this is the right place for this question but weston does not > build when libinput 0.4 is used: > > ./autogen.sh --prefix=$WLD \ > --disable-rpi-compositor \ > --enable-libinput-backend \ > --enable-egl --with-cairo-glesv2 --enable-wayland-compositor \ > --disable-x11-compositor --disable-fbdev-compositor \ > --disable-xwayland --disable-xwayland-test \ > --without-x > > the config looks great, but then it fails with > drm_backend_la-libinput-seat.lo
This doesn't really tell me much; what error message did you get? If it's during running make, try with make V=1. > > Is there any particular dependency I am missing or any flag I should use to > build libinput in order to make weston using it? Passing --enable-libinput-backend should be enough to make weston use libinput instead of the bundled udev/evdev backend. Jonas > > If I drop `enable-libinput-backend` weston builds and launch without > problems. > > Thanks > > > > > > On Tue, Jun 24, 2014 at 11:55 PM, Jonas Ådahl <[email protected]> wrote: > > > On Wed, Jun 25, 2014 at 02:07:36PM +1000, Peter Hutterer wrote: > > > No functional changes, just adjusting for API changes in libinput: > > > - libinput_destroy() replaced by libinput_unref() > > > - log functions now take a libinput context, userdata is gone > > > - udev seat creation is now libinput_udev_create_context() and > > > libinput_udev_assign_seat() > > > > Applied and pushed, thanks. > > > > Jonas > > > > > > > > Signed-off-by: Peter Hutterer <[email protected]> > > > --- > > > configure.ac | 2 +- > > > src/libinput-seat.c | 32 +++++++++++++++++++++----------- > > > 2 files changed, 22 insertions(+), 12 deletions(-) > > > > > > diff --git a/configure.ac b/configure.ac > > > index b4511fc..648bee8 100644 > > > --- a/configure.ac > > > +++ b/configure.ac > > > @@ -160,7 +160,7 @@ AC_ARG_ENABLE(libinput-backend, [ > > --enable-libinput-backend],, > > > AM_CONDITIONAL([ENABLE_LIBINPUT_BACKEND], [test > > x$enable_libinput_backend = xyes]) > > > if test x$enable_libinput_backend = xyes; then > > > AC_DEFINE([BUILD_LIBINPUT_BACKEND], [1], [Build the libinput input > > device backend]) > > > - PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.3.0]) > > > + PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.4.0]) > > > fi > > > > > > > > > diff --git a/src/libinput-seat.c b/src/libinput-seat.c > > > index d59ae42..09cf7c7 100644 > > > --- a/src/libinput-seat.c > > > +++ b/src/libinput-seat.c > > > @@ -252,8 +252,9 @@ udev_input_enable(struct udev_input *input) > > > } > > > > > > static void > > > -libinput_log_func(enum libinput_log_priority priority, void *user_data, > > > - const char *format, va_list args) > > > +libinput_log_func(struct libinput *libinput, > > > + enum libinput_log_priority priority, > > > + const char *format, va_list args) > > > { > > > weston_vlog(format, args); > > > } > > > @@ -268,25 +269,34 @@ udev_input_init(struct udev_input *input, struct > > weston_compositor *c, struct ud > > > > > > input->compositor = c; > > > > > > - libinput_log_set_handler(&libinput_log_func, NULL); > > > - > > > log_priority = getenv("WESTON_LIBINPUT_LOG_PRIORITY"); > > > > > > + input->libinput = libinput_udev_create_context(&libinput_interface, > > > + input, udev); > > > + if (!input->libinput) { > > > + return -1; > > > + } > > > + > > > + libinput_log_set_handler(input->libinput, &libinput_log_func); > > > + > > > if (log_priority) { > > > if (strcmp(log_priority, "debug") == 0) { > > > - > > libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_DEBUG); > > > + libinput_log_set_priority(input->libinput, > > > + > > LIBINPUT_LOG_PRIORITY_DEBUG); > > > } else if (strcmp(log_priority, "info") == 0) { > > > - > > libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_INFO); > > > + libinput_log_set_priority(input->libinput, > > > + > > LIBINPUT_LOG_PRIORITY_INFO); > > > } else if (strcmp(log_priority, "error") == 0) { > > > - > > libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_ERROR); > > > + libinput_log_set_priority(input->libinput, > > > + > > LIBINPUT_LOG_PRIORITY_ERROR); > > > } > > > } > > > > > > - input->libinput = > > libinput_udev_create_for_seat(&libinput_interface, input, > > > - udev, seat_id); > > > - if (!input->libinput) { > > > + if (libinput_udev_assign_seat(input->libinput, seat_id) != 0) { > > > + libinput_unref(input->libinput); > > > return -1; > > > } > > > + > > > process_events(input); > > > > > > return udev_input_enable(input); > > > @@ -300,7 +310,7 @@ udev_input_destroy(struct udev_input *input) > > > wl_event_source_remove(input->libinput_source); > > > wl_list_for_each_safe(seat, next, &input->compositor->seat_list, > > base.link) > > > udev_seat_destroy(seat); > > > - libinput_destroy(input->libinput); > > > + libinput_unref(input->libinput); > > > } > > > > > > static void > > > -- > > > 1.9.3 > > > > > > _______________________________________________ > > > wayland-devel mailing list > > > [email protected] > > > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > > _______________________________________________ > > wayland-devel mailing list > > [email protected] > > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
