-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-
-# Checks for library functions.
-AC_FUNC_MALLOC
-AC_FUNC_MMAP
-AC_CHECK_FUNCS([memset munmap strcasecmp strdup])
+m4_define([clutter_req_version], [0.9.0])
+m4_define([gtk_req_version], [2.12.0])
+m4_define([flavour_default], [x11])
+AC_ARG_WITH([flavour],
+ [AC_HELP_STRING([--with-flavour=@<:@x11/win32@:>@],
+ [Select the Clutter backend, default=flavour_default])],
+ [],
+ [with_flavour=flavour_default])
+
+AS_CASE([$with_flavour],
+ [x11], [
+ AC_DEFINE([HAVE_CLUTTER_GTK_X11], 1, [Using the X11 flavour])
+ PKG_CHECK_MODULES(CLUTTER, clutter-x11-0.9 >= clutter_req_version)
+ PKG_CHECK_MODULES(GTK, gtk+-x11-2.0 >= gtk_req_version)
+ CLUTTER_GTK_REQUIRES="clutter-x11-0.9 gtk+-x11-2.0"
+ ],
+
+ [win32], [
+ AC_DEFINE([HAVE_CLUTTER_GTK_WIN32], 1, [Using the Win32 flavour])
+ PKG_CHECK_MODULES(CLUTTER, clutter-win32-0.9 >= $CLUTTER_REQUIRED)
+ PKG_CHECK_MODULES(GTK, gtk+-win32-2.0 >= gtk_req_version)
+ CLUTTER_GTK_REQUIRES="clutter-win32-0.9 gtk+-win32-2.0"
+ ]
+
+ [AC_MSG_ERROR([Invalid argument for --with-flavour])]
+)
+
+CLUTTER_GTK_FLAVOUR=$with_flavour
+AC_SUBST(CLUTTER_GTK_FLAVOUR)
+
+AC_SUBST(CLUTTER_GTK_REQUIRES)