[clutter/mscv-support-1.8] Backport MSVC stuff from msvc-support-master



commit 33c6c9f34f70ea663450fc9e04fb08742b746563
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Sep 27 14:55:23 2011 +0800

    Backport MSVC stuff from msvc-support-master
    
    Make 1.8 branch build with Visual C++

 Makefile.am                                        |    5 +-
 build/Makefile.am                                  |    2 +-
 build/win32/Makefile.am                            |    3 +
 build/win32/vs10/Makefile.am                       |   37 +
 build/win32/vs10/README.txt                        |   91 ++
 .../win32/vs10/cally-atkcomponent-example.vcxproj  |  172 +++
 .../cally-atkcomponent-example.vcxproj.filters     |   26 +
 .../vs10/cally-atkeditabletext-example.vcxproj     |  172 +++
 .../cally-atkeditabletext-example.vcxproj.filters  |   26 +
 build/win32/vs10/cally-atkevents-example.vcxproj   |  172 +++
 .../vs10/cally-atkevents-example.vcxproj.filters   |   26 +
 build/win32/vs10/cally-atktext-example.vcxproj     |  172 +++
 .../vs10/cally-atktext-example.vcxproj.filters     |   25 +
 build/win32/vs10/cally-clone-example.vcxproj       |  172 +++
 .../win32/vs10/cally-clone-example.vcxproj.filters |   26 +
 build/win32/vs10/clutter.props                     |  416 ++++++
 build/win32/vs10/clutter.sln                       |  156 +++
 build/win32/vs10/clutter.vcxproj.filtersin         |   25 +
 build/win32/vs10/clutter.vcxprojin                 |  196 +++
 build/win32/vs10/install.vcxproj                   |  149 +++
 build/win32/vs10/test-cogl-perf.vcxproj            |  166 +++
 build/win32/vs10/test-cogl-perf.vcxproj.filters    |   14 +
 .../win32/vs10/test-conformance.vcxproj.filtersin  |   12 +
 build/win32/vs10/test-conformance.vcxprojin        |  168 +++
 .../win32/vs10/test-interactive.vcxproj.filtersin  |   12 +
 build/win32/vs10/test-interactive.vcxprojin        |  168 +++
 build/win32/vs10/test-picking.vcxproj              |  167 +++
 build/win32/vs10/test-picking.vcxproj.filters      |   14 +
 build/win32/vs10/test-random-text.vcxproj          |  166 +++
 build/win32/vs10/test-random-text.vcxproj.filters  |   14 +
 build/win32/vs10/test-text-perf.vcxproj            |  166 +++
 build/win32/vs10/test-text-perf.vcxproj.filters    |   14 +
 build/win32/vs10/test-text.vcxproj                 |  166 +++
 build/win32/vs10/test-text.vcxproj.filters         |   14 +
 build/win32/vs9/Makefile.am                        |   21 +
 build/win32/vs9/README.txt                         |   90 ++
 build/win32/vs9/cally-atkcomponent-example.vcproj  |  169 +++
 .../win32/vs9/cally-atkeditabletext-example.vcproj |  167 +++
 build/win32/vs9/cally-atkevents-example.vcproj     |  167 +++
 build/win32/vs9/cally-atktext-example.vcproj       |  164 +++
 build/win32/vs9/cally-clone-example.vcproj         |  169 +++
 build/win32/vs9/clutter.sln                        |  207 +++
 build/win32/vs9/clutter.vcprojin                   |  199 +++
 build/win32/vs9/clutter.vsprops                    |  265 ++++
 build/win32/vs9/install.vcproj                     |   80 ++
 build/win32/vs9/test-cogl-perf.vcproj              |  159 +++
 build/win32/vs9/test-conformance.vcprojin          |  165 +++
 build/win32/vs9/test-interactive.vcprojin          |  165 +++
 build/win32/vs9/test-picking.vcproj                |  160 +++
 build/win32/vs9/test-random-text.vcproj            |  159 +++
 build/win32/vs9/test-text-perf.vcproj              |  159 +++
 build/win32/vs9/test-text.vcproj                   |  159 +++
 clutter/Makefile.am                                |   42 +
 clutter/clutter-config.h.win32                     |   16 +
 clutter/clutter-version.h.win32.in                 |  196 +++
 clutter/clutter.symbols                            | 1386 ++++++++++++++++++++
 config.h.win32.in                                  |  158 +++
 configure.ac                                       |    6 +-
 tests/conform/Makefile.am                          |   42 +
 tests/interactive/Makefile.am                      |   58 +-
 tests/micro-bench/test-picking.c                   |    8 +-
 61 files changed, 8058 insertions(+), 8 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 4962c3a..ba5e54d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/build/autotools/Makefile.am.silent
 
 NULL =
 
-SUBDIRS = build clutter tests doc po
+SUBDIRS = clutter tests doc po build
 
 # XXX - this is a massive hack to make autoreconf honour the ACLOCAL_FLAGS
 # that jhbuild sets while still retaining build/autotools as the authoritative
@@ -12,6 +12,9 @@ ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS}
 EXTRA_DIST = \
 	ChangeLog.pre-git-import	\
 	README.in			\
+	README				\
+	config.h.win32		\
+	config.h.win32.in	\
 	$(NULL)
 
 CLEANFILES = $(pcfiles)
diff --git a/build/Makefile.am b/build/Makefile.am
index d8669fd..4c28453 100644
--- a/build/Makefile.am
+++ b/build/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS = autotools mingw
+SUBDIRS = autotools mingw win32
 
 EXTRA_DIST = gen-gcov.pl
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
new file mode 100644
index 0000000..b764e59
--- /dev/null
+++ b/build/win32/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = vs9 vs10
+
+EXTRA_DIST = *.bat
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
new file mode 100644
index 0000000..5e6d9a0
--- /dev/null
+++ b/build/win32/vs10/Makefile.am
@@ -0,0 +1,37 @@
+EXTRA_DIST = \
+	cally-atkcomponent-example.vcxproj		\
+	cally-atkcomponent-example.vcxproj.filters		\
+	cally-atkeditabletext-example.vcxproj	\
+	cally-atkeditabletext-example.vcxproj.filters	\
+	cally-atkevents-example.vcxproj	\
+	cally-atkevents-example.vcxproj.filters	\
+	cally-atktext-example.vcxproj	\
+	cally-atktext-example.vcxproj.filters	\
+	cally-clone-example.vcxproj		\
+	cally-clone-example.vcxproj.filters		\
+	clutter.sln			\
+	clutter.vcxproj		\
+	clutter.vcxprojin	\
+	clutter.vcxproj.filters		\
+	clutter.vcxproj.filtersin	\
+	clutter.props		\
+	install.vcxproj	\
+	test-cogl-perf.vcxproj		\
+	test-cogl-perf.vcxproj.filters		\
+	test-conformance.vcxproj		\
+	test-conformance.vcxprojin	\
+	test-conformance.vcxproj.filters		\
+	test-conformance.vcxproj.filtersin	\
+	test-interactive.vcxproj		\
+	test-interactive.vcxprojin	\
+	test-interactive.vcxproj.filters		\
+	test-interactive.vcxproj.filtersin	\
+	test-picking.vcxproj		\
+	test-picking.vcxproj.filters		\
+	test-random-text.vcxproj	\
+	test-random-text.vcxproj.filters	\
+	test-text-perf.vcxproj	\
+	test-text-perf.vcxproj.filters	\
+	test-text.vcxproj	\
+	test-text.vcxproj.filters	\
+	README.txt
diff --git a/build/win32/vs10/README.txt b/build/win32/vs10/README.txt
new file mode 100644
index 0000000..a4d578c
--- /dev/null
+++ b/build/win32/vs10/README.txt
@@ -0,0 +1,91 @@
+Note that all this is rather experimental.
+
+A more detailed description on using Visual C++ to compile Clutter with
+its dependencies can be found on the following GNOME Live! page:
+
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
+
+Please do not attempt to compile Clutter in a path that contains spaces
+to avoid potential problems during compilation, linking or usage.
+
+This VS10 solution and the projects it includes are intented to be used
+in a Clutter source tree unpacked from a tarball. In a git checkout you
+first need to use some Unix-like environment or manual work to expand
+the files needed, like config.h.win32.in into config.h.win32 and the
+.vcprojxin and .vcxproj.filtersin files here into corresponding actual
+.vcxproj and .vcxproj.filters files.
+
+You will need the parts from GNOME: Cogl, JSON-GLib, GDK-Pixbuf,
+Pango*, atk and GLib. External dependencies are at least zlib, libpng,
+gettext-runtime* and Cairo*, and glext.h from
+http://www.opengl.org/registry/api/glext.h (which need to be in the GL folder
+in your include directories or in <root>\vs10\<PlatformName>\include\GL).
+
+Please see the README file in the root directory of this Clutter source package
+for the versions of the dependencies required.  See also
+build/win32/vs10/README.txt in the GLib source package for details
+where to unpack them.  It is recommended that at least the dependencies
+from GNOME are also built with VS10 to avoid crashes caused by mixing different
+CRTs-please see also the build/win32/vs10/README.txt in those respective packages.
+
+The recommended build sequence of the dependencies are as follows (the non-GNOME
+packages that are not downloaded as binaries from ftp://ftp.gnome.org have
+makefiles and/or VS project files that can be used to compile with VS directly,
+except the optional PCRE, which is built on VS using CMake; GLib & ATK have
+VS10 project files in the latest stable versions, GDK-Pixbuf have VS10 project files
+in the latest unstable version, and Cogl, JSON-GLib and Pango should have VS10 project
+files in the next unstable release):
+-Unzip the binary packages for gettext-runtime, freetype, expat and fontconfig
+ downloaded from ftp://ftp.gnome.org*
+-zlib
+-libpng
+-(optional for GLib) PCRE (8.12 or later, building PCRE using CMake is
+ recommended-please see build/win32/vs10/README.txt in the GLib source package)
+-(for gdk-pixbuf, if GDI+ is not to be used) IJG JPEG
+-(for gdk-pixbuf, if GDI+ is not to be used) jasper [JPEG-2000 library]
+-(for gdk-pixbuf, if GDI+ is not to be used, requires zlib and IJG JPEG) libtiff
+-GLib
+-Cairo
+-Pango
+-ATK
+-GDK-Pixbuf
+-JSON-GLib
+-Cogl
+ (Note that Pango, ATK, GDK-Pixbuf and JSON-GLib are not dependent on each
+ other, so building them in any order will do)
+
+Note that a working PERL installation (such as ActiveState or Strawberry PERL)
+is also required for compilation of Clutter, as the glib-mkenums PERL utility
+script available from the GLib package will be used.  Please ensure that the
+PERL interpretor is in your PATH.  If a glib-mkenums script is not available,
+please extract glib-mkenums.in from the gobject subdirectory of the
+GLib source package, and change the lines and save as glib-mkenums in
+<root>\vs10\<PlatformName>\bin:
+
+#! @PERL_PATH@ (circa line 1)
+to
+#! c:/perl/bin (or whereever your PERL interpretor executable is)
+
+-and-
+
+print "glib-mkenums version glib- GLIB_VERSION@\n";
+to
+print "glib-mkenums version glib-<your GLib version>\n";
+
+The "install" project will copy build results and headers into their
+appropriate location under <root>\vs10\<PlatformName>. For instance,
+built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
+<root>\vs10\<PlatformName>\lib and Clutter headers into
+<root>\vs10\<PlatformName>\include\clutter-1.0.
+ 
+*There is no known official VS10 build support for fontconfig
+ (required for Pango and Pango at the moment-I will see whether this
+ requirement can be made optional for VS builds)
+ (along with freetype and expat) and gettext-runtime, so
+ please use the binaries from: 
+
+ ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
+ ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
+
+--Chun-wei Fan <fanc999 yahoo com tw>
+  (Adopted from the GTK+ Win32 VS README.txt file originally by Tor Lillqvist)
diff --git a/build/win32/vs10/cally-atkcomponent-example.vcxproj b/build/win32/vs10/cally-atkcomponent-example.vcxproj
new file mode 100644
index 0000000..6ac23bf
--- /dev/null
+++ b/build/win32/vs10/cally-atkcomponent-example.vcxproj
@@ -0,0 +1,172 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}</ProjectGuid>
+    <RootNamespace>callyatkcomponentexample</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkcomponent-example.c" />
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atkcomponent-example.vcxproj.filters b/build/win32/vs10/cally-atkcomponent-example.vcxproj.filters
new file mode 100644
index 0000000..5188a48
--- /dev/null
+++ b/build/win32/vs10/cally-atkcomponent-example.vcxproj.filters
@@ -0,0 +1,26 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkcomponent-example.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atkeditabletext-example.vcxproj b/build/win32/vs10/cally-atkeditabletext-example.vcxproj
new file mode 100644
index 0000000..14bfbbd
--- /dev/null
+++ b/build/win32/vs10/cally-atkeditabletext-example.vcxproj
@@ -0,0 +1,172 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2D1AD595-270B-4B38-9475-A269E225C10C}</ProjectGuid>
+    <RootNamespace>callyatkeditabletextexample</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkeditabletext-example.c" />
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atkeditabletext-example.vcxproj.filters b/build/win32/vs10/cally-atkeditabletext-example.vcxproj.filters
new file mode 100644
index 0000000..931b48c
--- /dev/null
+++ b/build/win32/vs10/cally-atkeditabletext-example.vcxproj.filters
@@ -0,0 +1,26 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkeditabletext-example.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atkevents-example.vcxproj b/build/win32/vs10/cally-atkevents-example.vcxproj
new file mode 100644
index 0000000..de73895
--- /dev/null
+++ b/build/win32/vs10/cally-atkevents-example.vcxproj
@@ -0,0 +1,172 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}</ProjectGuid>
+    <RootNamespace>callyatkeventsexample</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkevents-example.c" />
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atkevents-example.vcxproj.filters b/build/win32/vs10/cally-atkevents-example.vcxproj.filters
new file mode 100644
index 0000000..58c2c13
--- /dev/null
+++ b/build/win32/vs10/cally-atkevents-example.vcxproj.filters
@@ -0,0 +1,26 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atkevents-example.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atktext-example.vcxproj b/build/win32/vs10/cally-atktext-example.vcxproj
new file mode 100644
index 0000000..00e1e83
--- /dev/null
+++ b/build/win32/vs10/cally-atktext-example.vcxproj
@@ -0,0 +1,172 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{27BA2900-A28A-4869-B16D-FBE581A12402}</ProjectGuid>
+    <RootNamespace>callyatktextexample</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atktext-example.c" />
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-atktext-example.vcxproj.filters b/build/win32/vs10/cally-atktext-example.vcxproj.filters
new file mode 100644
index 0000000..1318d81
--- /dev/null
+++ b/build/win32/vs10/cally-atktext-example.vcxproj.filters
@@ -0,0 +1,25 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{c99341e3-ca4d-4c6d-869b-7d96b65b5eed}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-atktext-example.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-clone-example.vcxproj b/build/win32/vs10/cally-clone-example.vcxproj
new file mode 100644
index 0000000..f7277f0
--- /dev/null
+++ b/build/win32/vs10/cally-clone-example.vcxproj
@@ -0,0 +1,172 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E77D40D0-19D4-4865-BE20-B6DA05BA234D}</ProjectGuid>
+    <RootNamespace>callycloneexample</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(CallyTestDefs);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-clone-example.c" />
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/cally-clone-example.vcxproj.filters b/build/win32/vs10/cally-clone-example.vcxproj.filters
new file mode 100644
index 0000000..90fccbd
--- /dev/null
+++ b/build/win32/vs10/cally-clone-example.vcxproj.filters
@@ -0,0 +1,26 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-clone-example.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\tests\accessibility\cally-examples-util.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\tests\accessibility\cally-examples-util.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/clutter.props b/build/win32/vs10/clutter.props
new file mode 100644
index 0000000..cdf994f
--- /dev/null
+++ b/build/win32/vs10/clutter.props
@@ -0,0 +1,416 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup Label="UserMacros">
+    <GlibEtcInstallRoot>..\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
+    <ClutterApiVersion>1.0</ClutterApiVersion>
+    <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
+    <BaseWinBuildDef>_WIN32_WINNT=0x0500</BaseWinBuildDef>
+    <BaseBuildDef>$(BaseWinBuildDef);CLUTTER_DISABLE_DEPRECATED;COGL_DISABLE_DEPRECATED</BaseBuildDef>
+    <LibBuildDefines>HAVE_CONFIG_H;CLUTTER_COMPILATION;COGL_ENABLE_EXPERIMENTAL_API;COGL_HAS_WIN32_SUPPORT;CLUTTER_ENABLE_EXPERIMENTAL_API</LibBuildDefines>
+    <DebugLibBuildDefines>$(LibBuildDefines);_DEBUG;CLUTTER_ENABLE_DEBUG</DebugLibBuildDefines>
+    <ReleaseLibBuildDefines>$(LibBuildDefines);G_DISABLE_ASSERT;G_DISABLE_CHECKS;G_DISABLE_CAST_CHECKS</ReleaseLibBuildDefines>
+    <ClutterBuildDefines>$(BaseBuildDef);G_LOG_DOMAIN="Clutter";CLUTTER_PREFIX="../";CLUTTER_LIBDIR="../lib";CLUTTER_DATADIR="../share";CLUTTER_LOCALEDIR="../share/locale"</ClutterBuildDefines>
+    <CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir"</CallyTestDefs>
+    <TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ClutterApiVersion)/data"</TestProgDef>
+    <PreBuildCmd>
+if exist ..\..\..\config.h goto DONE_CONFIG_H
+
+copy ..\..\..\config.h.win32 ..\..\..\config.h
+
+:DONE_CONFIG_H
+
+
+if exist ..\..\..\clutter\clutter-config.h goto DONE_CLUTTER_CONFIG_H
+
+copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h
+
+:DONE_CLUTTER_CONFIG_H
+
+
+if exist ..\..\..\clutter\clutter-version.h goto DONE_CLUTTER_VERSION_H
+
+copy ..\..\..\clutter\clutter-version.h.win32 ..\..\..\clutter\clutter-version.h
+
+:DONE_CLUTTER_VERSION_H
+
+
+if exist ..\..\..\clutter\clutter-enum-types.h goto DONE_CLUTTER_ENUM_H
+
+cd ..\..\..\clutter
+
+perl $(GlibEtcInstallRoot)\bin\glib-mkenums --template clutter-enum-types.h.in ./clutter-action.h ./clutter-actor-meta.h ./clutter-actor.h ./clutter-align-constraint.h ./clutter-alpha.h ./clutter-animatable.h ./clutter-animation.h ./clutter-animator.h ./clutter-backend.h ./clutter-behaviour.h ./clutter-behaviour-depth.h ./clutter-behaviour-ellipse.h ./clutter-behaviour-opacity.h ./clutter-behaviour-path.h ./clutter-behaviour-rotate.h ./clutter-behaviour-scale.h ./clutter-bind-constraint.h ./clutter-binding-pool.h ./clutter-bin-layout.h ./clutter-blur-effect.h ./clutter-box.h  ./clutter-box-layout.h ./clutter-cairo-texture.h ./clutter-child-meta.h ./clutter-click-action.h ./clutter-clone.h ./clutter-color-static.h ./clutter-color.h ./clutter-colorize-effect.h ./clutter-constraint.h ./clutter-container.h ./clutter-deform-effect.h ./clutter-deprecated.h ./clutter-desaturate-effect.h ./clutter-device-manager.h ./clutter-drag-action.h ./clutter-drop-action.h ./clutter-effect.h ./
 clutter-event.h ./clutter-feature.h ./clutter-fixed.h ./clutter-fixed-layout.h ./clutter-flow-layout.h ./clutter-frame-source.h ./clutter-group.h ./clutter-input-device.h ./clutter-interval.h ./clutter-keysyms.h ./clutter-keysyms-compat.h ./clutter-layout-manager.h ./clutter-layout-meta.h ./clutter-list-model.h ./clutter-main.h ./clutter-media.h ./clutter-model.h ./clutter-offscreen-effect.h ./clutter-page-turn-effect.h ./clutter-path-constraint.h ./clutter-path.h ./clutter-rectangle.h ./clutter-score.h ./clutter-script.h ./clutter-scriptable.h ./clutter-settings.h ./clutter-shader.h ./clutter-shader-effect.h ./clutter-shader-types.h ./clutter-snap-constraint.h ./clutter-stage.h ./clutter-stage-manager.h ./clutter-stage-window.h ./clutter-state.h ./clutter-swipe-action.h ./clutter-table-layout.h ./clutter-texture.h ./clutter-text.h ./clutter-timeline.h ./clutter-timeout-pool.h ./clutter-types.h ./clutter-units.h ./clutter-util.h ./win32/clutter-win32.h &gt; clutter-enum-type
 s.h
+
+cd ..\build\win32\vs10
+
+:DONE_CLUTTER_ENUM_H
+
+
+if exist ..\..\..\clutter\clutter-enum-types.c goto DONE_CLUTTER_ENUM_C
+
+cd ..\..\..\clutter
+
+perl $(GlibEtcInstallRoot)\bin\glib-mkenums --template clutter-enum-types.c.in ./clutter-action.h ./clutter-actor-meta.h ./clutter-actor.h ./clutter-align-constraint.h ./clutter-alpha.h ./clutter-animatable.h ./clutter-animation.h ./clutter-animator.h ./clutter-backend.h ./clutter-behaviour.h ./clutter-behaviour-depth.h ./clutter-behaviour-ellipse.h ./clutter-behaviour-opacity.h ./clutter-behaviour-path.h ./clutter-behaviour-rotate.h ./clutter-behaviour-scale.h ./clutter-bind-constraint.h ./clutter-binding-pool.h ./clutter-bin-layout.h ./clutter-blur-effect.h ./clutter-box.h  ./clutter-box-layout.h ./clutter-cairo-texture.h ./clutter-child-meta.h ./clutter-click-action.h ./clutter-clone.h ./clutter-color-static.h ./clutter-color.h ./clutter-colorize-effect.h ./clutter-constraint.h ./clutter-container.h ./clutter-deform-effect.h ./clutter-deprecated.h ./clutter-desaturate-effect.h ./clutter-device-manager.h ./clutter-drag-action.h ./clutter-drop-action.h ./clutter-effect.h ./
 clutter-event.h ./clutter-feature.h ./clutter-fixed.h ./clutter-fixed-layout.h ./clutter-flow-layout.h ./clutter-frame-source.h ./clutter-group.h ./clutter-input-device.h ./clutter-interval.h ./clutter-keysyms.h ./clutter-keysyms-compat.h ./clutter-layout-manager.h ./clutter-layout-meta.h ./clutter-list-model.h ./clutter-main.h ./clutter-media.h ./clutter-model.h ./clutter-offscreen-effect.h ./clutter-page-turn-effect.h ./clutter-path-constraint.h ./clutter-path.h ./clutter-rectangle.h ./clutter-score.h ./clutter-script.h ./clutter-scriptable.h ./clutter-settings.h ./clutter-shader.h ./clutter-shader-effect.h ./clutter-shader-types.h ./clutter-snap-constraint.h ./clutter-stage.h ./clutter-stage-manager.h ./clutter-stage-window.h ./clutter-state.h ./clutter-swipe-action.h ./clutter-table-layout.h ./clutter-texture.h ./clutter-text.h ./clutter-timeline.h ./clutter-timeout-pool.h ./clutter-types.h ./clutter-units.h ./clutter-util.h ./win32/clutter-win32.h &gt; clutter-enum-type
 s.c
+
+cd ..\build\win32\vs10
+
+:DONE_CLUTTER_ENUM_C
+
+
+if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H
+
+cd ..\..\..\clutter
+
+$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h
+
+cd ..\build\win32\vs10
+
+:DONE_CLUTTER_MARSHAL_H
+
+
+if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C
+
+cd ..\..\..\clutter
+
+echo #include "clutter-marshal.h" &gt; clutter-marshal.c
+
+$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c
+
+cd ..\build\win32\vs10
+
+:DONE_CLUTTER_MARSHAL_C
+
+</PreBuildCmd>
+    <ClutterDoInstall>
+mkdir $(CopyDir)
+
+mkdir $(CopyDir)\bin
+
+mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
+
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin
+
+copy ..\*.bat $(CopyDir)\bin
+
+copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
+
+copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
+
+copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
+
+
+mkdir $(CopyDir)\lib
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
+
+
+mkdir $(CopyDir)\include\clutter-1.0\clutter
+
+
+copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-alpha.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-animator.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-depth.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-ellipse.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-opacity.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-rotate.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-behaviour-scale.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-box.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-fixed.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-frame-source.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-keysyms-compat.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-media.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-score.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-shader.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-state.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-timeout-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
+
+
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
+
+
+mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples
+
+copy ..\..\..\doc\cookbook\examples\*.c $(CopyDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples
+
+copy ..\..\..\doc\cookbook\examples\*.h $(CopyDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples
+
+copy ..\..\..\doc\cookbook\examples\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples
+
+copy ..\..\..\doc\cookbook\examples\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples
+
+</ClutterDoInstall>
+    <GenerateClutterDef>
+         echo EXPORTS &gt; ..\..\..\clutter\clutter.def
+
+         cl -EP -DHAVE_CAIRO -DHAVE_CLUTTER_WIN32 -DCLUTTER_ENABLE_EXPERIMENTAL_API ..\..\..\clutter\clutter.symbols &gt;&gt; ..\..\..\clutter\clutter.def
+
+     </GenerateClutterDef>
+    <ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix>
+    <ClutterLibtoolCompatibleDllSuffix>-$(ClutterApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
+    <ClutterSeparateVS10DllPrefix />
+    <ClutterSeparateVS10DllSuffix>-1-vs10</ClutterSeparateVS10DllSuffix>
+    <ClutterDllPrefix>$(ClutterSeparateVS10DllPrefix)</ClutterDllPrefix>
+    <ClutterDllSuffix>$(ClutterSeparateVS10DllSuffix)</ClutterDllSuffix>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>clutterprops</_PropertySheetDisplayName>
+    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
+    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\cogl-2.0;$(GlibEtcInstallRoot)\include\json-glib-1.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>G_DISABLE_SINGLE_INCLUDES;G_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <DisableSpecificWarnings>4819;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>cogl-pango-2.0.lib;cogl-2.0.lib;glib-2.0.lib;gobject-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <BuildMacro Include="GlibEtcInstallRoot">
+      <Value>$(GlibEtcInstallRoot)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterApiVersion">
+      <Value>$(ClutterApiVersion)</Value>
+    </BuildMacro>
+    <BuildMacro Include="BaseWinBuildDef">
+      <Value>$(BaseWinBuildDef)</Value>
+    </BuildMacro>
+    <BuildMacro Include="BaseBuildDef">
+      <Value>$(BaseBuildDef)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibBuildDefines">
+      <Value>$(LibBuildDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="DebugLibBuildDefines">
+      <Value>$(DebugLibBuildDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ReleaseLibBuildDefines">
+      <Value>$(ReleaseLibBuildDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterBuildDefines">
+      <Value>$(ClutterBuildDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="CallyTestDefs">
+      <Value>$(CallyTestDefs)</Value>
+    </BuildMacro>
+    <BuildMacro Include="TestProgDef">
+      <Value>$(TestProgDef)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PreBuildCmd">
+      <Value>$(PreBuildCmd)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterDoInstall">
+      <Value>$(ClutterDoInstall)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GenerateClutterDef">
+      <Value>$(GenerateClutterDef)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterLibtoolCompatibleDllPrefix">
+      <Value>$(ClutterLibtoolCompatibleDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterLibtoolCompatibleDllSuffix">
+      <Value>$(ClutterLibtoolCompatibleDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterSeparateVS10DllPrefix">
+      <Value>$(ClutterSeparateVS10DllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterSeparateVS10DllSuffix">
+      <Value>$(ClutterSeparateVS10DllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterDllPrefix">
+      <Value>$(ClutterDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterDllSuffix">
+      <Value>$(ClutterDllSuffix)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/clutter.sln b/build/win32/vs10/clutter.sln
new file mode 100644
index 0000000..e5e4c23
--- /dev/null
+++ b/build/win32/vs10/clutter.sln
@@ -0,0 +1,156 @@
+ï
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clutter", "clutter.vcxproj", "{EA036190-0950-4640-84F9-D459A33B33A8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-picking", "test-picking.vcxproj", "{F433DB3C-1223-489A-AD0C-C64B09F51139}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-cogl-perf", "test-cogl-perf.vcxproj", "{0DA94D83-B64E-40AC-8074-96C2416BBBE8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-random-text", "test-random-text.vcxproj", "{B8849C58-6773-453C-A2E5-00F02EE20B18}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-text", "test-text.vcxproj", "{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-text-perf", "test-text-perf.vcxproj", "{F072974F-6675-4A79-96FF-0B0DEB113AA4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atktext-example", "cally-atktext-example.vcxproj", "{27BA2900-A28A-4869-B16D-FBE581A12402}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkcomponent-example", "cally-atkcomponent-example.vcxproj", "{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkeditabletext-example", "cally-atkeditabletext-example.vcxproj", "{2D1AD595-270B-4B38-9475-A269E225C10C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkevents-example", "cally-atkevents-example.vcxproj", "{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-clone-example", "cally-clone-example.vcxproj", "{E77D40D0-19D4-4865-BE20-B6DA05BA234D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-conformance", "test-conformance.vcxproj", "{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-interactive", "test-interactive.vcxproj", "{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{35B2A4AC-7235-4FC7-995D-469D59195041}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|Win32.ActiveCfg = Debug|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|Win32.Build.0 = Debug|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|x64.ActiveCfg = Debug|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|x64.Build.0 = Debug|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|Win32.ActiveCfg = Release|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|Win32.Build.0 = Release|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|x64.ActiveCfg = Release|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|x64.Build.0 = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|Win32.Build.0 = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|x64.ActiveCfg = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|x64.Build.0 = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|Win32.ActiveCfg = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|Win32.Build.0 = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|x64.ActiveCfg = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|x64.Build.0 = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|Win32.Build.0 = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|x64.ActiveCfg = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|x64.Build.0 = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|Win32.ActiveCfg = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|Win32.Build.0 = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|x64.ActiveCfg = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|x64.Build.0 = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|Win32.Build.0 = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|x64.ActiveCfg = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|x64.Build.0 = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|Win32.ActiveCfg = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|Win32.Build.0 = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|x64.ActiveCfg = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|x64.Build.0 = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|Win32.Build.0 = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|x64.ActiveCfg = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|x64.Build.0 = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|Win32.ActiveCfg = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|Win32.Build.0 = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|x64.ActiveCfg = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|x64.Build.0 = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|Win32.Build.0 = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|x64.ActiveCfg = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|x64.Build.0 = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|Win32.ActiveCfg = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|Win32.Build.0 = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|x64.ActiveCfg = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|x64.Build.0 = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|Win32.ActiveCfg = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|Win32.Build.0 = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|x64.ActiveCfg = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|x64.Build.0 = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|Win32.ActiveCfg = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|Win32.Build.0 = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|x64.ActiveCfg = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|x64.Build.0 = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|Win32.Build.0 = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|x64.ActiveCfg = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|x64.Build.0 = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|Win32.ActiveCfg = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|Win32.Build.0 = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|x64.ActiveCfg = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|x64.Build.0 = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|Win32.ActiveCfg = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|Win32.Build.0 = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|x64.ActiveCfg = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|x64.Build.0 = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|Win32.ActiveCfg = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|Win32.Build.0 = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|x64.ActiveCfg = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|x64.Build.0 = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|Win32.Build.0 = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|x64.ActiveCfg = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|x64.Build.0 = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|Win32.ActiveCfg = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|Win32.Build.0 = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|x64.ActiveCfg = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|x64.Build.0 = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|Win32.Build.0 = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|x64.ActiveCfg = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|x64.Build.0 = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|Win32.ActiveCfg = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|Win32.Build.0 = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|x64.ActiveCfg = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|x64.Build.0 = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|Win32.Build.0 = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|x64.ActiveCfg = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|x64.Build.0 = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|Win32.ActiveCfg = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|Win32.Build.0 = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|x64.ActiveCfg = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|x64.Build.0 = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|Win32.ActiveCfg = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|Win32.Build.0 = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|x64.ActiveCfg = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|x64.Build.0 = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.ActiveCfg = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.Build.0 = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.Build.0 = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.ActiveCfg = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.Build.0 = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.ActiveCfg = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.ActiveCfg = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/build/win32/vs10/clutter.vcxproj.filtersin b/build/win32/vs10/clutter.vcxproj.filtersin
new file mode 100644
index 0000000..3d7323e
--- /dev/null
+++ b/build/win32/vs10/clutter.vcxproj.filtersin
@@ -0,0 +1,25 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+#include "clutter.vs10.sourcefiles.filters"
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\..\clutter\win32\resources.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/clutter.vcxprojin b/build/win32/vs10/clutter.vcxprojin
new file mode 100644
index 0000000..fda140a
--- /dev/null
+++ b/build/win32/vs10/clutter.vcxprojin
@@ -0,0 +1,196 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{EA036190-0950-4640-84F9-D459A33B33A8}</ProjectGuid>
+    <RootNamespace>clutter</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <PreBuildEvent>
+      <Command>$(PreBuildCmd)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(DebugLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <PreBuildEvent>
+      <Command>$(PreBuildCmd)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(DebugLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <PreBuildEvent>
+      <Command>$(PreBuildCmd)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ReleaseLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <PreBuildEvent>
+      <Command>$(PreBuildCmd)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ReleaseLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+#include "clutter.vs10.sourcefiles"
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\..\clutter\win32\resources.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/install.vcxproj b/build/win32/vs10/install.vcxproj
new file mode 100644
index 0000000..4ce8a3e
--- /dev/null
+++ b/build/win32/vs10/install.vcxproj
@@ -0,0 +1,149 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{35B2A4AC-7235-4FC7-995D-469D59195041}</ProjectGuid>
+    <RootNamespace>install</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <PostBuildEvent>
+      <Command>$(ClutterDoInstall)</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <PreBuildEvent>
+      <Command>$(ClutterDoInstall)</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <PostBuildEvent>
+      <Command>$(ClutterDoInstall)</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <PreBuildEvent>
+      <Command>$(ClutterDoInstall)</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ProjectReference Include="cally-atkcomponent-example.vcxproj">
+      <Project>{4b2c0ee0-f1bd-499c-acad-260cf14c352e}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="cally-atkeditabletext-example.vcxproj">
+      <Project>{2d1ad595-270b-4b38-9475-a269e225c10c}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="cally-atkevents-example.vcxproj">
+      <Project>{c8ec4ce0-9c6a-4733-a0dd-477689faf5f4}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="cally-atktext-example.vcxproj">
+      <Project>{27ba2900-a28a-4869-b16d-fbe581a12402}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="cally-clone-example.vcxproj">
+      <Project>{e77d40d0-19d4-4865-be20-b6da05ba234d}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-cogl-perf.vcxproj">
+      <Project>{0da94d83-b64e-40ac-8074-96c2416bbbe8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-conformance.vcxproj">
+      <Project>{0f08f253-de1a-40cb-a890-93ae3ca23ade}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-interactive.vcxproj">
+      <Project>{75f9e5af-040c-448e-96be-c282efffe2d9}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-picking.vcxproj">
+      <Project>{f433db3c-1223-489a-ad0c-c64b09f51139}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-random-text.vcxproj">
+      <Project>{b8849c58-6773-453c-a2e5-00f02ee20b18}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-text-perf.vcxproj">
+      <Project>{f072974f-6675-4a79-96ff-0b0deb113aa4}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="test-text.vcxproj">
+      <Project>{b0a69c4a-4e54-45e8-b7e4-b8b2d49e30fc}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-cogl-perf.vcxproj b/build/win32/vs10/test-cogl-perf.vcxproj
new file mode 100644
index 0000000..0efea01
--- /dev/null
+++ b/build/win32/vs10/test-cogl-perf.vcxproj
@@ -0,0 +1,166 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{0DA94D83-B64E-40AC-8074-96C2416BBBE8}</ProjectGuid>
+    <RootNamespace>testcoglperf</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-cogl-perf.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-cogl-perf.vcxproj.filters b/build/win32/vs10/test-cogl-perf.vcxproj.filters
new file mode 100644
index 0000000..c351e22
--- /dev/null
+++ b/build/win32/vs10/test-cogl-perf.vcxproj.filters
@@ -0,0 +1,14 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-cogl-perf.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-conformance.vcxproj.filtersin b/build/win32/vs10/test-conformance.vcxproj.filtersin
new file mode 100644
index 0000000..8028da3
--- /dev/null
+++ b/build/win32/vs10/test-conformance.vcxproj.filtersin
@@ -0,0 +1,12 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+#include "testconformance.vs10.sourcefiles.filters"
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-conformance.vcxprojin b/build/win32/vs10/test-conformance.vcxprojin
new file mode 100644
index 0000000..0c9a20d
--- /dev/null
+++ b/build/win32/vs10/test-conformance.vcxprojin
@@ -0,0 +1,168 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}</ProjectGuid>
+    <RootNamespace>testconformance</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;atk-1.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;atk-1.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;atk-1.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;atk-1.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+#include "testconformance.vs10.sourcefiles"
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-interactive.vcxproj.filtersin b/build/win32/vs10/test-interactive.vcxproj.filtersin
new file mode 100644
index 0000000..a5f15fa
--- /dev/null
+++ b/build/win32/vs10/test-interactive.vcxproj.filtersin
@@ -0,0 +1,12 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+#include "testinteractive.vs10.sourcefiles.filters"
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-interactive.vcxprojin b/build/win32/vs10/test-interactive.vcxprojin
new file mode 100644
index 0000000..10e9807
--- /dev/null
+++ b/build/win32/vs10/test-interactive.vcxprojin
@@ -0,0 +1,168 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}</ProjectGuid>
+    <RootNamespace>testinteractive</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;gmodule-2.0.lib;gthread-2.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;gmodule-2.0.lib;gthread-2.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;gmodule-2.0.lib;gthread-2.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(TestProgDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>pango-1.0.lib;cairo.lib;gmodule-2.0.lib;gthread-2.0.lib;OpenGL32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+#include "testinteractive.vs10.sourcefiles"
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-picking.vcxproj b/build/win32/vs10/test-picking.vcxproj
new file mode 100644
index 0000000..2ad32b1
--- /dev/null
+++ b/build/win32/vs10/test-picking.vcxproj
@@ -0,0 +1,167 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F433DB3C-1223-489A-AD0C-C64B09F51139}</ProjectGuid>
+    <RootNamespace>testpicking</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-picking.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-picking.vcxproj.filters b/build/win32/vs10/test-picking.vcxproj.filters
new file mode 100644
index 0000000..43d7754
--- /dev/null
+++ b/build/win32/vs10/test-picking.vcxproj.filters
@@ -0,0 +1,14 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-picking.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-random-text.vcxproj b/build/win32/vs10/test-random-text.vcxproj
new file mode 100644
index 0000000..5f16424
--- /dev/null
+++ b/build/win32/vs10/test-random-text.vcxproj
@@ -0,0 +1,166 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B8849C58-6773-453C-A2E5-00F02EE20B18}</ProjectGuid>
+    <RootNamespace>testrandomtext</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-random-text.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-random-text.vcxproj.filters b/build/win32/vs10/test-random-text.vcxproj.filters
new file mode 100644
index 0000000..22be023
--- /dev/null
+++ b/build/win32/vs10/test-random-text.vcxproj.filters
@@ -0,0 +1,14 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-random-text.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-text-perf.vcxproj b/build/win32/vs10/test-text-perf.vcxproj
new file mode 100644
index 0000000..22dbaeb
--- /dev/null
+++ b/build/win32/vs10/test-text-perf.vcxproj
@@ -0,0 +1,166 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F072974F-6675-4A79-96FF-0B0DEB113AA4}</ProjectGuid>
+    <RootNamespace>testtextperf</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-text-perf.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-text-perf.vcxproj.filters b/build/win32/vs10/test-text-perf.vcxproj.filters
new file mode 100644
index 0000000..c8b96c7
--- /dev/null
+++ b/build/win32/vs10/test-text-perf.vcxproj.filters
@@ -0,0 +1,14 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-text-perf.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-text.vcxproj b/build/win32/vs10/test-text.vcxproj
new file mode 100644
index 0000000..79af5a7
--- /dev/null
+++ b/build/win32/vs10/test-text.vcxproj
@@ -0,0 +1,166 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}</ProjectGuid>
+    <RootNamespace>testtext</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_DEBUG;$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>$(BaseWinBuildDef);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>CompileAsC</CompileAs>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Console</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-text.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="clutter.vcxproj">
+      <Project>{ea036190-0950-4640-84f9-d459a33b33a8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/test-text.vcxproj.filters b/build/win32/vs10/test-text.vcxproj.filters
new file mode 100644
index 0000000..dba7a26
--- /dev/null
+++ b/build/win32/vs10/test-text.vcxproj.filters
@@ -0,0 +1,14 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ItemGroup>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\..\tests\micro-bench\test-text.c">
+      <Filter>Sources</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
new file mode 100644
index 0000000..da1cf16
--- /dev/null
+++ b/build/win32/vs9/Makefile.am
@@ -0,0 +1,21 @@
+EXTRA_DIST = \
+	cally-atkcomponent-example.vcproj		\
+	cally-atkeditabletext-example.vcproj	\
+	cally-atkevents-example.vcproj	\
+	cally-atktext-example.vcproj	\
+	cally-clone-example.vcproj		\
+	clutter.sln			\
+	clutter.vcproj		\
+	clutter.vcprojin	\
+	clutter.vsprops		\
+	install.vcproj	\
+	test-cogl-perf.vcproj		\
+	test-conformance.vcproj		\
+	test-conformance.vcprojin	\
+	test-interactive.vcproj		\
+	test-interactive.vcprojin	\
+	test-picking.vcproj		\
+	test-random-text.vcproj	\
+	test-text-perf.vcproj	\
+	test-text.vcproj	\
+	README.txt
diff --git a/build/win32/vs9/README.txt b/build/win32/vs9/README.txt
new file mode 100644
index 0000000..d8b5193
--- /dev/null
+++ b/build/win32/vs9/README.txt
@@ -0,0 +1,90 @@
+Note that all this is rather experimental.
+
+A more detailed description on using Visual C++ to compile Clutter with
+its dependencies can be found on the following GNOME Live! page:
+
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
+
+Please do not attempt to compile Clutter in a path that contains spaces
+to avoid potential problems during compilation, linking or usage.
+
+This VS9 solution and the projects it includes are intented to be used
+in a Clutter source tree unpacked from a tarball. In a git checkout you
+first need to use some Unix-like environment or manual work to expand
+the files needed, like config.h.win32.in into config.h.win32 and the
+.vcprojin files here into corresponding actual .vcproj files.
+
+You will need the parts from GNOME: Cogl, JSON-GLib, GDK-Pixbuf,
+Pango*, atk and GLib. External dependencies are at least zlib, libpng,
+gettext-runtime* and Cairo*, and glext.h from
+http://www.opengl.org/registry/api/glext.h (which need to be in the GL folder
+in your include directories or in <root>\vs9\<PlatformName>\include\GL).
+
+Please see the README file in the root directory of this Clutter source package
+for the versions of the dependencies required.  See also
+build/win32/vs9/README.txt in the GLib source package for details
+where to unpack them.  It is recommended that at least the dependencies
+from GNOME are also built with VS9 to avoid crashes caused by mixing different
+CRTs-please see also the build/win32/vs9/README.txt in those respective packages.
+
+The recommended build sequence of the dependencies are as follows (the non-GNOME
+packages that are not downloaded as binaries from ftp://ftp.gnome.org have
+makefiles and/or VS project files that can be used to compile with VS directly,
+except the optional PCRE, which is built on VS using CMake; GLib & ATK have
+VS9 project files in the latest stable versions, GDK-Pixbuf have VS9 project files
+in the latest unstable version, and JSON-GLib, Pango and Cogl should have VS9
+project files in the next unstable release):
+-Unzip the binary packages for gettext-runtime, freetype, expat and fontconfig
+ downloaded from ftp://ftp.gnome.org*
+-zlib
+-libpng
+-(optional for GLib) PCRE (8.12 or later, building PCRE using CMake is
+ recommended-please see build/win32/vs9/README.txt in the GLib source package)
+-(for gdk-pixbuf, if GDI+ is not to be used) IJG JPEG
+-(for gdk-pixbuf, if GDI+ is not to be used) jasper [JPEG-2000 library]
+-(for gdk-pixbuf, if GDI+ is not to be used, requires zlib and IJG JPEG) libtiff
+-GLib
+-Cairo
+-Pango
+-ATK
+-GDK-Pixbuf
+-JSON-GLib
+-Cogl
+ (Note that Pango, ATK, GDK-Pixbuf and JSON-GLib are not dependent on each
+ other, so building them in any order will do)
+
+Note that a working PERL installation (such as ActiveState or Strawberry PERL)
+is also required for compilation of Clutter, as the glib-mkenums PERL utility
+script available from the GLib package will be used.  Please ensure that the
+PERL interpretor is in your PATH.  If a glib-mkenums script is not available,
+please extract glib-mkenums.in from the gobject subdirectory of the
+GLib source package, and change the lines and save as glib-mkenums in
+<root>\vs9\<PlatformName>\bin:
+
+#! @PERL_PATH@ (circa line 1)
+to
+#! c:/perl/bin (or whereever your PERL interpretor executable is)
+
+-and-
+
+print "glib-mkenums version glib- GLIB_VERSION@\n";
+to
+print "glib-mkenums version glib-<your GLib version>\n";
+
+The "install" project will copy build results and headers into their
+appropriate location under <root>\vs9\<PlatformName>. For instance,
+built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
+<root>\vs9\<PlatformName>\lib and Clutter headers into
+<root>\vs9\<PlatformName>\include\clutter-1.0.
+ 
+*There is no known official VS9 build support for fontconfig
+ (required for Pango and Pango at the moment-I will see whether this
+ requirement can be made optional for VS builds)
+ (along with freetype and expat) and gettext-runtime, so
+ please use the binaries from: 
+
+ ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
+ ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
+
+--Chun-wei Fan <fanc999 yahoo com tw>
+  (Adopted from the GTK+ Win32 VS README.txt file originally by Tor Lillqvist)
diff --git a/build/win32/vs9/cally-atkcomponent-example.vcproj b/build/win32/vs9/cally-atkcomponent-example.vcproj
new file mode 100644
index 0000000..3242b7e
--- /dev/null
+++ b/build/win32/vs9/cally-atkcomponent-example.vcproj
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="cally-atkcomponent-example"
+	ProjectGUID="{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}"
+	RootNamespace="callyatkcomponentexample"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-atkcomponent-example.c" />
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.c" />
+		</Filter>
+		<Filter
+			Name="Headers"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.h" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/cally-atkeditabletext-example.vcproj b/build/win32/vs9/cally-atkeditabletext-example.vcproj
new file mode 100644
index 0000000..b2316dc
--- /dev/null
+++ b/build/win32/vs9/cally-atkeditabletext-example.vcproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="cally-atkeditabletext-example"
+	ProjectGUID="{2D1AD595-270B-4B38-9475-A269E225C10C}"
+	RootNamespace="callyatkeditabletextexample"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-atkeditabletext-example.c" />
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.c" />
+		</Filter>
+		<Filter Name="Headers"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.h" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/cally-atkevents-example.vcproj b/build/win32/vs9/cally-atkevents-example.vcproj
new file mode 100644
index 0000000..ca5829c
--- /dev/null
+++ b/build/win32/vs9/cally-atkevents-example.vcproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="cally-atkevents-example"
+	ProjectGUID="{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}"
+	RootNamespace="callyatkeventsexample"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-atkevents-example.c" />
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.c" />
+		</Filter>
+		<Filter Name="Headers"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.h" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/cally-atktext-example.vcproj b/build/win32/vs9/cally-atktext-example.vcproj
new file mode 100644
index 0000000..22f4d6b
--- /dev/null
+++ b/build/win32/vs9/cally-atktext-example.vcproj
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="cally-atktext-example"
+	ProjectGUID="{27BA2900-A28A-4869-B16D-FBE581A12402}"
+	RootNamespace="callyatktextexample"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="atk-1.0.lib gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-atktext-example.c" />
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.c" />
+		</Filter>
+		<Filter Name="Headers">
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.h" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/cally-clone-example.vcproj b/build/win32/vs9/cally-clone-example.vcproj
new file mode 100644
index 0000000..7605fb1
--- /dev/null
+++ b/build/win32/vs9/cally-clone-example.vcproj
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="cally-clone-example"
+	ProjectGUID="{E77D40D0-19D4-4865-BE20-B6DA05BA234D}"
+	RootNamespace="callycloneexample"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(CallyTestDefs)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="gmodule-2.0.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(CallyTestDefs)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="gmodule-2.0.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-clone-example.c" />
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.c" />
+		</Filter>
+		<Filter
+			Name="Headers"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File RelativePath="..\..\..\tests\accessibility\cally-examples-util.h" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/clutter.sln b/build/win32/vs9/clutter.sln
new file mode 100644
index 0000000..5b2d83d
--- /dev/null
+++ b/build/win32/vs9/clutter.sln
@@ -0,0 +1,207 @@
+ï
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clutter", "clutter.vcproj", "{EA036190-0950-4640-84F9-D459A33B33A8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-picking", "test-picking.vcproj", "{F433DB3C-1223-489A-AD0C-C64B09F51139}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-cogl-perf", "test-cogl-perf.vcproj", "{0DA94D83-B64E-40AC-8074-96C2416BBBE8}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-random-text", "test-random-text.vcproj", "{B8849C58-6773-453C-A2E5-00F02EE20B18}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-text", "test-text.vcproj", "{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-text-perf", "test-text-perf.vcproj", "{F072974F-6675-4A79-96FF-0B0DEB113AA4}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atktext-example", "cally-atktext-example.vcproj", "{27BA2900-A28A-4869-B16D-FBE581A12402}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkcomponent-example", "cally-atkcomponent-example.vcproj", "{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkeditabletext-example", "cally-atkeditabletext-example.vcproj", "{2D1AD595-270B-4B38-9475-A269E225C10C}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-atkevents-example", "cally-atkevents-example.vcproj", "{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cally-clone-example", "cally-clone-example.vcproj", "{E77D40D0-19D4-4865-BE20-B6DA05BA234D}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-conformance", "test-conformance.vcproj", "{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test-interactive", "test-interactive.vcproj", "{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}"
+	ProjectSection(ProjectDependencies) = postProject
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{35B2A4AC-7235-4FC7-995D-469D59195041}"
+	ProjectSection(ProjectDependencies) = postProject
+		{27BA2900-A28A-4869-B16D-FBE581A12402} = {27BA2900-A28A-4869-B16D-FBE581A12402}
+		{F433DB3C-1223-489A-AD0C-C64B09F51139} = {F433DB3C-1223-489A-AD0C-C64B09F51139}
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC} = {B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4} = {F072974F-6675-4A79-96FF-0B0DEB113AA4}
+		{B8849C58-6773-453C-A2E5-00F02EE20B18} = {B8849C58-6773-453C-A2E5-00F02EE20B18}
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8} = {0DA94D83-B64E-40AC-8074-96C2416BBBE8}
+		{EA036190-0950-4640-84F9-D459A33B33A8} = {EA036190-0950-4640-84F9-D459A33B33A8}
+		{2D1AD595-270B-4B38-9475-A269E225C10C} = {2D1AD595-270B-4B38-9475-A269E225C10C}
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D} = {E77D40D0-19D4-4865-BE20-B6DA05BA234D}
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E} = {4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4} = {C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE} = {0F08F253-DE1A-40CB-A890-93AE3CA23ADE}
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9} = {75F9E5AF-040C-448E-96BE-C282EFFFE2D9}
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+		Debug|x64 = Debug|x64
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|Win32.ActiveCfg = Debug|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|Win32.Build.0 = Debug|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|Win32.ActiveCfg = Release|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|Win32.Build.0 = Release|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|x64.ActiveCfg = Debug|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|x64.Build.0 = Debug|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|x64.ActiveCfg = Release|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release|x64.Build.0 = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|Win32.Build.0 = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|Win32.ActiveCfg = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|Win32.Build.0 = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|x64.ActiveCfg = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug|x64.Build.0 = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|x64.ActiveCfg = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release|x64.Build.0 = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|Win32.Build.0 = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|Win32.ActiveCfg = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|Win32.Build.0 = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|x64.ActiveCfg = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug|x64.Build.0 = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|x64.ActiveCfg = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release|x64.Build.0 = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|Win32.Build.0 = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|Win32.ActiveCfg = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|Win32.Build.0 = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|x64.ActiveCfg = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug|x64.Build.0 = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|x64.ActiveCfg = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release|x64.Build.0 = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|Win32.Build.0 = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|Win32.ActiveCfg = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|Win32.Build.0 = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|x64.ActiveCfg = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug|x64.Build.0 = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|x64.ActiveCfg = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release|x64.Build.0 = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|Win32.Build.0 = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|Win32.ActiveCfg = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|Win32.Build.0 = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|x64.ActiveCfg = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug|x64.Build.0 = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|x64.ActiveCfg = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release|x64.Build.0 = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|Win32.ActiveCfg = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|Win32.Build.0 = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|Win32.ActiveCfg = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|Win32.Build.0 = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|x64.ActiveCfg = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug|x64.Build.0 = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|x64.ActiveCfg = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release|x64.Build.0 = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|Win32.Build.0 = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|Win32.ActiveCfg = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|Win32.Build.0 = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|x64.ActiveCfg = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug|x64.Build.0 = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|x64.ActiveCfg = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release|x64.Build.0 = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|Win32.ActiveCfg = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|Win32.Build.0 = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|Win32.ActiveCfg = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|Win32.Build.0 = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|x64.ActiveCfg = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug|x64.Build.0 = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|x64.ActiveCfg = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release|x64.Build.0 = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|Win32.Build.0 = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|Win32.ActiveCfg = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|Win32.Build.0 = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|x64.ActiveCfg = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug|x64.Build.0 = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|x64.ActiveCfg = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release|x64.Build.0 = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|Win32.Build.0 = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|Win32.ActiveCfg = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|Win32.Build.0 = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|x64.ActiveCfg = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug|x64.Build.0 = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|x64.ActiveCfg = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release|x64.Build.0 = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|Win32.Build.0 = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|Win32.ActiveCfg = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|Win32.Build.0 = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|x64.ActiveCfg = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug|x64.Build.0 = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|x64.ActiveCfg = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release|x64.Build.0 = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|Win32.ActiveCfg = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|Win32.Build.0 = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.ActiveCfg = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.Build.0 = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|x64.ActiveCfg = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug|x64.Build.0 = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.Build.0 = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.ActiveCfg = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.Build.0 = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.ActiveCfg = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.ActiveCfg = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/build/win32/vs9/clutter.vcprojin b/build/win32/vs9/clutter.vcprojin
new file mode 100644
index 0000000..45fcb18
--- /dev/null
+++ b/build/win32/vs9/clutter.vcprojin
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="clutter"
+	ProjectGUID="{EA036190-0950-4640-84F9-D459A33B33A8}"
+	RootNamespace="clutter"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="2"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildCmd)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally"
+				PreprocessorDefinitions="$(DebugLibBuildDefines);$(ClutterBuildDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildCmd)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally"
+				PreprocessorDefinitions="$(DebugLibBuildDefines);$(ClutterBuildDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="2"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildCmd)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally"
+				PreprocessorDefinitions="$(ReleaseLibBuildDefines);$(ClutterBuildDefines)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll"
+				LinkIncremental="1"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\cally"
+				PreprocessorDefinitions="$(ReleaseLibBuildDefines);$(ClutterBuildDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)-win32$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+#include "clutter.sourcefiles"
+		</Filter>
+		<Filter Name="Headers"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File RelativePath="..\..\..\clutter\win32\resources.rc" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/clutter.vsprops b/build/win32/vs9/clutter.vsprops
new file mode 100644
index 0000000..e19edcf
--- /dev/null
+++ b/build/win32/vs9/clutter.vsprops
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="clutterprops"
+	OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
+	IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+	>
+	<Tool
+		Name="VCCLCompilerTool"
+		AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\cogl-2.0;$(GlibEtcInstallRoot)\include\json-glib-1.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
+		PreprocessorDefinitions="G_DISABLE_SINGLE_INCLUDES;G_DISABLE_DEPRECATED"
+		ForcedIncludeFiles="msvc_recommended_pragmas.h"
+		DisableSpecificWarnings="4819"
+	/>
+	<Tool
+		Name="VCLinkerTool"
+		AdditionalDependencies="cogl-pango-2.0.lib cogl-2.0.lib glib-2.0.lib gobject-2.0.lib"
+		AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
+	/>
+	<UserMacro
+		Name="GlibEtcInstallRoot"
+		Value="..\..\..\..\vs9\$(PlatformName)"
+	/>
+	<UserMacro
+		Name="ClutterApiVersion"
+		Value="1.0"
+	/>
+	<UserMacro
+		Name="BaseWinBuildDef"
+		Value="_WIN32_WINNT=0x0500"
+	/>
+	<UserMacro
+		Name="BaseBuildDef"
+		Value="$(BaseWinBuildDef);CLUTTER_DISABLE_DEPRECATED;COGL_DISABLE_DEPRECATED"
+	/>
+	<UserMacro
+		Name="LibBuildDefines"
+		Value="HAVE_CONFIG_H;CLUTTER_COMPILATION;COGL_ENABLE_EXPERIMENTAL_API;COGL_HAS_WIN32_SUPPORT;CLUTTER_ENABLE_EXPERIMENTAL_API"
+	/>
+	<UserMacro
+		Name="DebugLibBuildDefines"
+		Value="$(LibBuildDefines);_DEBUG;CLUTTER_ENABLE_DEBUG"
+	/>
+	<UserMacro
+		Name="ReleaseLibBuildDefines"
+		Value="$(LibBuildDefines);G_DISABLE_ASSERT;G_DISABLE_CHECKS;G_DISABLE_CAST_CHECKS"
+	/>
+	<UserMacro
+		Name="ClutterBuildDefines"
+		Value="$(BaseBuildDef);G_LOG_DOMAIN=\&quot;Clutter\&quot;;CLUTTER_PREFIX=\&quot;../\&quot;;CLUTTER_LIBDIR=\&quot;../lib\&quot;;CLUTTER_DATADIR=\&quot;../share\&quot;;CLUTTER_LOCALEDIR=\&quot;../share/locale\&quot;"
+	/>
+	<UserMacro
+		Name="CallyTestDefs"
+		Value="$(BaseWinBuildDef);PREFIXDIR=\&quot;/some/dummy/dir\&quot;"
+	/>
+	<UserMacro
+		Name="TestProgDef"
+		Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;"
+	/>
+	<UserMacro
+		Name="PreBuildCmd"
+		Value="
+if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
+copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
+:DONE_CONFIG_H&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-config.h goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
+:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-version.h goto DONE_CLUTTER_VERSION_H&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-version.h.win32 ..\..\..\clutter\clutter-version.h&#x0D;&#x0A;
+:DONE_CLUTTER_VERSION_H&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-enum-types.h goto DONE_CLUTTER_ENUM_H&#x0D;&#x0A;
+cd ..\..\..\clutter&#x0D;&#x0A;
+perl $(GlibEtcInstallRoot)\bin\glib-mkenums --template clutter-enum-types.h.in ./clutter-action.h ./clutter-actor-meta.h ./clutter-actor.h ./clutter-align-constraint.h ./clutter-alpha.h ./clutter-animatable.h ./clutter-animation.h ./clutter-animator.h ./clutter-backend.h ./clutter-behaviour.h ./clutter-behaviour-depth.h ./clutter-behaviour-ellipse.h ./clutter-behaviour-opacity.h ./clutter-behaviour-path.h ./clutter-behaviour-rotate.h ./clutter-behaviour-scale.h ./clutter-bind-constraint.h ./clutter-binding-pool.h ./clutter-bin-layout.h ./clutter-blur-effect.h ./clutter-box.h	 ./clutter-box-layout.h ./clutter-cairo-texture.h ./clutter-child-meta.h ./clutter-click-action.h ./clutter-clone.h ./clutter-color-static.h ./clutter-color.h ./clutter-colorize-effect.h ./clutter-constraint.h ./clutter-container.h ./clutter-deform-effect.h ./clutter-deprecated.h ./clutter-desaturate-effect.h ./clutter-device-manager.h ./clutter-drag-action.h ./clutter-drop-action.h ./clutter-effect.h ./
 clutter-event.h ./clutter-feature.h ./clutter-fixed.h ./clutter-fixed-layout.h ./clutter-flow-layout.h ./clutter-frame-source.h ./clutter-group.h ./clutter-input-device.h ./clutter-interval.h ./clutter-keysyms.h ./clutter-keysyms-compat.h ./clutter-layout-manager.h ./clutter-layout-meta.h ./clutter-list-model.h ./clutter-main.h ./clutter-media.h ./clutter-model.h ./clutter-offscreen-effect.h ./clutter-page-turn-effect.h ./clutter-path-constraint.h ./clutter-path.h ./clutter-rectangle.h ./clutter-score.h ./clutter-script.h ./clutter-scriptable.h ./clutter-settings.h ./clutter-shader.h ./clutter-shader-effect.h ./clutter-shader-types.h ./clutter-snap-constraint.h ./clutter-stage.h ./clutter-stage-manager.h ./clutter-stage-window.h ./clutter-state.h ./clutter-swipe-action.h ./clutter-table-layout.h ./clutter-texture.h ./clutter-text.h ./clutter-timeline.h ./clutter-timeout-pool.h ./clutter-types.h ./clutter-units.h ./clutter-util.h ./win32/clutter-win32.h &gt; clutter-enum-type
 s.h&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
+:DONE_CLUTTER_ENUM_H&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-enum-types.c goto DONE_CLUTTER_ENUM_C&#x0D;&#x0A;
+cd ..\..\..\clutter&#x0D;&#x0A;
+perl $(GlibEtcInstallRoot)\bin\glib-mkenums --template clutter-enum-types.c.in ./clutter-action.h ./clutter-actor-meta.h ./clutter-actor.h ./clutter-align-constraint.h ./clutter-alpha.h ./clutter-animatable.h ./clutter-animation.h ./clutter-animator.h ./clutter-backend.h ./clutter-behaviour.h ./clutter-behaviour-depth.h ./clutter-behaviour-ellipse.h ./clutter-behaviour-opacity.h ./clutter-behaviour-path.h ./clutter-behaviour-rotate.h ./clutter-behaviour-scale.h ./clutter-bind-constraint.h ./clutter-binding-pool.h ./clutter-bin-layout.h ./clutter-blur-effect.h ./clutter-box.h	 ./clutter-box-layout.h ./clutter-cairo-texture.h ./clutter-child-meta.h ./clutter-click-action.h ./clutter-clone.h ./clutter-color-static.h ./clutter-color.h ./clutter-colorize-effect.h ./clutter-constraint.h ./clutter-container.h ./clutter-deform-effect.h ./clutter-deprecated.h ./clutter-desaturate-effect.h ./clutter-device-manager.h ./clutter-drag-action.h ./clutter-drop-action.h ./clutter-effect.h ./
 clutter-event.h ./clutter-feature.h ./clutter-fixed.h ./clutter-fixed-layout.h ./clutter-flow-layout.h ./clutter-frame-source.h ./clutter-group.h ./clutter-input-device.h ./clutter-interval.h ./clutter-keysyms.h ./clutter-keysyms-compat.h ./clutter-layout-manager.h ./clutter-layout-meta.h ./clutter-list-model.h ./clutter-main.h ./clutter-media.h ./clutter-model.h ./clutter-offscreen-effect.h ./clutter-page-turn-effect.h ./clutter-path-constraint.h ./clutter-path.h ./clutter-rectangle.h ./clutter-score.h ./clutter-script.h ./clutter-scriptable.h ./clutter-settings.h ./clutter-shader.h ./clutter-shader-effect.h ./clutter-shader-types.h ./clutter-snap-constraint.h ./clutter-stage.h ./clutter-stage-manager.h ./clutter-stage-window.h ./clutter-state.h ./clutter-swipe-action.h ./clutter-table-layout.h ./clutter-texture.h ./clutter-text.h ./clutter-timeline.h ./clutter-timeout-pool.h ./clutter-types.h ./clutter-units.h ./clutter-util.h ./win32/clutter-win32.h &gt; clutter-enum-type
 s.c&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
+:DONE_CLUTTER_ENUM_C&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
+cd ..\..\..\clutter&#x0D;&#x0A;
+$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
+:DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
+
+if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
+cd ..\..\..\clutter&#x0D;&#x0A;
+echo #include &quot;clutter-marshal.h&quot; &gt; clutter-marshal.c&#x0D;&#x0A;
+$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; clutter-marshal.c&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
+:DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
+"
+	/>
+	<UserMacro
+		Name="ClutterDoInstall"
+		Value="
+mkdir $(OutDir)&#x0D;&#x0A;
+mkdir $(OutDir)\bin&#x0D;&#x0A;
+mkdir $(OutDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.dll $(OutDir)\bin&#x0D;&#x0A;
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.exe $(OutDir)\bin&#x0D;&#x0A;
+copy ..\*.bat $(OutDir)\bin&#x0D;&#x0A;
+copy ..\..\..\tests\data\*.png $(OutDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+copy ..\..\..\tests\data\clutter-1.0.suppressions $(OutDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+copy ..\..\..\tests\data\*.json $(OutDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+
+mkdir $(OutDir)\lib&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
+
+mkdir $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+
+copy ..\..\..\clutter\clutter.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-actor-meta.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-actor.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-align-constraint.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-alpha.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animatable.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animation.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animator.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-backend.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-depth.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-ellipse.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-opacity.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-path.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-rotate.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-behaviour-scale.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-bind-constraint.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-binding-pool.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-bin-layout.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-blur-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-box.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-box-layout.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-cairo-texture.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-child-meta.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-click-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-clone.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-color-static.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-color.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-colorize-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-constraint.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-container.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-deform-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-deprecated.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-desaturate-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-device-manager.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-drag-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-drop-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-enum-types.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-event.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-feature.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-fixed.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-fixed-layout.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-flow-layout.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-frame-source.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-gesture-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-group.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-input-device.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-interval.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-keysyms.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-keysyms-compat.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-layout-manager.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-layout-meta.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-list-model.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-main.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-marshal.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-media.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-model.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-offscreen-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-page-turn-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-path-constraint.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-path.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-rectangle.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-score.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-script.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-scriptable.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-settings.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-shader.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-shader-effect.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-shader-types.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-snap-constraint.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage-manager.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage-window.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-state.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-swipe-action.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-table-layout.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-texture.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-text.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-timeline.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-timeout-pool.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-types.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-units.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-util.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-version.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\win32\clutter-win32.h $(OutDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+
+mkdir $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-actor.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-clone.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-factory.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-group.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-main.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-rectangle.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-root.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-stage.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-text.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-texture.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-util.h $(OutDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+
+mkdir $(OutDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples&#x0D;&#x0A;
+copy ..\..\..\doc\cookbook\examples\*.c $(OutDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples&#x0D;&#x0A;
+copy ..\..\..\doc\cookbook\examples\*.h $(OutDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples&#x0D;&#x0A;
+copy ..\..\..\doc\cookbook\examples\*.json $(OutDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples&#x0D;&#x0A;
+copy ..\..\..\doc\cookbook\examples\*.png $(OutDir)\share\clutter-$(ClutterApiVersion)\cookbook\examples&#x0D;&#x0A;
+
+"
+	/>
+	<UserMacro
+		Name="GenerateClutterDef"
+		Value="
+		       echo EXPORTS &gt; ..\..\..\clutter\clutter.def&#x0D;&#x0A;
+			   cl -EP -DHAVE_CAIRO -DHAVE_CLUTTER_WIN32 -DCLUTTER_ENABLE_EXPERIMENTAL_API ..\..\..\clutter\clutter.symbols &gt;&gt; ..\..\..\clutter\clutter.def&#x0D;&#x0A;
+			  "
+	/>
+	<UserMacro
+		Name="ClutterLibtoolCompatibleDllPrefix"
+		Value="lib"
+	/>
+	<UserMacro
+		Name="ClutterLibtoolCompatibleDllSuffix"
+		Value="-$(ClutterApiVersion)-0"
+	/>
+	<UserMacro
+		Name="ClutterSeparateVS9DllPrefix"
+		Value=""
+	/>
+	<UserMacro
+		Name="ClutterSeparateVS9DllSuffix"
+		Value="-1-vs9"
+	/>
+	<!-- Change these two to GlibLibtoolCompatibleDllPrefix and
+	GlibLibtoolCompatibleDllSuffix if that is what you want -->
+	<UserMacro
+		Name="ClutterDllPrefix"
+		Value="$(ClutterSeparateVS9DllPrefix)"
+	/>
+	<UserMacro
+		Name="ClutterDllSuffix"
+		Value="$(ClutterSeparateVS9DllSuffix)"
+	/>
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/install.vcproj b/build/win32/vs9/install.vcproj
new file mode 100644
index 0000000..91c4c43
--- /dev/null
+++ b/build/win32/vs9/install.vcproj
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="install"
+	ProjectGUID="{35B2A4AC-7235-4FC7-995D-469D59195041}"
+	RootNamespace="install"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPostBuildEventTool"
+				CommandLine="$(ClutterDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(ClutterDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPostBuildEventTool"
+				CommandLine="$(ClutterDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(ClutterDoInstall)"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-cogl-perf.vcproj b/build/win32/vs9/test-cogl-perf.vcproj
new file mode 100644
index 0000000..775380c
--- /dev/null
+++ b/build/win32/vs9/test-cogl-perf.vcproj
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-cogl-perf"
+	ProjectGUID="{0DA94D83-B64E-40AC-8074-96C2416BBBE8}"
+	RootNamespace="testcoglperf"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\micro-bench\test-cogl-perf.c" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-conformance.vcprojin b/build/win32/vs9/test-conformance.vcprojin
new file mode 100644
index 0000000..95171d1
--- /dev/null
+++ b/build/win32/vs9/test-conformance.vcprojin
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-conformance"
+	ProjectGUID="{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}"
+	RootNamespace="testconformance"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-conformance"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="pango-1.0.lib cairo.lib atk-1.0.lib OpenGL32.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-conformance"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="pango-1.0.lib cairo.lib atk-1.0.lib OpenGL32.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-conformance"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="pango-1.0.lib cairo.lib atk-1.0.lib OpenGL32.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-conformance"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="COGL_ENABLE_EXPERIMENTAL_API;$(TestProgDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="pango-1.0.lib cairo.lib atk-1.0.lib OpenGL32.lib"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+#include "testconformance.sourcefiles"
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-interactive.vcprojin b/build/win32/vs9/test-interactive.vcprojin
new file mode 100644
index 0000000..83017c1
--- /dev/null
+++ b/build/win32/vs9/test-interactive.vcprojin
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-interactive"
+	ProjectGUID="{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}"
+	RootNamespace="testinteractive"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-interactive"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(TestProgDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalDependencies="pango-1.0.lib cairo.lib gmodule-2.0.lib gthread-2.0.lib OpenGL32.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-interactive"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(TestProgDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="pango-1.0.lib cairo.lib gmodule-2.0.lib gthread-2.0.lib OpenGL32.lib"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-interactive"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(TestProgDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalDependencies="pango-1.0.lib cairo.lib gmodule-2.0.lib gthread-2.0.lib OpenGL32.lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\test-interactive"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(TestProgDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="pango-1.0.lib cairo.lib gmodule-2.0.lib gthread-2.0.lib OpenGL32.lib"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+#include "testinteractive.sourcefiles"
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-picking.vcproj b/build/win32/vs9/test-picking.vcproj
new file mode 100644
index 0000000..844d0c4
--- /dev/null
+++ b/build/win32/vs9/test-picking.vcproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-picking"
+	ProjectGUID="{F433DB3C-1223-489A-AD0C-C64B09F51139}"
+	RootNamespace="testpicking"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\micro-bench\test-picking.c" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-random-text.vcproj b/build/win32/vs9/test-random-text.vcproj
new file mode 100644
index 0000000..eace693
--- /dev/null
+++ b/build/win32/vs9/test-random-text.vcproj
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-random-text"
+	ProjectGUID="{B8849C58-6773-453C-A2E5-00F02EE20B18}"
+	RootNamespace="testrandomtext"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\micro-bench\test-random-text.c" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-text-perf.vcproj b/build/win32/vs9/test-text-perf.vcproj
new file mode 100644
index 0000000..7b154e6
--- /dev/null
+++ b/build/win32/vs9/test-text-perf.vcproj
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-text-perf"
+	ProjectGUID="{F072974F-6675-4A79-96FF-0B0DEB113AA4}"
+	RootNamespace="testtextperf"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\micro-bench\test-text-perf.c" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/build/win32/vs9/test-text.vcproj b/build/win32/vs9/test-text.vcproj
new file mode 100644
index 0000000..019626a
--- /dev/null
+++ b/build/win32/vs9/test-text.vcproj
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="big5"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="test-text"
+	ProjectGUID="{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}"
+	RootNamespace="testtext"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(BaseWinBuildDef)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			ConfigurationType="1"
+			InheritedPropertySheets=".\clutter.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(BaseWinBuildDef)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+				CompileAs="1"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies=""
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\tests\micro-bench\test-text.c" />
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/clutter/Makefile.am b/clutter/Makefile.am
index d9b81a8..1386c60 100644
--- a/clutter/Makefile.am
+++ b/clutter/Makefile.am
@@ -649,6 +649,48 @@ libclutter_ CLUTTER_SONAME_INFIX@_ CLUTTER_API_VERSION@_la_LDFLAGS = \
 	$(win32_resources_ldflag) \
 	$(NULL)
 
+dist-hook: ../build/win32/vs9/clutter.vcproj ../build/win32/vs10/clutter.vcxproj ../build/win32/vs10/clutter.vcxproj.filters
+
+../build/win32/vs9/clutter.vcproj: $(top_srcdir)/build/win32/vs9/clutter.vcprojin
+	for F in `echo $(win32_source_c) $(cally_sources_c) $(source_c) $(source_c_priv) $(built_source_c) | tr '/' '\\'`; do \
+		case $$F in \
+		*.c)	echo '   <File RelativePath="..\..\..\clutter\'$$F'" />' \
+			;; \
+		esac; \
+	done >clutter.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/clutter.vcprojin >$@
+	rm clutter.sourcefiles
+	
+../build/win32/vs10/clutter.vcxproj: $(top_srcdir)/build/win32/vs10/clutter.vcxprojin
+	for F in `echo $(win32_source_c) $(cally_sources_c) $(source_c) $(source_c_priv) $(built_source_c) | tr '/' '\\'`; do \
+		case $$F in \
+		*.c)	echo '    <ClCompile Include="..\..\..\clutter\'$$F'" />' \
+			;; \
+		esac; \
+	done >clutter.vs10.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/clutter.vcxprojin >$@
+	rm clutter.vs10.sourcefiles
+	
+../build/win32/vs10/clutter.vcxproj.filters: $(top_srcdir)/build/win32/vs10/clutter.vcxproj.filtersin
+	for F in `echo $(win32_source_c) $(cally_sources_c) $(source_c) $(source_c_priv) $(built_source_c) | tr '/' '\\'`; do \
+		case $$F in \
+		*.c)	echo '    <ClCompile Include="..\..\..\clutter\'$$F'"><Filter>Sources</Filter></ClCompile>' \
+			;; \
+		esac; \
+	done >clutter.vs10.sourcefiles.filters
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/clutter.vcxproj.filtersin >$@
+	rm clutter.vs10.sourcefiles.filters
+	
+EXTRA_DIST += \
+	clutter-version.h.win32	\
+	clutter-config.h.win32	\
+	clutter-version.h.win32.in	\
+	clutter.symbols	\
+	$(NULL)
+
+# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
+DISTCLEANFILES += ../build/win32/vs9/clutter.vcproj ../build/win32/vs10/clutter.vcxproj ../build/win32/vs10/clutter.vcxproj.filters
+
 # gobject-introspection rules
 -include $(INTROSPECTION_MAKEFILE)
 
diff --git a/clutter/clutter-config.h.win32 b/clutter/clutter-config.h.win32
new file mode 100644
index 0000000..2d160fa
--- /dev/null
+++ b/clutter/clutter-config.h.win32
@@ -0,0 +1,16 @@
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_CONFIG_H__
+#define __CLUTTER_CONFIG_H__
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_WINDOWING_WIN32 1
+
+G_END_DECLS
+
+#endif /* __CLUTTER_CONFIG_H__ */
diff --git a/clutter/clutter-version.h.win32.in b/clutter/clutter-version.h.win32.in
new file mode 100644
index 0000000..3c8114b
--- /dev/null
+++ b/clutter/clutter-version.h.win32.in
@@ -0,0 +1,196 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+/**
+ * SECTION:clutter-version
+ * @short_description: Versioning utility macros
+ *
+ * Clutter offers a set of macros for checking the version of the library
+ * an application was linked to.
+ */
+
+#ifndef __CLUTTER_VERSION_H__
+#define __CLUTTER_VERSION_H__
+
+#include <glib.h>
+
+#ifdef _MSC_VER
+#ifdef CLUTTER_COMPILATION
+#define CLUTTER_EXP __declspec(dllexport)
+#else
+#define CLUTTER_EXP __declspec(dllimport)
+#endif
+#else
+#define CLUTTER_EXP 
+#endif
+
+G_BEGIN_DECLS
+
+/**
+ * CLUTTER_MAJOR_VERSION:
+ *
+ * The major version of the Clutter library (1, if %CLUTTER_VERSION is 1.2.3)
+ */
+#define CLUTTER_MAJOR_VERSION   (@CLUTTER_MAJOR_VERSION@)
+
+/**
+ * CLUTTER_MINOR_VERSION:
+ *
+ * The minor version of the Clutter library (2, if %CLUTTER_VERSION is 1.2.3)
+ */
+#define CLUTTER_MINOR_VERSION   (@CLUTTER_MINOR_VERSION@)
+
+/**
+ * CLUTTER_MICRO_VERSION:
+ *
+ * The micro version of the Clutter library (3, if %CLUTTER_VERSION is 1.2.3)
+ */
+#define CLUTTER_MICRO_VERSION   (@CLUTTER_MICRO_VERSION@)
+
+/**
+ * CLUTTER_VERSION:
+ *
+ * The full version of the Clutter library, like 1.2.3
+ */
+#define CLUTTER_VERSION         @CLUTTER_VERSION@
+
+/**
+ * CLUTTER_VERSION_S:
+ *
+ * The full version of the Clutter library, in string form (suited for
+ * string concatenation)
+ */
+#define CLUTTER_VERSION_S       "@CLUTTER_VERSION@"
+
+/**
+ * CLUTTER_VERSION_HEX:
+ *
+ * Numerically encoded version of the Clutter library, like 0x010203
+ */
+#define CLUTTER_VERSION_HEX     ((CLUTTER_MAJOR_VERSION << 24) | \
+                                 (CLUTTER_MINOR_VERSION << 16) | \
+                                 (CLUTTER_MICRO_VERSION << 8))
+
+/**
+ * CLUTTER_CHECK_VERSION:
+ * @major: major version, like 1 in 1.2.3
+ * @minor: minor version, like 2 in 1.2.3
+ * @micro: micro version, like 3 in 1.2.3
+ *
+ * Evaluates to %TRUE if the version of the Clutter library is greater
+ * than @major, @minor and @micro
+ */
+#define CLUTTER_CHECK_VERSION(major,minor,micro) \
+        (CLUTTER_MAJOR_VERSION > (major) || \
+         (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION > (minor)) || \
+         (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION == (minor) && CLUTTER_MICRO_VERSION >= (micro)))
+
+/**
+ * CLUTTER_FLAVOUR:
+ *
+ * GL Windowing system used
+ *
+ * Since: 0.4
+ */
+#define CLUTTER_FLAVOUR         "win32"
+
+/**
+ * CLUTTER_COGL
+ *
+ * Cogl (internal GL abstraction utility library) backend. Can be "gl" or
+ * "gles" currently
+ *
+ * Since: 0.4
+ */
+#define CLUTTER_COGL            "gl"
+
+/**
+ * CLUTTER_STAGE_TYPE:
+ *
+ * The default GObject type for the Clutter stage. 
+ *
+ * Since: 0.8
+ */
+#define CLUTTER_STAGE_TYPE CLUTTER_TYPE_STAGE_WIN32
+
+/**
+ * CLUTTER_NO_FPU:
+ *
+ * Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise
+ *
+ * @Deprecated: 0.6: This macro is no longer defined (identical code is used
+ *  regardless the presence of FPU).
+ */
+#define CLUTTER_NO_FPU          CLUTTER_NO_FPU_MACRO_WAS_REMOVED
+
+/**
+ * clutter_major_version:
+ *
+ * The major component of the Clutter library version, e.g. 1 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MAJOR_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_EXP extern const guint clutter_major_version;
+
+/**
+ * clutter_minor_version:
+ *
+ * The minor component of the Clutter library version, e.g. 2 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MINOR_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_EXP extern const guint clutter_minor_version;
+
+/**
+ * clutter_micro_version:
+ *
+ * The micro component of the Clutter library version, e.g. 3 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MICRO_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_EXP extern const guint clutter_micro_version;
+
+gboolean clutter_check_version (guint major,
+                                guint minor,
+                                guint micro);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_VERSION_H__ */
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
new file mode 100644
index 0000000..366bce2
--- /dev/null
+++ b/clutter/clutter.symbols
@@ -0,0 +1,1386 @@
+cally_accessibility_init
+cally_actor_add_action
+cally_actor_add_action_full
+cally_actor_get_type
+cally_actor_new
+cally_actor_remove_action
+cally_actor_remove_action_by_name
+cally_clone_get_type
+cally_clone_new
+cally_get_cally_initialized
+cally_group_get_type
+cally_group_new
+cally_rectangle_get_type
+cally_rectangle_new
+cally_root_get_type
+cally_root_new
+cally_stage_get_type
+cally_stage_new
+cally_texture_get_type
+cally_texture_new
+cally_text_get_type
+cally_text_new
+cally_util_get_type
+clutter_action_get_type
+clutter_actor_flags_get_type
+clutter_actor_add_action
+clutter_actor_add_action_with_name
+clutter_actor_add_constraint
+clutter_actor_add_constraint_with_name
+clutter_actor_add_effect
+clutter_actor_add_effect_with_name
+clutter_actor_allocate
+clutter_actor_allocate_align_fill
+clutter_actor_allocate_available_size
+clutter_actor_allocate_preferred_size
+clutter_actor_animate
+clutter_actor_animatev
+clutter_actor_animate_with_alpha
+clutter_actor_animate_with_alphav
+clutter_actor_animate_with_timeline
+clutter_actor_animate_with_timelinev
+clutter_actor_apply_transform_to_point
+clutter_actor_apply_relative_transform_to_point
+clutter_actor_box_clamp_to_pixel
+clutter_actor_box_contains
+clutter_actor_box_copy
+clutter_actor_box_equal
+clutter_actor_box_free
+clutter_actor_box_from_vertices
+clutter_actor_box_get_area
+clutter_actor_box_get_height
+clutter_actor_box_get_origin
+clutter_actor_box_get_size
+clutter_actor_box_get_type
+clutter_actor_box_get_width
+clutter_actor_box_get_x
+clutter_actor_box_get_y
+clutter_actor_box_interpolate
+clutter_actor_box_new
+clutter_actor_box_set_origin
+clutter_actor_box_set_size
+clutter_actor_box_union
+clutter_actor_clear_actions
+clutter_actor_clear_constraints
+clutter_actor_clear_effects
+clutter_actor_contains
+clutter_actor_continue_paint
+clutter_actor_create_pango_context
+clutter_actor_create_pango_layout
+clutter_actor_destroy
+clutter_actor_detach_animation
+clutter_actor_event
+clutter_actor_get_abs_allocation_vertices
+clutter_actor_get_accessible
+clutter_actor_get_action
+clutter_actor_get_actions
+clutter_actor_get_allocation_box
+clutter_actor_get_allocation_geometry
+clutter_actor_get_allocation_vertices
+clutter_actor_get_anchor_point
+clutter_actor_get_anchor_point_gravity
+clutter_actor_get_animation
+clutter_actor_get_clip
+clutter_actor_get_clip_to_allocation
+clutter_actor_get_constraint
+clutter_actor_get_constraints
+clutter_actor_get_depth
+clutter_actor_get_effect
+clutter_actor_get_effects
+clutter_actor_get_fixed_position_set
+clutter_actor_get_flags
+clutter_actor_get_geometry
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_actor_get_gid
+#endif
+
+clutter_actor_get_height
+clutter_actor_get_name
+clutter_actor_get_offscreen_redirect
+clutter_actor_get_opacity
+clutter_actor_get_paint_box
+clutter_actor_get_paint_opacity
+clutter_actor_get_paint_visibility
+clutter_actor_get_paint_volume
+clutter_actor_get_pango_context
+clutter_actor_get_parent
+clutter_actor_get_position
+clutter_actor_get_preferred_height
+clutter_actor_get_preferred_size
+clutter_actor_get_preferred_width
+clutter_actor_get_reactive
+clutter_actor_get_request_mode
+clutter_actor_get_rotation
+clutter_actor_get_scale
+clutter_actor_get_scale_center
+clutter_actor_get_scale_gravity
+clutter_actor_get_shader
+clutter_actor_get_size
+clutter_actor_get_stage
+clutter_actor_get_text_direction
+clutter_actor_get_transformation_matrix
+clutter_actor_get_transformed_paint_volume
+clutter_actor_get_transformed_position
+clutter_actor_get_transformed_size
+clutter_actor_get_type
+clutter_actor_get_width
+clutter_actor_get_x
+clutter_actor_get_y
+clutter_actor_get_z_rotation_gravity
+clutter_actor_grab_key_focus
+clutter_actor_has_allocation
+clutter_actor_has_clip
+clutter_actor_has_key_focus
+clutter_actor_has_overlaps
+clutter_actor_has_pointer
+clutter_actor_hide
+clutter_actor_hide_all
+clutter_actor_is_in_clone_paint
+clutter_actor_is_rotated
+clutter_actor_is_scaled
+clutter_actor_lower
+clutter_actor_lower_bottom
+clutter_actor_map
+clutter_actor_meta_get_actor
+clutter_actor_meta_get_enabled
+clutter_actor_meta_get_name
+clutter_actor_meta_get_type
+clutter_actor_meta_set_enabled
+clutter_actor_meta_set_name
+clutter_actor_move_anchor_point
+clutter_actor_move_anchor_point_from_gravity
+clutter_actor_move_by
+clutter_actor_paint
+clutter_actor_pop_internal
+clutter_actor_push_internal
+clutter_actor_queue_redraw
+clutter_actor_queue_relayout
+clutter_actor_raise
+clutter_actor_raise_top
+clutter_actor_realize
+clutter_actor_remove_action
+clutter_actor_remove_action_by_name
+clutter_actor_remove_constraint
+clutter_actor_remove_constraint_by_name
+clutter_actor_remove_clip
+clutter_actor_remove_effect
+clutter_actor_remove_effect_by_name
+clutter_actor_reparent
+clutter_actor_set_anchor_point
+clutter_actor_set_anchor_point_from_gravity
+clutter_actor_set_clip
+clutter_actor_set_clip_to_allocation
+clutter_actor_set_depth
+clutter_actor_set_fixed_position_set
+clutter_actor_set_flags
+clutter_actor_set_height
+clutter_actor_set_geometry
+clutter_actor_set_name
+clutter_actor_set_offscreen_redirect
+clutter_actor_set_opacity
+clutter_actor_set_parent
+clutter_actor_set_position
+clutter_actor_set_reactive
+clutter_actor_set_request_mode
+clutter_actor_set_rotation
+clutter_actor_set_scale
+clutter_actor_set_scale_full
+clutter_actor_set_scale_with_gravity
+clutter_actor_set_shader
+clutter_actor_set_shader_param
+clutter_actor_set_shader_param_float
+clutter_actor_set_shader_param_int
+clutter_actor_set_size
+clutter_actor_set_text_direction
+clutter_actor_set_width
+clutter_actor_set_x
+clutter_actor_set_y
+clutter_actor_set_z_rotation_from_gravity
+clutter_actor_should_pick_paint
+clutter_actor_show
+clutter_actor_show_all
+clutter_actor_transform_stage_point
+clutter_actor_unmap
+clutter_actor_unparent
+clutter_actor_unrealize
+clutter_actor_unset_flags
+clutter_align_axis_get_type
+clutter_align_constraint_get_align_axis
+clutter_align_constraint_get_factor
+clutter_align_constraint_get_source
+clutter_align_constraint_get_type
+clutter_align_constraint_new
+clutter_align_constraint_set_align_axis
+clutter_align_constraint_set_factor
+clutter_align_constraint_set_source
+clutter_allocation_flags_get_type
+clutter_alpha_get_alpha
+clutter_alpha_get_mode
+clutter_alpha_get_timeline
+clutter_alpha_get_type
+clutter_alpha_new
+clutter_alpha_new_full
+clutter_alpha_new_with_func
+clutter_alpha_register_closure
+clutter_alpha_register_func
+clutter_alpha_set_closure
+clutter_alpha_set_func
+clutter_alpha_set_mode
+clutter_alpha_set_timeline
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_animatable_animate_property
+#endif
+
+clutter_animatable_find_property
+clutter_animatable_get_initial_state
+clutter_animatable_get_type
+clutter_animatable_interpolate_value
+clutter_animatable_set_final_state
+clutter_animation_bind
+clutter_animation_bind_interval
+clutter_animation_completed
+clutter_animation_get_alpha
+clutter_animation_get_duration
+clutter_animation_get_interval
+clutter_animation_get_loop
+clutter_animation_get_mode
+clutter_animation_get_object
+clutter_animation_get_timeline
+clutter_animation_get_type
+clutter_animation_has_property
+clutter_animation_mode_get_type
+clutter_animation_new
+clutter_animation_set_alpha
+clutter_animation_set_duration
+clutter_animation_set_loop
+clutter_animation_set_mode
+clutter_animation_set_object
+clutter_animation_set_timeline
+clutter_animation_unbind_property
+clutter_animation_update
+clutter_animation_update_interval
+clutter_animator_compute_value
+clutter_animator_get_duration
+clutter_animator_get_keys
+clutter_animator_get_timeline
+clutter_animator_get_type
+clutter_animator_key_get_mode
+clutter_animator_key_get_object
+clutter_animator_key_get_property_name
+clutter_animator_key_get_property_type
+clutter_animator_key_get_progress
+clutter_animator_key_get_type
+clutter_animator_key_get_value
+clutter_animator_new
+clutter_animator_property_get_ease_in
+clutter_animator_property_get_interpolation
+clutter_animator_property_set_ease_in
+clutter_animator_property_set_interpolation
+clutter_animator_remove_key
+clutter_animator_set_key
+clutter_animator_set
+clutter_animator_set_duration
+clutter_animator_set_timeline
+clutter_animator_start
+
+#ifdef CLUTTER_ENABLE_EXPERIMENTAL_API
+clutter_backend_get_cogl_context
+#endif
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_backend_get_double_click_distance
+clutter_backend_get_double_click_time
+clutter_backend_get_font_name
+#endif
+
+clutter_backend_get_font_options 
+clutter_backend_get_resolution
+clutter_backend_get_type
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_backend_set_double_click_distance
+clutter_backend_set_double_click_time
+clutter_backend_set_font_name
+#endif
+
+clutter_backend_set_font_options
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_backend_set_resolution
+#endif
+
+clutter_base_init
+clutter_behaviour_actors_foreach
+clutter_behaviour_apply
+clutter_behaviour_depth_get_bounds
+clutter_behaviour_depth_get_type
+clutter_behaviour_depth_new
+clutter_behaviour_depth_set_bounds
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_behaviour_ellipse_get_angle_end
+clutter_behaviour_ellipse_get_angle_start
+clutter_behaviour_ellipse_get_angle_tilt
+clutter_behaviour_ellipse_get_center
+clutter_behaviour_ellipse_get_direction
+clutter_behaviour_ellipse_get_height
+clutter_behaviour_ellipse_get_tilt
+clutter_behaviour_ellipse_get_type
+clutter_behaviour_ellipse_get_width
+clutter_behaviour_ellipse_new
+clutter_behaviour_ellipse_set_angle_end
+clutter_behaviour_ellipse_set_angle_start
+clutter_behaviour_ellipse_set_angle_tilt
+clutter_behaviour_ellipse_set_center
+clutter_behaviour_ellipse_set_direction
+clutter_behaviour_ellipse_set_height
+clutter_behaviour_ellipse_set_tilt
+clutter_behaviour_ellipse_set_width
+#endif
+
+clutter_behaviour_get_actors
+clutter_behaviour_get_alpha
+clutter_behaviour_get_nth_actor
+clutter_behaviour_get_n_actors
+clutter_behaviour_get_type
+clutter_behaviour_is_applied
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_behaviour_opacity_get_bounds
+clutter_behaviour_opacity_get_type
+clutter_behaviour_opacity_new
+clutter_behaviour_opacity_set_bounds
+clutter_behaviour_path_get_path
+clutter_behaviour_path_get_type
+clutter_behaviour_path_new
+clutter_behaviour_path_new_with_description
+clutter_behaviour_path_new_with_knots
+clutter_behaviour_path_set_path
+#endif
+
+clutter_behaviour_remove
+clutter_behaviour_remove_all
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_behaviour_rotate_get_axis
+clutter_behaviour_rotate_get_bounds
+clutter_behaviour_rotate_get_center
+clutter_behaviour_rotate_get_direction
+clutter_behaviour_rotate_get_type
+clutter_behaviour_rotate_new
+clutter_behaviour_rotate_set_axis
+clutter_behaviour_rotate_set_bounds
+clutter_behaviour_rotate_set_center
+clutter_behaviour_rotate_set_direction
+clutter_behaviour_scale_get_bounds
+clutter_behaviour_scale_get_type
+clutter_behaviour_scale_new
+clutter_behaviour_scale_set_bounds
+#endif
+
+clutter_behaviour_set_alpha
+clutter_binding_pool_activate
+clutter_binding_pool_block_action
+clutter_binding_pool_find
+clutter_binding_pool_find_action
+clutter_binding_pool_get_for_class
+clutter_binding_pool_get_type
+clutter_binding_pool_install_action
+clutter_binding_pool_install_closure
+clutter_binding_pool_new 
+clutter_binding_pool_override_action
+clutter_binding_pool_override_closure
+clutter_binding_pool_remove_action
+clutter_binding_pool_unblock_action
+clutter_bind_constraint_get_coordinate
+clutter_bind_constraint_get_offset
+clutter_bind_constraint_get_source
+clutter_bind_constraint_get_type
+clutter_bind_constraint_new
+clutter_bind_constraint_set_coordinate
+clutter_bind_constraint_set_offset
+clutter_bind_constraint_set_source
+clutter_bind_coordinate_get_type
+clutter_bin_alignment_get_type
+clutter_bin_layout_add
+clutter_bin_layout_get_alignment
+clutter_bin_layout_get_type
+clutter_bin_layout_new
+clutter_bin_layout_set_alignment
+clutter_blur_effect_get_type
+clutter_blur_effect_new
+clutter_box_alignment_get_type
+clutter_box_get_color
+clutter_box_get_layout_manager
+clutter_box_get_type
+clutter_box_layout_get_alignment
+clutter_box_layout_get_easing_duration
+clutter_box_layout_get_easing_mode
+clutter_box_layout_get_expand
+clutter_box_layout_get_fill
+clutter_box_layout_get_homogeneous
+clutter_box_layout_get_pack_start
+clutter_box_layout_get_spacing
+clutter_box_layout_get_type
+clutter_box_layout_get_use_animations
+clutter_box_layout_get_vertical
+clutter_box_layout_new
+clutter_box_layout_pack
+clutter_box_layout_set_alignment
+clutter_box_layout_set_expand
+clutter_box_layout_set_fill
+clutter_box_layout_set_easing_duration
+clutter_box_layout_set_easing_mode
+clutter_box_layout_set_homogeneous
+clutter_box_layout_set_pack_start
+clutter_box_layout_set_spacing
+clutter_box_layout_set_use_animations
+clutter_box_layout_set_vertical
+clutter_box_new
+clutter_box_set_color
+clutter_box_set_layout_manager
+clutter_box_pack
+clutter_box_packv
+clutter_box_pack_after
+clutter_box_pack_at
+clutter_box_pack_before
+clutter_cairo_set_source_color
+clutter_cairo_texture_clear
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_cairo_texture_create
+clutter_cairo_texture_create_region
+#endif
+
+clutter_cairo_texture_get_auto_resize 
+clutter_cairo_texture_get_surface_size
+clutter_cairo_texture_get_type
+clutter_cairo_texture_invalidate
+clutter_cairo_texture_invalidate_rectangle
+clutter_cairo_texture_new
+clutter_cairo_texture_set_auto_resize
+clutter_cairo_texture_set_surface_size
+clutter_check_version
+clutter_child_meta_get_actor
+clutter_child_meta_get_container
+clutter_child_meta_get_type
+clutter_clear_glyph_cache
+clutter_click_action_get_button
+clutter_click_action_get_coords
+clutter_click_action_get_state
+clutter_click_action_get_type
+clutter_click_action_new
+clutter_click_action_release
+clutter_clone_get_source
+clutter_clone_get_type
+clutter_clone_new
+clutter_clone_set_source
+clutter_colorize_effect_get_tint
+clutter_colorize_effect_get_type
+clutter_colorize_effect_new
+clutter_colorize_effect_set_tint
+clutter_color_add
+clutter_color_copy
+clutter_color_darken
+clutter_color_equal
+clutter_color_free
+clutter_color_from_hls
+clutter_color_from_pixel
+clutter_color_from_string
+clutter_color_get_static
+clutter_color_get_type
+clutter_color_hash
+clutter_color_interpolate
+clutter_color_lighten
+clutter_color_new
+clutter_color_shade
+clutter_color_subtract
+clutter_color_to_hls
+clutter_color_to_pixel
+clutter_color_to_string
+clutter_container_add
+clutter_container_add_actor
+clutter_container_add_valist
+clutter_container_child_get
+clutter_container_child_get_property
+clutter_container_child_notify
+clutter_container_child_set
+clutter_container_child_set_property
+clutter_container_class_find_child_property
+clutter_container_class_list_child_properties
+clutter_container_create_child_meta
+clutter_container_destroy_child_meta
+clutter_container_find_child_by_name
+clutter_container_foreach
+clutter_container_foreach_with_internals
+clutter_container_get_children
+clutter_container_get_child_meta
+clutter_container_get_type
+clutter_container_lower_child
+clutter_container_raise_child
+clutter_container_remove
+clutter_container_remove_actor
+clutter_container_remove_valist
+clutter_container_sort_depth_order
+clutter_constraint_get_type
+clutter_deform_effect_get_back_material
+clutter_deform_effect_get_n_tiles
+clutter_deform_effect_get_type
+clutter_deform_effect_invalidate
+clutter_deform_effect_set_back_material
+clutter_deform_effect_set_n_tiles
+clutter_desaturate_effect_get_factor
+clutter_desaturate_effect_get_type
+clutter_desaturate_effect_new
+clutter_desaturate_effect_set_factor
+clutter_device_manager_get_core_device
+clutter_device_manager_get_device
+clutter_device_manager_get_default
+clutter_device_manager_get_type
+clutter_device_manager_list_devices
+clutter_device_manager_peek_devices
+clutter_do_event
+clutter_drag_action_get_drag_axis
+clutter_drag_action_get_drag_handle
+clutter_drag_action_get_drag_threshold
+clutter_drag_action_get_motion_coords
+clutter_drag_action_get_press_coords
+clutter_drag_action_get_type
+clutter_drag_action_new
+clutter_drag_action_set_drag_axis
+clutter_drag_action_set_drag_handle
+clutter_drag_action_set_drag_threshold
+clutter_drag_axis_get_type
+clutter_drop_action_get_type
+clutter_drop_action_new
+clutter_effect_get_type
+clutter_events_pending
+clutter_event_copy
+clutter_event_flags_get_type
+clutter_event_get_axes
+clutter_event_get_button
+clutter_event_get_click_count
+clutter_event_get_coords
+clutter_event_get_device
+clutter_event_get_device_id
+clutter_event_get_device_type
+clutter_event_get_flags
+clutter_event_free
+clutter_event_get
+clutter_event_get_key_code
+clutter_event_get_key_symbol
+clutter_event_get_key_unicode
+clutter_event_get_related
+clutter_event_get_scroll_direction
+clutter_event_get_source
+clutter_event_get_source_device
+clutter_event_get_stage
+clutter_event_get_state
+clutter_event_get_type
+clutter_event_get_time
+clutter_event_new
+clutter_event_peek
+clutter_event_put
+clutter_event_set_button
+clutter_event_set_coords
+clutter_event_set_device
+clutter_event_set_flags
+clutter_event_set_key_code
+clutter_event_set_key_symbol
+clutter_event_set_key_unicode
+clutter_event_set_related
+clutter_event_set_scroll_direction
+clutter_event_set_source
+clutter_event_set_source_device
+clutter_event_set_stage
+clutter_event_set_state
+clutter_event_set_time
+clutter_event_type
+clutter_event_type_get_type
+clutter_feature_available
+clutter_feature_flags_get_type
+clutter_feature_get_all
+clutter_fixed_layout_get_type
+clutter_fixed_layout_new
+clutter_flow_layout_get_column_spacing
+clutter_flow_layout_get_column_width
+clutter_flow_layout_get_homogeneous
+clutter_flow_layout_get_orientation
+clutter_flow_layout_get_row_height
+clutter_flow_layout_get_row_spacing
+clutter_flow_layout_get_type
+clutter_flow_layout_new
+clutter_flow_layout_set_column_spacing
+clutter_flow_layout_set_column_width
+clutter_flow_layout_set_homogeneous
+clutter_flow_layout_set_orientation
+clutter_flow_layout_set_row_height
+clutter_flow_layout_set_row_spacing
+clutter_flow_orientation_get_type
+clutter_fog_get_type
+clutter_font_flags_get_type
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_frame_source_add
+clutter_frame_source_add_full
+#endif
+
+clutter_geometry_get_type
+clutter_geometry_intersects
+clutter_geometry_union
+
+clutter_gesture_action_get_motion_coords
+clutter_gesture_action_get_press_coords
+clutter_gesture_action_get_release_coords
+clutter_gesture_action_get_type
+clutter_gesture_action_new
+
+clutter_get_accessibility_enabled
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_get_actor_by_gid
+#endif
+
+clutter_get_current_event
+clutter_get_current_event_time
+clutter_get_debug_enabled
+clutter_get_default_backend
+clutter_get_default_frame_rate
+clutter_get_default_text_direction
+clutter_get_font_flags
+clutter_get_font_map
+clutter_get_input_device_for_id
+clutter_get_keyboard_grab
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_get_motion_events_enabled
+#endif
+
+clutter_get_option_group
+clutter_get_option_group_without_init
+clutter_get_pointer_grab
+clutter_get_script_id
+clutter_get_show_fps
+clutter_get_timestamp
+
+#ifdef HAVE_CLUTTER_GLX
+clutter_glx_texture_pixmap_get_type
+clutter_glx_texture_pixmap_new
+clutter_glx_texture_pixmap_new_with_pixmap
+clutter_glx_texture_pixmap_new_with_window
+clutter_glx_texture_pixmap_using_extension
+#endif
+
+clutter_grab_keyboard
+clutter_grab_pointer
+clutter_grab_pointer_for_device
+clutter_gravity_get_type
+clutter_group_get_nth_child
+clutter_group_get_n_children
+clutter_group_get_type
+clutter_group_new
+clutter_group_remove_all
+clutter_init
+clutter_init_error_get_type
+clutter_init_error_quark
+clutter_init_with_args
+clutter_interpolation_get_type
+clutter_interval_clone
+clutter_interval_compute
+clutter_interval_compute_value
+clutter_interval_get_final_value
+clutter_interval_get_initial_value
+clutter_interval_get_interval
+clutter_interval_get_type
+clutter_interval_get_value_type
+clutter_interval_new
+clutter_interval_new_with_values
+clutter_interval_peek_final_value
+clutter_interval_peek_initial_value
+clutter_interval_register_progress_func
+clutter_interval_set_final_value
+clutter_interval_set_initial_value
+clutter_interval_set_interval
+clutter_interval_validate
+clutter_input_axis_get_type
+clutter_input_device_get_associated_device
+clutter_input_device_get_axis
+clutter_input_device_get_axis_value
+clutter_input_device_get_device_coords
+clutter_input_device_get_device_id
+clutter_input_device_get_device_name
+clutter_input_device_get_device_mode
+clutter_input_device_get_device_type
+clutter_input_device_get_enabled
+clutter_input_device_get_has_cursor
+clutter_input_device_get_key
+clutter_input_device_get_n_axes
+clutter_input_device_get_n_keys
+clutter_input_device_get_pointer_actor
+clutter_input_device_get_pointer_stage
+clutter_input_device_get_slave_devices
+clutter_input_device_get_type
+clutter_input_device_set_enabled
+clutter_input_device_set_key
+clutter_input_device_type_get_type
+clutter_input_device_update_from_event
+clutter_input_mode_get_type
+clutter_keysym_to_unicode
+clutter_knot_copy
+clutter_knot_equal
+clutter_knot_free
+clutter_knot_get_type
+clutter_layout_meta_get_manager
+clutter_layout_meta_get_type
+clutter_layout_manager_allocate
+clutter_layout_manager_begin_animation
+clutter_layout_manager_child_get
+clutter_layout_manager_child_get_property
+clutter_layout_manager_child_set
+clutter_layout_manager_child_set_property
+clutter_layout_manager_end_animation
+clutter_layout_manager_find_child_property
+clutter_layout_manager_get_animation_progress
+clutter_layout_manager_get_child_meta
+clutter_layout_manager_get_preferred_width
+clutter_layout_manager_get_preferred_height
+clutter_layout_manager_get_type
+clutter_layout_manager_layout_changed
+clutter_layout_manager_list_child_properties
+clutter_layout_manager_set_container
+clutter_list_model_get_type
+clutter_list_model_new
+clutter_list_model_newv
+clutter_main
+clutter_main_level
+clutter_main_quit
+clutter_major_version DATA
+clutter_media_get_audio_volume
+clutter_media_get_buffer_fill
+clutter_media_get_can_seek
+clutter_media_get_duration
+clutter_media_get_playing
+clutter_media_get_progress
+clutter_media_get_subtitle_font_name
+clutter_media_get_subtitle_uri
+clutter_media_get_type
+clutter_media_get_uri
+clutter_media_set_audio_volume
+clutter_media_set_filename
+clutter_media_set_playing
+clutter_media_set_progress
+clutter_media_set_subtitle_font_name
+clutter_media_set_subtitle_uri
+clutter_media_set_uri
+clutter_micro_version DATA
+clutter_minor_version DATA
+clutter_model_append
+clutter_model_appendv
+clutter_model_filter_iter
+clutter_model_filter_row
+clutter_model_foreach
+clutter_model_get_column_name
+clutter_model_get_column_type
+clutter_model_get_filter_set
+clutter_model_get_first_iter
+clutter_model_get_iter_at_row
+clutter_model_get_last_iter
+clutter_model_get_n_columns
+clutter_model_get_n_rows
+clutter_model_get_sorting_column
+clutter_model_get_type
+clutter_model_insert
+clutter_model_insertv
+clutter_model_insert_value
+clutter_model_iter_copy
+clutter_model_iter_get
+clutter_model_iter_get_model
+clutter_model_iter_get_row
+clutter_model_iter_get_type
+clutter_model_iter_get_valist
+clutter_model_iter_get_value
+clutter_model_iter_is_first
+clutter_model_iter_is_last
+clutter_model_iter_next
+clutter_model_iter_prev
+clutter_model_iter_set
+clutter_model_iter_set_valist
+clutter_model_iter_set_value
+clutter_model_prepend
+clutter_model_prependv
+clutter_model_remove
+clutter_model_resort
+clutter_model_set_filter
+clutter_model_set_names
+clutter_model_set_sort
+clutter_model_set_sorting_column
+clutter_model_set_types
+clutter_modifier_type_get_type
+clutter_offscreen_effect_create_texture
+clutter_offscreen_effect_get_target
+clutter_offscreen_effect_get_target_size
+clutter_offscreen_effect_get_type
+clutter_offscreen_effect_paint_target
+clutter_page_turn_effect_get_angle
+clutter_page_turn_effect_get_period
+clutter_page_turn_effect_get_radius
+clutter_page_turn_effect_get_type
+clutter_page_turn_effect_new
+clutter_page_turn_effect_set_angle
+clutter_page_turn_effect_set_period
+clutter_page_turn_effect_set_radius
+clutter_path_add_cairo_path
+clutter_path_add_close
+clutter_path_add_curve_to
+clutter_path_add_line_to
+clutter_path_add_move_to
+clutter_path_add_node
+clutter_path_add_string
+clutter_path_add_rel_curve_to
+clutter_path_add_rel_line_to
+clutter_path_add_rel_move_to
+clutter_path_clear
+clutter_path_constraint_get_offset
+clutter_path_constraint_get_path
+clutter_path_constraint_get_type
+clutter_path_constraint_new
+clutter_path_constraint_set_offset
+clutter_path_constraint_set_path
+clutter_path_foreach
+clutter_path_get_description
+clutter_path_get_length
+clutter_path_get_node
+clutter_path_get_nodes
+clutter_path_get_n_nodes
+clutter_path_get_position
+clutter_path_get_type
+clutter_path_insert_node
+clutter_path_new
+clutter_path_new_with_description
+clutter_path_node_copy
+clutter_path_node_equal
+clutter_path_node_free
+clutter_path_node_get_type
+clutter_path_node_type_get_type
+clutter_path_remove_node
+clutter_path_replace_node
+clutter_path_set_description
+clutter_path_to_cairo_path
+clutter_paint_volume_copy
+clutter_paint_volume_free
+clutter_paint_volume_get_depth
+clutter_paint_volume_get_height
+clutter_paint_volume_get_origin
+clutter_paint_volume_get_type
+clutter_paint_volume_get_width
+clutter_paint_volume_set_depth
+clutter_paint_volume_set_from_allocation
+clutter_paint_volume_set_height
+clutter_paint_volume_set_origin
+clutter_paint_volume_set_width
+clutter_paint_volume_union
+clutter_param_color_get_type
+clutter_param_fixed_get_type
+clutter_param_spec_color
+clutter_param_spec_fixed
+clutter_param_spec_units
+clutter_param_units_get_type
+clutter_perspective_get_type
+clutter_pick_mode_get_type
+clutter_rectangle_get_border_color
+clutter_rectangle_get_border_width
+clutter_rectangle_get_color
+clutter_rectangle_get_type
+clutter_rectangle_new
+clutter_rectangle_new_with_color
+clutter_rectangle_set_border_color
+clutter_rectangle_set_border_width
+clutter_rectangle_set_color
+clutter_redraw
+clutter_request_mode_get_type
+clutter_rotate_axis_get_type
+clutter_rotate_direction_get_type
+clutter_score_append
+clutter_score_append_at_marker
+clutter_score_get_loop
+clutter_score_get_timeline
+clutter_score_get_type
+clutter_score_is_playing
+clutter_score_list_timelines
+clutter_score_new
+clutter_score_pause
+clutter_score_remove
+clutter_score_remove_all
+clutter_score_rewind
+clutter_score_set_loop
+clutter_score_start
+clutter_score_stop
+clutter_scriptable_get_id
+clutter_scriptable_get_type
+clutter_scriptable_parse_custom_node
+clutter_scriptable_set_custom_property
+clutter_scriptable_set_id
+clutter_script_add_search_paths
+clutter_script_add_states
+clutter_script_connect_signals
+clutter_script_connect_signals_full
+clutter_script_ensure_objects
+clutter_script_error_get_type
+clutter_script_error_quark
+clutter_script_get_object
+clutter_script_get_objects
+clutter_script_get_states
+clutter_script_get_type
+clutter_script_get_type_from_name
+clutter_script_list_objects
+clutter_script_load_from_data
+clutter_script_load_from_file
+clutter_script_lookup_filename
+clutter_script_new
+clutter_script_unmerge_objects
+clutter_scroll_direction_get_type
+clutter_settings_get_default
+clutter_settings_get_type
+clutter_set_default_frame_rate
+clutter_set_font_flags
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_set_motion_events_enabled
+#endif
+
+clutter_shader_compile
+clutter_shader_effect_get_program
+clutter_shader_effect_get_shader
+clutter_shader_effect_get_type
+clutter_shader_effect_new
+clutter_shader_effect_set_shader_source
+clutter_shader_effect_set_uniform
+clutter_shader_effect_set_uniform_value
+clutter_shader_error_get_type
+clutter_shader_error_quark
+clutter_shader_float_get_type
+clutter_shader_get_cogl_fragment_shader
+clutter_shader_get_cogl_program
+clutter_shader_get_cogl_vertex_shader
+clutter_shader_get_fragment_source
+clutter_shader_get_is_enabled
+clutter_shader_get_type
+clutter_shader_get_vertex_source
+clutter_shader_int_get_type
+clutter_shader_is_compiled
+clutter_shader_matrix_get_type
+clutter_shader_new
+clutter_shader_release
+clutter_shader_set_fragment_source
+clutter_shader_set_is_enabled
+clutter_shader_set_uniform
+clutter_shader_set_vertex_source
+clutter_shader_type_get_type
+clutter_snap_constraint_get_edge
+clutter_snap_constraint_get_offset
+clutter_snap_constraint_get_source
+clutter_snap_constraint_get_type
+clutter_snap_constraint_new
+clutter_snap_constraint_set_edges
+clutter_snap_constraint_set_offset
+clutter_snap_constraint_set_source
+clutter_snap_edge_get_type
+clutter_stage_ensure_current
+clutter_stage_ensure_redraw
+clutter_stage_ensure_viewport
+clutter_stage_event
+clutter_stage_get_accept_focus
+clutter_stage_get_actor_at_pos
+clutter_stage_get_color
+clutter_stage_get_default
+clutter_stage_get_fog
+clutter_stage_get_fullscreen
+clutter_stage_get_key_focus
+clutter_stage_get_minimum_size
+clutter_stage_get_motion_events_enabled
+clutter_stage_get_no_clear_hint
+clutter_stage_get_perspective
+clutter_stage_get_throttle_motion_events
+clutter_stage_get_title
+clutter_stage_get_type
+clutter_stage_get_user_resizable
+clutter_stage_get_use_alpha
+clutter_stage_get_use_fog
+clutter_stage_hide_cursor
+clutter_stage_is_default
+clutter_stage_manager_get_default
+clutter_stage_manager_get_default_stage
+clutter_stage_manager_get_type
+clutter_stage_manager_list_stages
+clutter_stage_manager_peek_stages
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_stage_manager_set_default_stage
+#endif
+
+#ifdef HAVE_CLUTTER_EGL
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+#ifdef CLUTTER_EGL_BACKEND_CEX100
+clutter_cex100_set_buffering_mode
+#endif
+clutter_eglx_display
+clutter_egl_display
+#endif
+
+clutter_egl_get_egl_display
+#endif
+
+clutter_stage_new
+clutter_stage_queue_redraw
+clutter_stage_read_pixels
+clutter_stage_set_accept_focus
+clutter_stage_set_color
+clutter_stage_set_fog
+clutter_stage_set_fullscreen
+clutter_stage_set_key_focus
+clutter_stage_set_minimum_size
+clutter_stage_set_motion_events_enabled
+clutter_stage_set_no_clear_hint
+clutter_stage_set_perspective
+clutter_stage_set_throttle_motion_events
+clutter_stage_set_title
+clutter_stage_set_user_resizable
+clutter_stage_set_use_alpha
+clutter_stage_set_use_fog
+clutter_stage_state_get_type
+clutter_stage_show_cursor
+clutter_stage_window_get_type
+clutter_state_get_animator
+clutter_state_get_duration
+clutter_state_get_keys
+clutter_stage_get_redraw_clip_bounds 
+clutter_state_get_state
+clutter_state_get_states
+clutter_state_get_timeline
+clutter_state_get_type
+clutter_state_key_get_mode
+clutter_state_key_get_object
+clutter_state_key_get_post_delay
+clutter_state_key_get_pre_delay 
+clutter_state_key_get_property_name
+clutter_state_key_get_property_type
+clutter_state_key_get_source_state_name
+clutter_state_key_get_target_state_name
+clutter_state_key_get_type
+clutter_state_key_get_value
+clutter_state_new
+clutter_state_remove_key
+clutter_state_set
+clutter_state_set_animator
+clutter_state_set_duration
+clutter_state_set_key
+clutter_state_set_state
+clutter_state_warp_to_state
+clutter_static_color_get_type
+clutter_swipe_action_get_type
+clutter_swipe_action_new
+clutter_table_alignment_get_type
+clutter_table_layout_get_alignment
+clutter_table_layout_get_column_count
+clutter_table_layout_get_column_spacing
+clutter_table_layout_get_easing_duration
+clutter_table_layout_get_easing_mode
+clutter_table_layout_get_expand
+clutter_table_layout_get_fill
+clutter_table_layout_get_row_count
+clutter_table_layout_get_row_spacing
+clutter_table_layout_get_span
+clutter_table_layout_get_type
+clutter_table_layout_get_use_animations
+clutter_table_layout_new
+clutter_table_layout_pack
+clutter_table_layout_set_alignment
+clutter_table_layout_set_column_spacing
+clutter_table_layout_set_easing_duration
+clutter_table_layout_set_easing_mode
+clutter_table_layout_set_expand
+clutter_table_layout_set_fill
+clutter_table_layout_set_row_spacing
+clutter_table_layout_set_span
+clutter_table_layout_set_use_animations
+clutter_texture_get_base_size
+clutter_texture_get_cogl_texture
+clutter_texture_get_cogl_material
+clutter_texture_error_get_type
+clutter_texture_error_quark
+clutter_texture_flags_get_type
+clutter_texture_get_filter_quality
+clutter_texture_get_keep_aspect_ratio
+clutter_texture_get_load_async
+clutter_texture_get_load_data_async
+clutter_texture_get_max_tile_waste
+clutter_texture_get_pick_with_alpha
+clutter_texture_get_pixel_format
+clutter_texture_get_repeat
+clutter_texture_get_sync_size
+clutter_texture_get_type
+clutter_texture_new
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_texture_new_from_actor
+#endif
+
+clutter_texture_new_from_file
+clutter_texture_quality_get_type
+clutter_texture_set_area_from_rgb_data
+clutter_texture_set_cogl_material
+clutter_texture_set_cogl_texture
+clutter_texture_set_filter_quality
+clutter_texture_set_from_file
+clutter_texture_set_from_rgb_data
+clutter_texture_set_from_yuv_data
+clutter_texture_set_keep_aspect_ratio
+clutter_texture_set_load_async
+clutter_texture_set_load_data_async
+clutter_texture_set_pick_with_alpha
+clutter_texture_set_repeat
+clutter_texture_set_sync_size
+clutter_text_activate
+clutter_text_delete_chars
+clutter_text_delete_selection
+clutter_text_delete_text
+clutter_text_direction_get_type
+clutter_text_get_activatable
+clutter_text_get_attributes
+clutter_text_get_chars
+clutter_text_get_color
+clutter_text_get_cursor_color
+clutter_text_get_cursor_position
+clutter_text_get_cursor_size
+clutter_text_get_cursor_visible
+clutter_text_get_editable
+clutter_text_get_ellipsize
+clutter_text_get_font_description
+clutter_text_get_font_name
+clutter_text_get_justify
+clutter_text_get_line_alignment
+clutter_text_get_layout
+clutter_text_get_layout_offsets
+clutter_text_get_line_wrap
+clutter_text_get_line_wrap_mode
+clutter_text_get_max_length
+clutter_text_get_password_char
+clutter_text_get_selectable
+clutter_text_get_selected_text_color
+clutter_text_get_selection
+clutter_text_get_selection_bound
+clutter_text_get_selection_color
+clutter_text_get_single_line_mode
+clutter_text_get_text
+clutter_text_get_type
+clutter_text_get_use_markup
+clutter_text_insert_text
+clutter_text_insert_unichar
+clutter_text_new
+clutter_text_new_full
+clutter_text_new_with_text
+clutter_text_position_to_coords
+clutter_text_set_activatable
+clutter_text_set_attributes
+clutter_text_set_color
+clutter_text_set_cursor_color
+clutter_text_set_cursor_position
+clutter_text_set_cursor_size
+clutter_text_set_cursor_visible
+clutter_text_set_editable
+clutter_text_set_ellipsize
+clutter_text_set_font_description
+clutter_text_set_font_name
+clutter_text_set_justify
+clutter_text_set_line_alignment
+clutter_text_set_line_wrap
+clutter_text_set_line_wrap_mode
+clutter_text_set_markup
+clutter_text_set_max_length
+clutter_text_set_password_char
+clutter_text_set_preedit_string
+clutter_text_set_selectable
+clutter_text_set_selected_text_color
+clutter_text_set_selection
+clutter_text_set_selection_bound
+clutter_text_set_selection_color
+clutter_text_set_single_line_mode
+clutter_text_set_text
+clutter_text_set_use_markup
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_threads_add_frame_source
+clutter_threads_add_frame_source_full
+#endif
+
+clutter_threads_add_idle
+clutter_threads_add_idle_full
+clutter_threads_add_repaint_func
+clutter_threads_add_repaint_func
+clutter_threads_add_timeout
+clutter_threads_add_timeout_full
+clutter_threads_enter
+clutter_threads_init
+clutter_threads_leave
+clutter_threads_remove_repaint_func
+clutter_threads_set_lock_functions
+clutter_timeline_add_marker_at_time
+clutter_timeline_advance
+clutter_timeline_advance_to_marker
+clutter_timeline_new
+clutter_timeline_clone
+clutter_timeline_direction_get_type
+clutter_timeline_get_auto_reverse
+clutter_timeline_get_delay
+clutter_timeline_get_delta
+clutter_timeline_get_direction
+clutter_timeline_get_duration
+clutter_timeline_get_elapsed_time
+clutter_timeline_get_loop
+clutter_timeline_get_progress
+clutter_timeline_get_type
+clutter_timeline_has_marker
+clutter_timeline_is_playing
+clutter_timeline_list_markers
+clutter_timeline_pause
+clutter_timeline_remove_marker
+clutter_timeline_rewind
+clutter_timeline_set_auto_reverse
+clutter_timeline_set_delay
+clutter_timeline_set_direction
+clutter_timeline_set_duration
+clutter_timeline_set_loop
+clutter_timeline_skip
+clutter_timeline_start
+clutter_timeline_stop
+clutter_timeout_pool_add
+clutter_timeout_pool_new
+clutter_timeout_pool_remove
+clutter_ungrab_keyboard
+clutter_ungrab_pointer
+clutter_ungrab_pointer_for_device
+clutter_units_copy
+clutter_units_free
+clutter_units_from_cm
+clutter_units_from_em
+clutter_units_from_em_for_font
+clutter_units_from_mm
+clutter_units_from_pixels
+clutter_units_from_pt
+clutter_units_from_string
+clutter_units_get_type
+clutter_units_get_unit_type
+clutter_units_get_unit_value
+clutter_units_to_pixels
+clutter_units_to_string
+clutter_unit_type_get_type
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_util_next_p2
+#endif
+
+clutter_value_get_color
+clutter_value_get_fixed
+clutter_value_get_shader_float
+clutter_value_get_shader_int
+clutter_value_get_shader_matrix
+clutter_value_get_units
+clutter_value_set_color
+clutter_value_set_fixed
+clutter_value_set_shader_float
+clutter_value_set_shader_int
+clutter_value_set_shader_matrix
+clutter_value_set_units
+clutter_vertex_copy
+clutter_vertex_equal
+clutter_vertex_free
+clutter_vertex_get_type
+clutter_vertex_new
+
+#ifdef HAVE_CLUTTER_WAYLAND
+clutter_wayland_get_egl_display
+#endif
+
+#ifdef HAVE_CLUTTER_WIN32
+clutter_win32_disable_event_retrieval
+clutter_win32_get_stage_from_window
+clutter_win32_get_stage_window
+clutter_win32_set_stage_foreign
+clutter_win32_handle_event 
+#endif
+
+#ifdef HAVE_CLUTTER_X11
+clutter_x11_add_filter
+clutter_x11_disable_event_retrieval
+clutter_x11_enable_xinput
+clutter_x11_event_get_key_group
+clutter_x11_get_current_event_time
+clutter_x11_get_default_display
+clutter_x11_get_default_screen
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_x11_get_input_devices
+#endif
+
+clutter_x11_get_root_window
+clutter_x11_get_stage_from_window
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+clutter_x11_get_stage_visual
+#endif
+
+clutter_x11_get_stage_window
+clutter_x11_get_use_argb_visual
+clutter_x11_get_visual_info
+clutter_x11_handle_event
+clutter_x11_has_composite_extension
+clutter_x11_has_event_retrieval
+clutter_x11_has_xinput
+clutter_x11_remove_filter
+clutter_x11_set_use_argb_visual
+clutter_x11_set_display
+clutter_x11_set_stage_foreign
+clutter_x11_texture_pixmap_get_type
+clutter_x11_texture_pixmap_new
+clutter_x11_texture_pixmap_new_with_pixmap
+clutter_x11_texture_pixmap_new_with_window
+clutter_x11_texture_pixmap_set_automatic
+clutter_x11_texture_pixmap_set_pixmap
+clutter_x11_texture_pixmap_set_window
+clutter_x11_texture_pixmap_sync_window
+clutter_x11_texture_pixmap_update_area 
+clutter_x11_trap_x_errors
+clutter_x11_untrap_x_errors
+#endif
+
+#ifdef HAVE_CLUTTER_OSX
+_clutter_events_osx_init
+_clutter_event_osx_put
+_clutter_events_osx_uninit
+#endif
+
+#ifndef CLUTTER_NO_UNDERSCORE
+_clutter_shader_release_all
+_clutter_stage_window_add_redraw_clip
+_clutter_stage_window_get_active_framebuffer
+_clutter_stage_window_get_geometry
+_clutter_stage_window_get_pending_swaps
+_clutter_stage_window_get_wrapper
+_clutter_stage_window_has_redraw_clips
+_clutter_stage_window_hide
+_clutter_stage_window_ignoring_redraw_clips
+_clutter_stage_window_realize
+_clutter_stage_window_redraw
+_clutter_stage_window_resize
+_clutter_stage_window_set_accept_focus
+_clutter_stage_window_set_title
+_clutter_stage_window_set_cursor_visible
+_clutter_stage_window_set_fullscreen
+_clutter_stage_window_set_user_resizable
+_clutter_stage_window_show
+_clutter_stage_window_unrealize
+_clutter_timeline_do_tick
+#endif
\ No newline at end of file
diff --git a/config.h.win32.in b/config.h.win32.in
new file mode 100644
index 0000000..27b9129
--- /dev/null
+++ b/config.h.win32.in
@@ -0,0 +1,158 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Use CEX100 EGL backend */
+/*#undef CLUTTER_EGL_BACKEND_CEX100*/
+
+/* Use Generic EGL backend */
+/*#undef CLUTTER_EGL_BACKEND_GENERIC*/
+
+/* Built against the system Cogl library */
+/*#undef CLUTTER_USING_SYSTEM_COGL*/
+
+/* Can use Cogl 2.0 API internally */
+#define COGL_ENABLE_EXPERIMENTAL_2_0_API 1
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#define ENABLE_NLS 1
+
+/* The prefix for our gettext translation domains. */
+#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
+
+/* Define to 1 if you have the <CE4100/libgdl.h> header file. */
+/*#undef HAVE_CE4100_LIBGDL_H*/
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+   CoreFoundation framework. */
+/*#undef HAVE_CFLOCALECOPYCURRENT*/
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+/*#undef HAVE_CFPREFERENCESCOPYAPPVALUE*/
+
+/* Have the EGL backend */
+/*#undef HAVE_CLUTTER_EGL*/
+
+/* Have the GLX backend */
+/*#undef HAVE_CLUTTER_GLX*/
+
+/* Have the OSX backend */
+/*#undef HAVE_CLUTTER_OSX*/
+
+/* Have the Wayland backend */
+/*#undef HAVE_CLUTTER_WAYLAND*/
+
+/* Have the Win32 backend */
+#define HAVE_CLUTTER_WIN32 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#define HAVE_DCGETTEXT 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+/*#undef HAVE_DLFCN_H*/
+
+/* Have libdrm support */
+/*#undef HAVE_DRM*/
+
+/* Have evdev support for input handling */
+/*#undef HAVE_EVDEV*/
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define to 1 if you have the <GL/glx.h> header file. */
+/*#undef HAVE_GL_GLX_H*/
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+/*#undef HAVE_INTTYPES_H*/
+
+/* Define to 1 if you have the <libgdl.h> header file. */
+/*#undef HAVE_LIBGDL_H*/
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Supports PangoFt2 */
+/* #undef HAVE_PANGO_FT2 */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#if (_MSC_VER >= 1600)
+#define HAVE_STDINT_H 1
+#endif
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+/*#undef HAVE_STRINGS_H*/
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Have tslib for touchscreen handling */
+/*#undef HAVE_TSLIB*/
+
+/* Define to 1 if you have the <unistd.h> header file. */
+/*#undef HAVE_UNISTD_H*/
+
+/* Define to 1 if you have the <X11/extensions/XInput2.h> header file. */
+/*#undef HAVE_X11_EXTENSIONS_XINPUT2_H*/
+
+/* Define to 1 if we have the XCOMPOSITE X extension */
+/*#undef HAVE_XCOMPOSITE*/
+
+/* Define to 1 if we have the XDAMAGE X extension */
+/*#undef HAVE_XDAMAGE*/
+
+/* Define to 1 if we have the XEXT X extension */
+/*#undef HAVE_XEXT*/
+
+/* Define to 1 if we have the XFIXES X extension */
+/*#undef HAVE_XFIXES*/
+
+/* Define to 1 if XInput is available */
+/*#undef HAVE_XINPUT*/
+
+/* Define to 1 if XI2 is available */
+/*#undef HAVE_XINPUT_2*/
+
+/* Define to use XKB extension */
+/*#undef HAVE_XKB*/
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#define NO_MINUS_C_MINUS_O 1
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugzilla.gnome.org/enter_bug.cgi?product=clutter";
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "clutter"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "clutter @CLUTTER_VERSION@"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "clutter"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.clutter-project.org";
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "@CLUTTER_VERSION@"
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
diff --git a/configure.ac b/configure.ac
index e1545ca..fa60f3a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -958,16 +958,20 @@ dnl ===========================================================================
 
 AC_CONFIG_FILES([
 	Makefile
-
+	config.h.win32
         README
 
 	build/Makefile
 	build/autotools/Makefile
 	build/mingw/Makefile
+	build/win32/Makefile
+	build/win32/vs9/Makefile
+	build/win32/vs10/Makefile
 
 	clutter/Makefile
         clutter/clutter-config.h
 	clutter/clutter-version.h
+	clutter/clutter-version.h.win32
 	clutter/clutter-$CLUTTER_API_VERSION.pc:clutter/clutter.pc.in
 
 	clutter/cally/cally-$CLUTTER_API_VERSION.pc:clutter/cally/cally.pc.in
diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am
index 43c9295..f661a96 100644
--- a/tests/conform/Makefile.am
+++ b/tests/conform/Makefile.am
@@ -127,10 +127,13 @@ stamp-test-conformance: Makefile $(srcdir)/test-conform-main.c
 		echo "  GEN    $$unit"; \
 		( echo "#!/bin/sh" ; echo "$(abs_builddir)/test-launcher.sh '$$i' \"\$$ \"" ) > $$unit$(SHEXT) ; \
 		( echo "#!/bin/sh" ; echo "exec $(abs_builddir)/test-conformance$(EXEEXT) -p $$i \"\$$ \"" ) > wrappers/$$unit$(SHEXT) ; \
+		( echo "test-conformance$(EXEEXT) -p $$i" ) > $$unit.bat ; \
+		( echo "test-conformance$(EXEEXT) -p $$i" ) >> test-conformance.bat ; \
 		chmod +x $$unit$(SHEXT); \
 		chmod +x wrappers/$$unit$(SHEXT); \
 		echo "/$$unit$(SHEXT)" >> .gitignore; \
 	done \
+	&& cp *.bat $(top_srcdir)/build/win32/	\
 	&& echo timestamp > $(@F)
 
 clean-wrappers:
@@ -142,6 +145,8 @@ clean-wrappers:
 		rm -f wrappers/$$unit$(SHEXT) ; \
 	done \
 	&& rm -f unit-tests \
+	&& rm -f $(top_srcdir)/build/win32/*.bat \
+	&& rm -f *.bat \
 	&& rm -f stamp-test-conformance
 
 # NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting
@@ -284,6 +289,43 @@ HTML_REPORTS = \
 EXTRA_DIST = ADDING_NEW_TESTS test-launcher.sh.in run-tests.sh
 DISTCLEANFILES = test-launcher.sh .gitignore
 
+dist-hook: ../../build/win32/vs9/test-conformance.vcproj ../../build/win32/vs10/test-conformance.vcxproj ../../build/win32/vs10/test-conformance.vcxproj.filters
+
+../../build/win32/vs9/test-conformance.vcproj: $(top_srcdir)/build/win32/vs9/test-conformance.vcprojin
+	for F in $(test_conformance_SOURCES); do \
+		case $$F in \
+		*.c)	echo '   <File RelativePath="..\..\..\tests\conform\'$$F'" />' \
+			;; \
+		esac; \
+	done >testconformance.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/test-conformance.vcprojin >$@
+	rm testconformance.sourcefiles
+	
+../../build/win32/vs10/test-conformance.vcxproj: $(top_srcdir)/build/win32/vs10/test-conformance.vcxprojin
+	for F in $(test_conformance_SOURCES); do \
+		case $$F in \
+		*.c)	echo '    <ClCompile Include="..\..\..\tests\conform\'$$F'" />' \
+			;; \
+		esac; \
+	done >testconformance.vs10.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-conformance.vcxprojin >$@
+	rm testconformance.vs10.sourcefiles
+	
+../../build/win32/vs10/test-conformance.vcxproj.filters: $(top_srcdir)/build/win32/vs10/test-conformance.vcxproj.filtersin
+	for F in $(test_conformance_SOURCES); do \
+		case $$F in \
+		*.c)	echo '    <ClCompile Include="..\..\..\tests\conform\'$$F'"><Filter>Sources</Filter></ClCompile>' \
+			;; \
+		esac; \
+	done >testconformance.vs10.sourcefiles.filters
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-conformance.vcxproj.filtersin >$@
+	rm testconformance.vs10.sourcefiles.filters
+
+# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
+DISTCLEANFILES += ../../build/win32/vs9/test-conformance.vcproj	\
+		  ../../build/win32/vs10/test-conformance.vcxproj	\
+		  ../../build/win32/vs10/test-conformance.vcxproj.filters
+
 # we override the clean-generic target to clean up the wrappers so
 # we cannot use CLEANFILES
 clean-generic: clean-wrappers
diff --git a/tests/interactive/Makefile.am b/tests/interactive/Makefile.am
index 75da2ad..65ab1e8 100644
--- a/tests/interactive/Makefile.am
+++ b/tests/interactive/Makefile.am
@@ -72,7 +72,7 @@ SHEXT = $(EXEEXT)
 endif
 
 # For convenience, this provides a way to easily run individual unit tests:
-wrappers: stamp-test-interactive
+wrappers: stamp-test-interactive ../../build/win32/test-interactive.bat
 	@true
 stamp-test-interactive: Makefile test-interactive$(EXEEXT)
 	@wrapper=$(abs_builddir)/wrapper.sh ; \
@@ -93,6 +93,20 @@ stamp-test-interactive: Makefile test-interactive$(EXEEXT)
 	done \
 	&& echo timestamp > $(@F)
 
+../../build/win32/test-interactive.bat: Makefile test-interactive$(EXEEXT)
+	echo "  GEN    test-interactive.bat" ; \
+	for i in $(UNIT_TESTS); \
+	do \
+		case $$i in \
+		test-pixmap.c|test-devices.c) ;; \
+		*.c)	test_bin=$${i%*.c} \
+			;; \
+		esac; \
+		( echo "test-interactive $$test_bin" ) > $$test_bin.bat ; \
+		( echo "test-interactive $$test_bin" ) >> test-interactive.bat ; \
+	done \
+	&& cp *.bat $(top_srcdir)/build/win32/
+
 clean-wrappers:
 	@for i in $(UNIT_TESTS); \
 	do \
@@ -100,6 +114,8 @@ clean-wrappers:
 		echo "  RM    $$test_bin"; \
 		rm -f $$test_bin$(SHEXT); \
 	done \
+	&& rm -f $(top_srcdir)/build/win32/*.bat \
+	&& rm -f *.bat \
 	&& rm -f stamp-test-interactive
 
 .PHONY: wrappers clean-wrappers
@@ -130,4 +146,44 @@ DISTCLEANFILES = wrapper.sh .gitignore
 
 BUILT_SOURCES = wrappers
 
+dist-hook: ../../build/win32/vs9/test-interactive.vcproj ../../build/win32/vs10/test-interactive.vcxproj ../../build/win32/vs10/test-interactive.vcxproj.filters
+
+../../build/win32/vs9/test-interactive.vcproj: $(top_srcdir)/build/win32/vs9/test-interactive.vcprojin
+	for F in $(test_interactive_SOURCES); do \
+		case $$F in \
+		test-pixmap.c|test-devices.c) ;; \
+		*.c)	echo '   <File RelativePath="..\..\..\tests\interactive\'$$F'" />' \
+			;; \
+		esac; \
+	done >testinteractive.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/test-interactive.vcprojin >$@
+	rm testinteractive.sourcefiles
+	
+../../build/win32/vs10/test-interactive.vcxproj: $(top_srcdir)/build/win32/vs10/test-interactive.vcxprojin
+	for F in $(test_interactive_SOURCES); do \
+		case $$F in \
+		test-pixmap.c|test-devices.c) ;; \
+		*.c)	echo '    <ClCompile Include="..\..\..\tests\interactive\'$$F'" />' \
+			;; \
+		esac; \
+	done >testinteractive.vs10.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-interactive.vcxprojin >$@
+	rm testinteractive.vs10.sourcefiles
+	
+../../build/win32/vs10/test-interactive.vcxproj.filters: $(top_srcdir)/build/win32/vs10/test-interactive.vcxproj.filtersin
+	for F in $(test_interactive_SOURCES); do \
+		case $$F in \
+		test-pixmap.c|test-devices.c) ;; \
+		*.c)	echo '    <ClCompile Include="..\..\..\tests\interactive\'$$F'"><Filter>Sources</Filter></ClCompile>' \
+			;; \
+		esac; \
+	done >testinteractive.vs10.sourcefiles.filters
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-interactive.vcxproj.filtersin >$@
+	rm testinteractive.vs10.sourcefiles.filters
+
+# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
+DISTCLEANFILES += ../../build/win32/vs9/test-interactive.vcproj	\
+		  ../../build/win32/vs10/test-interactive.vcxproj	\
+		  ../../build/win32/vs10/test-interactive.vcxproj.filters
+
 clean-local: clean-wrappers
diff --git a/tests/micro-bench/test-picking.c b/tests/micro-bench/test-picking.c
index f661729..3425afa 100644
--- a/tests/micro-bench/test-picking.c
+++ b/tests/micro-bench/test-picking.c
@@ -39,9 +39,9 @@ do_events (ClutterActor *stage)
 
   for (i = 0; i < n_events; i++)
     {
-      angle += (2.0 * M_PI) / (gdouble)n_actors;
-      while (angle > M_PI * 2.0)
-        angle -= M_PI * 2.0;
+      angle += (2.0 * G_PI) / (gdouble)n_actors;
+      while (angle > G_PI * 2.0)
+        angle -= G_PI * 2.0;
 
       /* If we synthesized events, they would be motion compressed;
        * calling get_actor_at_position() doesn't have that problem
@@ -99,7 +99,7 @@ main (int argc, char **argv)
 
   for (i = n_actors - 1; i >= 0; i--)
     {
-      angle = ((2.0 * M_PI) / (gdouble) n_actors) * i;
+      angle = ((2.0 * G_PI) / (gdouble) n_actors) * i;
 
       color.red = (1.0 - ABS ((MAX (0, MIN (n_actors/2.0 + 0, i))) /
                   (gdouble)(n_actors/4.0) - 1.0)) * 255.0;



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