[PATCH 03/18] evdev: automatic configuration of mtdev library support

Marc Chalain marc.chalain at gmail.com
Fri Jun 21 02:52:28 PDT 2013


2013/6/21 <sardemff7+wayland at sardemff7.net>

> On 21/06/2013 10:39, mchalain [marc.chalain at gmail.com] wrote:
>
>> From: mchalain <marc.chalain at gmail.com>
>>
>>   it allows the --disable-mtdev option at configuration.
>>   evdev.c creates empty macros for mtdev functions not availlables
>>
>> ---
>>   weston/configure.ac |   17 ++++++++++++++---
>>   weston/src/evdev.c  |   11 ++++++++---
>>   2 files changed, 22 insertions(+), 6 deletions(-)
>>
>> diff --git a/weston/configure.ac b/weston/configure.ac
>> index b625221..2bdff35 100644
>> --- a/weston/configure.ac
>> +++ b/weston/configure.ac
>> @@ -132,7 +132,7 @@ AC_ARG_ENABLE(drm-compositor, [
>>  --enable-drm-compositor],,
>>   AM_CONDITIONAL(ENABLE_DRM_**COMPOSITOR, test x$enable_drm_compositor =
>> xyes -a x$enable_egl = xyes)
>>   if test x$enable_drm_compositor = xyes -a x$enable_egl = xyes; then
>>     AC_DEFINE([BUILD_DRM_**COMPOSITOR], [1], [Build the DRM compositor])
>> -  PKG_CHECK_MODULES(DRM_**COMPOSITOR, [libudev >= 136 libdrm >= 2.4.30
>> gbm mtdev >= 1.1.0])
>> +  PKG_CHECK_MODULES(DRM_**COMPOSITOR, [libudev >= 136 libdrm >= 2.4.30
>> gbm])
>>   fi
>>
>>
>> @@ -161,7 +161,7 @@ AM_CONDITIONAL(ENABLE_RPI_**COMPOSITOR, test
>> "x$enable_rpi_compositor" = "xyes")
>>   have_bcm_host="no"
>>   if test "x$enable_rpi_compositor" = "xyes"; then
>>     AC_DEFINE([BUILD_RPI_**COMPOSITOR], [1], [Build the compositor for
>> Raspberry Pi])
>> -  PKG_CHECK_MODULES(RPI_**COMPOSITOR, [libudev >= 136 mtdev >= 1.1.0])
>> +  PKG_CHECK_MODULES(RPI_**COMPOSITOR, [libudev >= 136])
>>     PKG_CHECK_MODULES(RPI_BCM_**HOST, [bcm_host],
>>                       [have_bcm_host="yes"
>>                        AC_DEFINE([HAVE_BCM_HOST], [1], [have Raspberry Pi
>> BCM headers])],
>> @@ -176,7 +176,7 @@ AM_CONDITIONAL([ENABLE_FBDEV_**COMPOSITOR],
>>                  [test x$enable_fbdev_compositor = xyes])
>>   AS_IF([test x$enable_fbdev_compositor = xyes], [
>>     AC_DEFINE([BUILD_FBDEV_**COMPOSITOR], [1], [Build the fbdev
>> compositor])
>> -  PKG_CHECK_MODULES([FBDEV_**COMPOSITOR], [libudev >= 136 mtdev >=
>> 1.1.0])
>> +  PKG_CHECK_MODULES([FBDEV_**COMPOSITOR], [libudev >= 136 ])
>>   ])
>>
>>   AC_ARG_ENABLE([rdp-compositor]**, [  --enable-rdp-compositor],,
>> @@ -203,6 +203,17 @@ PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes],
>> [have_webp=no])
>>   AS_IF([test "x$have_webp" = "xyes"],
>>         [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
>>
>> +AC_ARG_ENABLE(mtdev,
>> +              AS_HELP_STRING([--disable-**mtdev],
>> +                             [do not support multitouch library
>> libmtdev]),,
>> +             enable_mtdev=auto)
>> +AM_CONDITIONAL(ENABLE_MTDEV, test "x$enable_mtdev" = "xyes")
>>
>
> If you do not use this, you should probably not set it.
>
>

>
>
>  +if test "x$enable_mtdev" != "xno"; then
>> +       PKG_CHECK_MODULES(MTDEV, [mtdev >= 1.1.0], [have_mtdev=yes],
>> [have_mtdev=no])
>>
>
> Where do you use MTDEV_{CFLAGS,LIBS}?
>
> Nowhere at this moment. But I don't know the future and this was done in
the prevsious version.


>
>
>  +       AS_IF([test "x$have_mtdev" = "xyes"],
>> +                 [AC_DEFINE([HAVE_MTDEV], [1], [Have Multitouch device
>> support])])
>>
>
> What if the user specified --enable-mtdev but the package is not
> available? It should be an error, not a silent ignore. :-)
>
>
> If you set  --enable-mtde, you know that mtdev is available. After the
automatic check is the normal way in my opinion.

>
>  +fi
>> +
>>   AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], have_jpeglib=yes)
>>   if test x$have_jpeglib = xyes; then
>>     JPEG_LIBS="-ljpeg"
>> diff --git a/weston/src/evdev.c b/weston/src/evdev.c
>> index 122a2d9..59af038 100644
>> --- a/weston/src/evdev.c
>> +++ b/weston/src/evdev.c
>> @@ -27,7 +27,15 @@
>>   #include <linux/input.h>
>>   #include <unistd.h>
>>   #include <fcntl.h>
>> +#ifdef HAVE_MTDEV
>>   #include <mtdev.h>
>> +#else
>> +struct mtdev
>> +{ int none;};
>> +#define mtdev_close_delete(...) do{}while(0)
>> +#define mtdev_get(...) 0
>> +#define mtdev_new_open(...) NULL
>> +#endif
>>
>>   #include "compositor.h"
>>   #include "evdev.h"
>> @@ -565,11 +573,8 @@ evdev_device_create(struct weston_seat *seat, const
>> char *path, int device_fd)
>>         if (device->dispatch == NULL)
>>                 goto err1;
>>
>> -
>>         if (device->is_mt) {
>>                 device->mtdev = mtdev_new_open(device->fd);
>> -               if (!device->mtdev)
>> -                       weston_log("mtdev failed to open for %s\n", path);
>>
>
> IMO, it should still log it if mtdev support is enabled.
>
>
>
>          }
>>
>>         device->source = wl_event_loop_add_fd(ec->**input_loop,
>> device->fd,
>>
>>
>
> --
>
> Quentin “Sardem FF7” Glidic
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130621/8c374f83/attachment.html>


More information about the wayland-devel mailing list