diff --git a/configure.ac.in b/configure.ac.in index 617c40f..1ec9fe9 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -201,7 +201,6 @@ dnl *********************************** dnl *** Check for required packages *** dnl *********************************** XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-3.0], [wnck_minimum_version]) -XDT_CHECK_PACKAGE([CLUTTER], [clutter-1.0], [clutter_minimum_version]) XDT_CHECK_PACKAGE([CLUTTER_COGL], [clutter-cogl-1.0], [clutter_minimum_version]) XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [gtk_minimum_version]) XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [glib_minimum_version]) @@ -220,6 +219,24 @@ XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [dbus_glib_minimum_version], [ GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL)]) +dnl ********************************************** +dnl *** Check for Clutter and its backend: GDK *** +dnl ********************************************** +BACKENDS="x11" + +XDT_CHECK_PACKAGE([CLUTTER], [clutter-1.0], [clutter_minimum_version], [ + XDT_CHECK_PACKAGE([CLUTTER_GDK], [clutter-gdk-1.0], [clutter_minimum_version], + [ac_clutter_gdk=yes], [ac_clutter_gdk=no])] +) + +HAVE_BACKEND_GDK="" +AM_CONDITIONAL([XFDASHBOARD_BUILD_WITH_BACKEND_GDK], [test x"$ac_clutter_gdk" = x"yes"]) +if test "x$ac_clutter_gdk" = xyes; then + BACKENDS="$BACKENDS gdk" + AC_DEFINE([HAVE_BACKEND_GDK], [1], [Define if GDK backend is available]) +fi +AC_SUBST(HAVE_BACKEND_GDK) + dnl *********************************** dnl *** Check for debugging support *** dnl *********************************** @@ -334,6 +351,7 @@ echo " glib-genmarshal: $GLIB_GENMARSHAL" echo " glib-mkenums: $GLIB_MKENUMS" echo echo "Features enabled:" +echo " Backends: $BACKENDS" echo " XComposite: $enabled_x11_extension_composite" echo " XDamage: $enabled_x11_extension_damage" echo " Xinerama: $enabled_x11_extension_xinerama" diff --git a/libxfdashboard/Makefile.am b/libxfdashboard/Makefile.am index 6100dde..9f43a60 100644 --- a/libxfdashboard/Makefile.am +++ b/libxfdashboard/Makefile.am @@ -250,15 +250,24 @@ libxfdashboard_la_LIBADD += \ $(XINERAMA_LIBS) endif +if XFDASHBOARD_BUILD_WITH_BACKEND_GDK gdk_headers = \ gdk/window-tracker-backend-gdk.h +libxfdashboard_la_headers += $(gdk_headers) + gdk_sources = \ gdk/window-tracker-backend-gdk.c -libxfdashboard_la_headers += $(gdk_headers) libxfdashboard_la_SOURCES += $(gdk_sources) +libxfdashboard_la_CFLAGS += \ + $(CLUTTER_GDK_CFLAGS) + +libxfdashboard_la_LIBADD += \ + $(CLUTTER_GDK_LIBS) +endif + libxfdashboard_la_includedir = \ $(includedir)/xfdashboard/libxfdashboard diff --git a/libxfdashboard/window-tracker-backend.c b/libxfdashboard/window-tracker-backend.c index 824b15e..647c0fd 100644 --- a/libxfdashboard/window-tracker-backend.c +++ b/libxfdashboard/window-tracker-backend.c @@ -31,7 +31,9 @@ #include #include +#ifdef HAVE_BACKEND_GDK #include +#endif #include #include #include @@ -63,9 +65,11 @@ static XfdashboardWindowTrackerBackendMap _xfdashboard_window_tracker_backend_ma #ifdef CLUTTER_WINDOWING_X11 { "x11", CLUTTER_WINDOWING_X11, xfdashboard_window_tracker_backend_x11_new }, #endif -#ifdef CLUTTER_WINDOWING_GDK +#ifdef HAVE_BACKEND_GDK +#ifdef CLUTTER_WINDOWING_GDK { "gdk", CLUTTER_WINDOWING_GDK, xfdashboard_window_tracker_backend_gdk_new }, -#endif +#endif /* CLUTTER_WINDOWING_GDK */ +#endif /* HAVE_BACKEND_GDK */ { NULL, NULL, NULL } };