[mutter] clutter: Unconditionalize a few X11 extensions



commit 0067f78155f8c038be507b334636aa00471ac013
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Thu May 24 17:34:48 2018 +0200

    clutter: Unconditionalize a few X11 extensions
    
    We now require xcomposite, xkb, xi 2.2, at least at compile time.

 clutter/clutter/x11/clutter-backend-x11.c        |  17 ----
 clutter/clutter/x11/clutter-device-manager-xi2.c |  22 -----
 clutter/clutter/x11/clutter-keymap-x11.c         | 115 ++++++++---------------
 clutter/clutter/x11/clutter-x11-texture-pixmap.c |   6 --
 clutter/configure.ac                             |  83 ++++------------
 clutter/tests/conform/events-touch.c             |   8 +-
 6 files changed, 63 insertions(+), 188 deletions(-)
---
diff --git a/clutter/clutter/x11/clutter-backend-x11.c b/clutter/clutter/x11/clutter-backend-x11.c
index 3c47ca2f3..0172da6a0 100644
--- a/clutter/clutter/x11/clutter-backend-x11.c
+++ b/clutter/clutter/x11/clutter-backend-x11.c
@@ -42,13 +42,8 @@
 
 #include "xsettings/xsettings-common.h"
 
-#if HAVE_XCOMPOSITE
 #include <X11/extensions/Xcomposite.h>
-#endif
-
-#if HAVE_XINPUT_2
 #include <X11/extensions/XInput2.h>
-#endif
 
 #include <cogl/cogl.h>
 #include <cogl/cogl-xlib.h>
@@ -241,7 +236,6 @@ clutter_backend_x11_create_device_manager (ClutterBackendX11 *backend_x11)
   ClutterEventTranslator *translator;
   ClutterBackend *backend;
 
-#ifdef HAVE_XINPUT_2
   if (clutter_enable_xinput)
     {
       int event_base, first_event, first_error;
@@ -270,7 +264,6 @@ clutter_backend_x11_create_device_manager (ClutterBackendX11 *backend_x11)
     }
 
   if (backend_x11->device_manager == NULL)
-#endif /* HAVE_XINPUT_2 */
     {
       CLUTTER_NOTE (BACKEND, "Creating Core device manager");
       backend_x11->has_xinput = FALSE;
@@ -517,14 +510,12 @@ static const GOptionEntry entries[] =
     G_OPTION_ARG_NONE, &clutter_synchronise,
     N_("Make X calls synchronous"), NULL
   },
-#ifdef HAVE_XINPUT_2
   {
     "disable-xinput", 0,
     G_OPTION_FLAG_REVERSE,
     G_OPTION_ARG_NONE, &clutter_enable_xinput,
     N_("Disable XInput support"), NULL
   },
-#endif /* HAVE_XINPUT_2 */
   { NULL }
 };
 
@@ -1218,7 +1209,6 @@ clutter_x11_get_input_devices (void)
 gboolean
 clutter_x11_has_xinput (void)
 {
-#ifdef HAVE_XINPUT_2
  ClutterBackend *backend = clutter_get_default_backend ();
 
   if (backend == NULL)
@@ -1234,9 +1224,6 @@ clutter_x11_has_xinput (void)
     }
 
   return CLUTTER_BACKEND_X11 (backend)->has_xinput;
-#else
-  return FALSE;
-#endif
 }
 
 /**
@@ -1250,7 +1237,6 @@ clutter_x11_has_xinput (void)
 gboolean
 clutter_x11_has_composite_extension (void)
 {
-#if HAVE_XCOMPOSITE
   static gboolean have_composite = FALSE, done_check = FALSE;
   int error = 0, event = 0;
   Display *dpy;
@@ -1281,9 +1267,6 @@ clutter_x11_has_composite_extension (void)
   done_check = TRUE;
 
   return have_composite;
-#else
-  return FALSE;
-#endif /* HAVE_XCOMPOSITE */
 }
 
 /**
diff --git a/clutter/clutter/x11/clutter-device-manager-xi2.c 
b/clutter/clutter/x11/clutter-device-manager-xi2.c
index 141f424b5..fb60cc8d9 100644
--- a/clutter/clutter/x11/clutter-device-manager-xi2.c
+++ b/clutter/clutter/x11/clutter-device-manager-xi2.c
@@ -199,7 +199,6 @@ translate_device_classes (Display             *xdisplay,
                                     (XIValuatorClassInfo *) class_info);
           break;
 
-#ifdef HAVE_XINPUT_2_2
         case XIScrollClass:
           {
             XIScrollClassInfo *scroll_info = (XIScrollClassInfo *) class_info;
@@ -223,7 +222,6 @@ translate_device_classes (Display             *xdisplay,
                                                    scroll_info->increment);
           }
           break;
-#endif /* HAVE_XINPUT_2_2 */
 
         default:
           break;
@@ -237,7 +235,6 @@ is_touch_device (XIAnyClassInfo         **classes,
                  ClutterInputDeviceType  *device_type,
                  guint                   *n_touch_points)
 {
-#ifdef HAVE_XINPUT_2_2
   guint i;
 
   for (i = 0; i < n_classes; i++)
@@ -261,7 +258,6 @@ is_touch_device (XIAnyClassInfo         **classes,
           return TRUE;
         }
     }
-#endif
 
   return FALSE;
 }
@@ -771,11 +767,9 @@ get_event_stage (ClutterEventTranslator *translator,
     case XI_ButtonPress:
     case XI_ButtonRelease:
     case XI_Motion:
-#ifdef HAVE_XINPUT_2_2
     case XI_TouchBegin:
     case XI_TouchUpdate:
     case XI_TouchEnd:
-#endif /* HAVE_XINPUT_2_2 */
       {
         XIDeviceEvent *xev = (XIDeviceEvent *) xi_event;
 
@@ -1037,7 +1031,6 @@ clutter_device_manager_xi2_select_stage_events (ClutterDeviceManager *manager,
   XISetMask (mask, XI_Enter);
   XISetMask (mask, XI_Leave);
 
-#ifdef HAVE_XINPUT_2_2
   /* enable touch event support if we're running on XInput 2.2 */
   if (backend_x11->xi_minor >= 2)
     {
@@ -1045,7 +1038,6 @@ clutter_device_manager_xi2_select_stage_events (ClutterDeviceManager *manager,
       XISetMask (mask, XI_TouchUpdate);
       XISetMask (mask, XI_TouchEnd);
     }
-#endif /* HAVE_XINPUT_2_2 */
 
   xi_event_mask.deviceid = XIAllMasterDevices;
   xi_event_mask.mask = mask;
@@ -1472,11 +1464,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
                           "invalid",
                           event->scroll.x,
                           event->scroll.y,
-#ifdef HAVE_XINPUT_2_2
                           (xev->flags & XIPointerEmulated) ? "yes" : "no"
-#else
-                          "no"
-#endif
                           );
             break;
 
@@ -1522,11 +1510,7 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
                           event->button.x,
                           event->button.y,
                           event->button.axes != NULL ? "yes" : "no",
-#ifdef HAVE_XINPUT_2_2
                           (xev->flags & XIPointerEmulated) ? "yes" : "no"
-#else
-                          "no"
-#endif
                           );
             break;
           }
@@ -1534,10 +1518,8 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         if (source_device != NULL && device->stage != NULL)
           _clutter_input_device_set_stage (source_device, device->stage);
 
-#ifdef HAVE_XINPUT_2_2
         if (xev->flags & XIPointerEmulated)
           _clutter_event_set_pointer_emulated (event, TRUE);
-#endif /* HAVE_XINPUT_2_2 */
 
         if (xi_event->evtype == XI_ButtonPress)
           _clutter_stage_x11_set_user_time (stage_x11, event->button.time);
@@ -1627,10 +1609,8 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         if (source_device != NULL && device->stage != NULL)
           _clutter_input_device_set_stage (source_device, device->stage);
 
-#ifdef HAVE_XINPUT_2_2
         if (xev->flags & XIPointerEmulated)
           _clutter_event_set_pointer_emulated (event, TRUE);
-#endif /* HAVE_XINPUT_2_2 */
 
         CLUTTER_NOTE (EVENT, "motion: win:0x%x device:%d '%s' (x:%.2f, y:%.2f, axes:%s)",
                       (unsigned int) stage_x11->xwin,
@@ -1644,7 +1624,6 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
       }
       break;
 
-#ifdef HAVE_XINPUT_2_2
     case XI_TouchBegin:
       {
         XIDeviceEvent *xev = (XIDeviceEvent *) xi_event;
@@ -1756,7 +1735,6 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         retval = CLUTTER_TRANSLATE_QUEUE;
       }
       break;
-#endif /* HAVE_XINPUT_2_2 */
 
     case XI_Enter:
     case XI_Leave:
diff --git a/clutter/clutter/x11/clutter-keymap-x11.c b/clutter/clutter/x11/clutter-keymap-x11.c
index c34e676a4..57b6e409d 100644
--- a/clutter/clutter/x11/clutter-keymap-x11.c
+++ b/clutter/clutter/x11/clutter-keymap-x11.c
@@ -31,10 +31,7 @@
 #include "clutter-private.h"
 
 #include <X11/Xatom.h>
-
-#ifdef HAVE_XKB
 #include <X11/XKBlib.h>
-#endif
 
 typedef struct _ClutterKeymapX11Class   ClutterKeymapX11Class;
 typedef struct _DirectionCacheEntry     DirectionCacheEntry;
@@ -71,7 +68,6 @@ struct _ClutterKeymapX11
 
   PangoDirection current_direction;
 
-#ifdef HAVE_XKB
   XkbDescPtr xkb_desc;
   int xkb_event_base;
   guint xkb_map_serial;
@@ -79,7 +75,6 @@ struct _ClutterKeymapX11
   guint current_cache_serial;
   DirectionCacheEntry group_direction_cache[4];
   int current_group;
-#endif
 
   guint caps_lock_state : 1;
   guint num_lock_state  : 1;
@@ -110,8 +105,6 @@ G_DEFINE_TYPE_WITH_CODE (ClutterKeymapX11, clutter_keymap_x11, G_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_EVENT_TRANSLATOR,
                                                 clutter_event_translator_iface_init));
 
-#ifdef HAVE_XKB
-
 /* code adapted from gdk/x11/gdkkeys-x11.c - update_modmap */
 static void
 update_modmap (Display          *display,
@@ -214,9 +207,7 @@ get_xkb (ClutterKeymapX11 *keymap_x11)
 
   return keymap_x11->xkb_desc;
 }
-#endif /* HAVE_XKB */
 
-#ifdef HAVE_XKB
 static void
 update_locked_mods (ClutterKeymapX11 *keymap_x11,
                     gint              locked_mods)
@@ -242,9 +233,7 @@ update_locked_mods (ClutterKeymapX11 *keymap_x11,
     g_signal_emit_by_name (keymap_x11->backend, "key-lock-changed");
 #endif
 }
-#endif /* HAVE_XKB */
 
-#ifdef HAVE_XKB
 /* the code to retrieve the keymap direction and cache it
  * is taken from GDK:
  *      gdk/x11/gdkkeys-x11.c
@@ -345,13 +334,11 @@ get_direction_from_cache (ClutterKeymapX11 *keymap_x11,
 
   return direction;
 }
-#endif /* HAVE_XKB */
 
 static void
 update_direction (ClutterKeymapX11 *keymap_x11,
                   int               group)
 {
-#ifdef HAVE_XKB
   XkbDescPtr xkb = get_xkb (keymap_x11);
   Atom group_atom;
 
@@ -363,7 +350,6 @@ update_direction (ClutterKeymapX11 *keymap_x11,
       keymap_x11->current_group_atom = group_atom;
       keymap_x11->has_direction = TRUE;
     }
-#endif /* HAVE_XKB */
 }
 
 static void
@@ -371,54 +357,49 @@ clutter_keymap_x11_constructed (GObject *gobject)
 {
   ClutterKeymapX11 *keymap_x11 = CLUTTER_KEYMAP_X11 (gobject);
   ClutterBackendX11 *backend_x11;
+  gint xkb_major = XkbMajorVersion;
+  gint xkb_minor = XkbMinorVersion;
 
   g_assert (keymap_x11->backend != NULL);
   backend_x11 = CLUTTER_BACKEND_X11 (keymap_x11->backend);
 
-#ifdef HAVE_XKB
-  {
-    gint xkb_major = XkbMajorVersion;
-    gint xkb_minor = XkbMinorVersion;
-
-    if (XkbLibraryVersion (&xkb_major, &xkb_minor))
-      {
-        xkb_major = XkbMajorVersion;
-        xkb_minor = XkbMinorVersion;
-
-        if (XkbQueryExtension (backend_x11->xdpy,
-                               NULL,
-                               &keymap_x11->xkb_event_base,
-                               NULL,
-                               &xkb_major, &xkb_minor))
-          {
-            Bool detectable_autorepeat_supported;
-
-            backend_x11->use_xkb = TRUE;
-
-            XkbSelectEvents (backend_x11->xdpy,
-                             XkbUseCoreKbd,
-                             XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask,
-                             XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask);
-
-            XkbSelectEventDetails (backend_x11->xdpy,
-                                   XkbUseCoreKbd, XkbStateNotify,
-                                   XkbAllStateComponentsMask,
-                                   XkbGroupLockMask | XkbModifierLockMask);
-
-            /* enable XKB autorepeat */
-            XkbSetDetectableAutoRepeat (backend_x11->xdpy,
-                                        True,
-                                        &detectable_autorepeat_supported);
-
-            backend_x11->have_xkb_autorepeat = detectable_autorepeat_supported;
-
-            CLUTTER_NOTE (BACKEND, "Detectable autorepeat: %s",
-                          backend_x11->have_xkb_autorepeat ? "supported"
-                                                           : "not supported");
-          }
-      }
-  }
-#endif /* HAVE_XKB */
+  if (XkbLibraryVersion (&xkb_major, &xkb_minor))
+    {
+      xkb_major = XkbMajorVersion;
+      xkb_minor = XkbMinorVersion;
+
+      if (XkbQueryExtension (backend_x11->xdpy,
+                             NULL,
+                             &keymap_x11->xkb_event_base,
+                             NULL,
+                             &xkb_major, &xkb_minor))
+        {
+          Bool detectable_autorepeat_supported;
+
+          backend_x11->use_xkb = TRUE;
+
+          XkbSelectEvents (backend_x11->xdpy,
+                           XkbUseCoreKbd,
+                           XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask,
+                           XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask);
+
+          XkbSelectEventDetails (backend_x11->xdpy,
+                                 XkbUseCoreKbd, XkbStateNotify,
+                                 XkbAllStateComponentsMask,
+                                 XkbGroupLockMask | XkbModifierLockMask);
+
+          /* enable XKB autorepeat */
+          XkbSetDetectableAutoRepeat (backend_x11->xdpy,
+                                      True,
+                                      &detectable_autorepeat_supported);
+
+          backend_x11->have_xkb_autorepeat = detectable_autorepeat_supported;
+
+          CLUTTER_NOTE (BACKEND, "Detectable autorepeat: %s",
+                        backend_x11->have_xkb_autorepeat ? "supported"
+                                                         : "not supported");
+        }
+    }
 }
 
 static void
@@ -450,12 +431,10 @@ clutter_keymap_x11_finalize (GObject *gobject)
   keymap = CLUTTER_KEYMAP_X11 (gobject);
   translator = CLUTTER_EVENT_TRANSLATOR (keymap);
 
-#ifdef HAVE_XKB
   _clutter_backend_remove_event_translator (keymap->backend, translator);
 
   if (keymap->xkb_desc != NULL)
     XkbFreeKeyboard (keymap->xkb_desc, XkbAllComponentsMask, True);
-#endif
 
   G_OBJECT_CLASS (clutter_keymap_x11_parent_class)->finalize (gobject);
 }
@@ -503,7 +482,6 @@ clutter_keymap_x11_translate_event (ClutterEventTranslator *translator,
 
   retval = CLUTTER_TRANSLATE_CONTINUE;
 
-#ifdef HAVE_XKB
   if (xevent->type == keymap_x11->xkb_event_base)
     {
       XkbEvent *xkb_event = (XkbEvent *) xevent;
@@ -530,7 +508,6 @@ clutter_keymap_x11_translate_event (ClutterEventTranslator *translator,
           break;
         }
     }
-#endif /* HAVE_XKB */
 
   return retval;
 }
@@ -545,11 +522,7 @@ gint
 _clutter_keymap_x11_get_key_group (ClutterKeymapX11    *keymap,
                                    ClutterModifierType  state)
 {
-#ifdef HAVE_XKB
   return XkbGroupForCoreState (state);
-#else
-  return 0;
-#endif /* HAVE_XKB */
 }
 
 gboolean
@@ -606,7 +579,6 @@ _clutter_keymap_x11_translate_key_state (ClutterKeymapX11    *keymap,
 
   backend_x11 = CLUTTER_BACKEND_X11 (keymap->backend);
 
-#ifdef HAVE_XKB
   if (backend_x11->use_xkb)
     {
       XkbDescRec *xkb = get_xkb (keymap);
@@ -622,7 +594,6 @@ _clutter_keymap_x11_translate_key_state (ClutterKeymapX11    *keymap,
         retval = 0;
     }
   else
-#endif /* HAVE_XKB */
     retval = translate_keysym (keymap, hardware_keycode);
 
   if (mods_p)
@@ -644,7 +615,6 @@ _clutter_keymap_x11_get_is_modifier (ClutterKeymapX11 *keymap,
   if (keycode < keymap->min_keycode || keycode > keymap->max_keycode)
     return FALSE;
 
-#ifdef HAVE_XKB
   if (CLUTTER_BACKEND_X11 (keymap->backend)->use_xkb)
     {
       XkbDescRec *xkb = get_xkb (keymap);
@@ -652,7 +622,6 @@ _clutter_keymap_x11_get_is_modifier (ClutterKeymapX11 *keymap,
       if (xkb->map->modmap && xkb->map->modmap[keycode] != 0)
         return TRUE;
     }
-#endif /* HAVE_XKB */
 
   return FALSE;
 }
@@ -662,7 +631,6 @@ _clutter_keymap_x11_get_direction (ClutterKeymapX11 *keymap)
 {
   g_return_val_if_fail (CLUTTER_IS_KEYMAP_X11 (keymap), PANGO_DIRECTION_NEUTRAL);
 
-#ifdef HAVE_XKB
   if (CLUTTER_BACKEND_X11 (keymap->backend)->use_xkb)
     {
       if (!keymap->has_direction)
@@ -677,7 +645,6 @@ _clutter_keymap_x11_get_direction (ClutterKeymapX11 *keymap)
       return keymap->current_direction;
     }
   else
-#endif
     return PANGO_DIRECTION_NEUTRAL;
 }
 
@@ -687,7 +654,6 @@ clutter_keymap_x11_get_entries_for_keyval (ClutterKeymapX11  *keymap_x11,
                                            ClutterKeymapKey **keys,
                                            gint              *n_keys)
 {
-#ifdef HAVE_XKB
   if (CLUTTER_BACKEND_X11 (keymap_x11->backend)->use_xkb)
     {
       XkbDescRec *xkb = get_xkb (keymap_x11);
@@ -760,7 +726,6 @@ clutter_keymap_x11_get_entries_for_keyval (ClutterKeymapX11  *keymap_x11,
       return *n_keys > 0;
     }
   else
-#endif
     {
       return FALSE;
     }
@@ -771,7 +736,6 @@ clutter_keymap_x11_latch_modifiers (ClutterKeymapX11 *keymap_x11,
                                     uint32_t          level,
                                     gboolean          enable)
 {
-#ifdef HAVE_XKB
   ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (keymap_x11->backend);
   uint32_t modifiers[] = {
     0,
@@ -794,7 +758,6 @@ clutter_keymap_x11_latch_modifiers (ClutterKeymapX11 *keymap_x11,
   XkbLatchModifiers (clutter_x11_get_default_display (),
                      XkbUseCoreKbd, modifiers[level],
                      value);
-#endif
 }
 
 static uint32_t
diff --git a/clutter/clutter/x11/clutter-x11-texture-pixmap.c 
b/clutter/clutter/x11/clutter-x11-texture-pixmap.c
index 92f0a6106..edb3e499f 100644
--- a/clutter/clutter/x11/clutter-x11-texture-pixmap.c
+++ b/clutter/clutter/x11/clutter-x11-texture-pixmap.c
@@ -57,10 +57,7 @@
 #include <cogl/winsys/cogl-texture-pixmap-x11.h>
 
 #include <X11/extensions/Xdamage.h>
-
-#if HAVE_XCOMPOSITE
 #include <X11/extensions/Xcomposite.h>
-#endif
 
 enum
 {
@@ -960,7 +957,6 @@ clutter_x11_texture_pixmap_set_window (ClutterX11TexturePixmap *texture,
   if (dpy == NULL)
     return;
 
-#if HAVE_XCOMPOSITE
   priv = texture->priv;
 
   if (priv->window == window && automatic == priv->window_redirect_automatic)
@@ -1024,8 +1020,6 @@ clutter_x11_texture_pixmap_set_window (ClutterX11TexturePixmap *texture,
                                                    attr.width, attr.height,
                                                    attr.override_redirect);
   g_object_unref (texture);
-
-#endif /* HAVE_XCOMPOSITE */
 }
 
 static void
diff --git a/clutter/configure.ac b/clutter/configure.ac
index c88dac271..6089e0b88 100644
--- a/clutter/configure.ac
+++ b/clutter/configure.ac
@@ -283,13 +283,11 @@ AS_IF([test "x$SUPPORT_X11" = "x1"],
               [AC_MSG_ERROR([not found])]
         )
 
-        # XCOMPOSITE (optional)
+        # XCOMPOSITE (required)
         AC_MSG_CHECKING([for XCOMPOSITE extension >= $XCOMPOSITE_REQ_VERSION])
         PKG_CHECK_EXISTS([xcomposite >= $XCOMPOSITE_REQ_VERSION], [have_xcomposite=yes], 
[have_xcomposite=no])
         AS_IF([test "x$have_xcomposite" = "xyes"],
               [
-                AC_DEFINE(HAVE_XCOMPOSITE, [1], [Define to 1 if we have the XCOMPOSITE X extension])
-
                 X11_LIBS="$X11_LIBS -lXcomposite"
                 X11_PC_FILES="$X11_PC_FILES xcomposite >= $XCOMPOSITE_REQ_VERSION"
                 X11_EXTS="$X11_EXTS xcomposite"
@@ -333,61 +331,25 @@ AS_IF([test "x$SUPPORT_X11" = "x1"],
         CPPFLAGS="$clutter_save_CPPFLAGS"
         LIBS="$clutter_save_LIBS"
 
-        # XI (optional)
-        AC_ARG_ENABLE([xinput],
-                      [AS_HELP_STRING([--enable-xinput], [Use the XI X extension])],
-                      [],
-                      [enable_xinput=yes])
+        PKG_CHECK_EXISTS([xi], [have_xinput=yes], AC_MSG_ERROR([XI support not found]))
+        AC_CHECK_HEADERS([X11/extensions/XInput2.h],
+                         [],
+                         AC_MSG_ERROR([XI2 not found]))
+        AC_CHECK_FUNC([XIAllowTouchEvents],
+                      [
+                       AC_CHECK_MEMBER([XIScrollClassInfo.number],
+                                       [],
+                                       AC_MSG_ERROR([XIScrollClasSInfo.number member missing in XI2]),
+                                       [[#include <X11/extensions/XInput2.h>]])
+                      ])
+        LIBS="$clutter_save_LIBS"
 
-        AS_IF([test "x$enable_xinput" = "xyes"],
-              [
-                PKG_CHECK_EXISTS([xi], [have_xinput=yes], [have_xinput=no])
-              ],
-              [
-                have_xinput=no
-              ])
+        X11_LIBS="$X11_LIBS $XINPUT_LIBS"
+        X11_PC_FILES="$X11_PC_FILES xi"
 
-        AS_CASE([$have_xinput],
-
-                [yes],
-                [
-                  AC_CHECK_HEADERS([X11/extensions/XInput2.h],
-                                   [
-                                     have_xinput2=yes
-                                     AC_DEFINE([HAVE_XINPUT_2],
-                                               [1],
-                                               [Define to 1 if XI2 is available])
-                                   ])
-
-                  clutter_save_LIBS="$LIBS"
-                  LIBS="$LIBS -lXi"
-
-                  AC_CHECK_FUNC([XIAllowTouchEvents],
-                                [
-                                  AC_CHECK_MEMBER([XIScrollClassInfo.number],
-                                                  [
-                                                    have_xinput_2_2=yes
-                                                    AC_DEFINE([HAVE_XINPUT_2_2], [1], [Define to 1 if XInput 
2.2 is available])
-                                                  ],
-                                                  [have_xinput_2_2=no],
-                                                  [[#include <X11/extensions/XInput2.h>]])])
-
-                  LIBS="$clutter_save_LIBS"
-
-                  X11_LIBS="$X11_LIBS $XINPUT_LIBS"
-                  X11_PC_FILES="$X11_PC_FILES xi"
-
-                  AS_IF([test "x$have_xinput_2_2" = "xyes"],
-                        [X11_EXTS="$X11_EXTS xi2.2"],
-                        [X11_EXTS="$X11_EXTS xi2.0"])
-                ],
-
-                [no],
-                [have_xinput2=no],
-
-                [*],
-                [AC_MSG_ERROR([Invalid argument for --enable-xinput])]
-        )
+        AS_IF([test "x$have_xinput_2_2" = "xyes"],
+              [X11_EXTS="$X11_EXTS xi2.2"],
+              [X11_EXTS="$X11_EXTS xi2.0"])
 
         # XKB
         clutter_save_CPPFLAGS="$CPPFLAGS"
@@ -396,14 +358,9 @@ AS_IF([test "x$SUPPORT_X11" = "x1"],
         clutter_save_LIBS="$LIBS"
         LIBS="$LIBS $X11_LIBS"
 
-        have_xkb=no
         AC_CHECK_FUNC([XkbQueryExtension],
-                      [
-                        AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])
-                        have_xkb=yes
-
-                        X11_EXTS="$X11_EXTS xkb"
-                      ])
+                      [],
+                      [AC_MSG_ERROR([XKB support not found])])
 
         CPPFLAGS="$clutter_save_CPPFLAGS"
         LIBS="$clutter_save_LIBS"
diff --git a/clutter/tests/conform/events-touch.c b/clutter/tests/conform/events-touch.c
index c87429794..25d8f21be 100644
--- a/clutter/tests/conform/events-touch.c
+++ b/clutter/tests/conform/events-touch.c
@@ -21,7 +21,7 @@
 
 #include <clutter/clutter.h>
 
-#if defined CLUTTER_WINDOWING_X11 && HAVE_XINPUT_2_2
+#ifdef CLUTTER_WINDOWING_X11
 
 #include <stdio.h>
 #include <string.h>
@@ -355,12 +355,12 @@ error:
   return 0;
 }
 
-#endif /* defined CLUTTER_WINDOWING_X11 && HAVE_XINPUT_2_2 */
+#endif /* CLUTTER_WINDOWING_X11 */
 
 static void
 events_touch (void)
 {
-#if defined CLUTTER_WINDOWING_X11 && HAVE_XINPUT_2_2
+#ifdef CLUTTER_WINDOWING_X11
   ClutterActor *stage;
   State state;
 
@@ -384,7 +384,7 @@ events_touch (void)
     g_print ("end result: %s\n", state.pass ? "pass" : "FAIL");
 
   g_assert (state.pass);
-#endif /* defined CLUTTER_WINDOWING_X11 && HAVE_XINPUT_2_2 */
+#endif /* CLUTTER_WINDOWING_X11 */
 }
 
 CLUTTER_TEST_SUITE (


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]