[PATCH 03/18] evdev: automatic configuration of mtdev library support
Marc Chalain
marc.chalain at gmail.com
Fri Jun 21 03:11:56 PDT 2013
2013/6/21 <sardemff7+wayland at sardemff7.net>
> On 21/06/2013 11:52, Marc Chalain wrote:
>
>> 2013/6/21 <sardemff7+wayland at sardemff7.**net<sardemff7%2Bwayland 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.
>>
>
> Why do you removed this usage then? I’m not sure what you mean by that. If
> you don’t know the future, you should even more use the provided flags.
> Specifically the LIBS so that mtdev is properly linked everywhere is it
> used. (And CFLAGS in case headers are not in a default location.)
>
> OK I understand.
>
>
>>>
>>> + 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.
>>
>
> Not at all. You want mtdev support, but you might have missed the
> installation. Also, we (packagers) want to ensure that a specific feature
> has all its deps checked. Please, add an error if $enable_mtdev is yes and
> $have_mtdev is no. :-)
>
>
>
>>> +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
>>>
>>>
>>
>
> --
>
> Quentin “Sardem FF7” Glidic
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130621/452c024f/attachment.html>
More information about the wayland-devel
mailing list