[clutter/clutter-1.10] Visual C++ support: Add support to build GDK backend



commit cc37001b4e4ad971a88a71d3c529f295ff47d447
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Mon May 14 16:18:13 2012 +0800

    Visual C++ support: Add support to build GDK backend
    
    -Add configuration in Clutter projects to add option to build Clutter with
     the GDK3 backend in addition to the Win32 backend
    -Add another preconfigured clutter-config.h.win32_GDK which contains
     backend configs for both GDK3 and Win32 windowing and input.
    
    (Cherry-picked from commit 37e9215521a26e51c87fcafdc183633ee3227b60)
    (Cherry-picked from commit ee72d9b4af62d91dc16f853ff8165bba20169f52)

 build/win32/vs10/clutter.props             |   47 +++++-
 build/win32/vs10/clutter.sln               |  174 ++++++++++++++++++++++-
 build/win32/vs10/clutter.vcxproj.filtersin |    6 +
 build/win32/vs10/clutter.vcxprojin         |  222 +++++++++++++++++++++++++++-
 build/win32/vs9/clutter.sln                |  173 +++++++++++++++++++++-
 build/win32/vs9/clutter.vcprojin           |  206 +++++++++++++++++++++++++-
 build/win32/vs9/clutter.vsprops            |   33 ++++-
 clutter/Makefile.am                        |    1 +
 clutter/clutter-config.h.win32_GDK         |   20 +++
 9 files changed, 858 insertions(+), 24 deletions(-)
---
diff --git a/build/win32/vs10/clutter.props b/build/win32/vs10/clutter.props
index 7d88466..08f9f5c 100644
--- a/build/win32/vs10/clutter.props
+++ b/build/win32/vs10/clutter.props
@@ -16,21 +16,41 @@
     <CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir";$(ClutterDisableDeprecationWarnings)</CallyTestDefs>
     <TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ClutterApiVersion)/data"</TestProgDef>
     <TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ClutterApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
-    <PreBuildCmd>
+    <PreBuildWin>
 if exist ..\..\..\config.h goto DONE_CONFIG_H
 
 copy ..\..\..\config.h.win32 ..\..\..\config.h
 
 :DONE_CONFIG_H
 
+if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H
 
-if exist ..\..\..\clutter\clutter-config.h goto DONE_CLUTTER_CONFIG_H
+del clutter.bld.*.win32
+
+copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32
 
 copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h
 
 :DONE_CLUTTER_CONFIG_H
+    </PreBuildWin>
+    <PreBuildGDK>
+if exist ..\..\..\config.h goto DONE_CONFIG_H
+
+copy ..\..\..\config.h.win32 ..\..\..\config.h
+
+:DONE_CONFIG_H
+
+if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H
+
+del clutter.bld.*.win32
 
+copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32
 
+copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h
+
+:DONE_CLUTTER_CONFIG_H
+    </PreBuildGDK>
+    <PreBuildCmd2>
 if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H
 
 cd ..\..\..\clutter
@@ -61,7 +81,7 @@ gen-enums.bat $(GlibEtcInstallRoot)
 
 cd .\vs10
 
-</PreBuildCmd>
+</PreBuildCmd2>
     <ClutterDoInstall>
 mkdir $(CopyDir)
 
@@ -352,7 +372,13 @@ copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApi
 
          cl -EP -DHAVE_CAIRO -DCLUTTER_WINDOWING_WIN32 -DCLUTTER_ENABLE_EXPERIMENTAL_API ..\..\..\clutter\clutter.symbols &gt;&gt; ..\..\..\clutter\clutter.def
 
-     </GenerateClutterDef>
+    </GenerateClutterDef>
+    <GenerateClutterGDKDef>
+         echo EXPORTS &gt; ..\..\..\clutter\clutter.def
+
+         cl -EP -DHAVE_CAIRO -DCLUTTER_WINDOWING_WIN32 -DCLUTTER_WINDOWING_GDK -DCLUTTER_ENABLE_EXPERIMENTAL_API ..\..\..\clutter\clutter.symbols &gt;&gt; ..\..\..\clutter\clutter.def
+
+    </GenerateClutterGDKDef>
     <ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix>
     <ClutterLibtoolCompatibleDllSuffix>-$(ClutterApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
     <ClutterSeparateVS10DllPrefix />
@@ -420,8 +446,14 @@ copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApi
     <BuildMacro Include="TestPerfProgDef">
       <Value>$(TestPerfProgDef)</Value>
     </BuildMacro>
-    <BuildMacro Include="PreBuildCmd">
-      <Value>$(PreBuildCmd)</Value>
+    <BuildMacro Include="PreBuildGDK">
+      <Value>$(PreBuildGDK)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PreBuildWin">
+      <Value>$(PreBuildWin)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PreBuildCmd2">
+      <Value>$(PreBuildCmd2)</Value>
     </BuildMacro>
     <BuildMacro Include="ClutterDoInstall">
       <Value>$(ClutterDoInstall)</Value>
@@ -429,6 +461,9 @@ copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApi
     <BuildMacro Include="GenerateClutterDef">
       <Value>$(GenerateClutterDef)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenerateClutterGDKDef">
+      <Value>$(GenerateClutterGDKDef)</Value>
+    </BuildMacro>
     <BuildMacro Include="ClutterLibtoolCompatibleDllPrefix">
       <Value>$(ClutterLibtoolCompatibleDllPrefix)</Value>
     </BuildMacro>
diff --git a/build/win32/vs10/clutter.sln b/build/win32/vs10/clutter.sln
index 43fc59c..cd43c6c 100644
--- a/build/win32/vs10/clutter.sln
+++ b/build/win32/vs10/clutter.sln
@@ -1,6 +1,6 @@
 ï
 Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
+# Visual Studio 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}"
@@ -45,176 +45,348 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug_GDK|Win32 = Debug_GDK|Win32
+		Debug_GDK|x64 = Debug_GDK|x64
 		Debug|Win32 = Debug|Win32
 		Debug|x64 = Debug|x64
+		Release_GDK|Win32 = Release_GDK|Win32
+		Release_GDK|x64 = Release_GDK|x64
 		Release|Win32 = Release|Win32
 		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
 		{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_GDK|Win32.ActiveCfg = Release_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|x64.ActiveCfg = Release|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|Win32.Build.0 = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|x64.ActiveCfg = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|Win32.Build.0 = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|x64.ActiveCfg = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|Win32.Build.0 = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|x64.ActiveCfg = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|x64.Build.0 = Release|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
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|x64.Build.0 = Debug|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|Win32.ActiveCfg = Debug|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|Win32.Build.0 = Debug|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|x64.ActiveCfg = Debug|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|x64.Build.0 = Debug|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|x64.Build.0 = Release|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|Win32.ActiveCfg = Release|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|Win32.Build.0 = Release|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|x64.ActiveCfg = Release|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|x64.Build.0 = Release|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|x64.Build.0 = Debug|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|Win32.Build.0 = Debug|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|x64.ActiveCfg = Debug|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|x64.Build.0 = Debug|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|x64.Build.0 = Release|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|Win32.ActiveCfg = Release|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|Win32.Build.0 = Release|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|x64.ActiveCfg = Release|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|x64.Build.0 = Release|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|x64.Build.0 = Debug|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|Win32.ActiveCfg = Debug|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|Win32.Build.0 = Debug|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|x64.ActiveCfg = Debug|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|x64.Build.0 = Debug|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|Win32.Build.0 = Release|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|x64.ActiveCfg = Release|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|x64.Build.0 = Release|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|Win32.ActiveCfg = Release|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|Win32.Build.0 = Release|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|x64.ActiveCfg = Release|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|x64.Build.0 = Release|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|x64.Build.0 = Debug|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|Win32.ActiveCfg = Debug|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|Win32.Build.0 = Debug|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|x64.ActiveCfg = Debug|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|x64.Build.0 = Debug|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|Win32.Build.0 = Release|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|x64.ActiveCfg = Release|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|x64.Build.0 = Release|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|Win32.ActiveCfg = Release|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|Win32.Build.0 = Release|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|x64.ActiveCfg = Release|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|x64.Build.0 = Release|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|x64.Build.0 = Debug|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|Win32.ActiveCfg = Debug|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|Win32.Build.0 = Debug|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|x64.ActiveCfg = Debug|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|x64.Build.0 = Debug|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|x64.Build.0 = Release|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|Win32.ActiveCfg = Release|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|Win32.Build.0 = Release|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|x64.ActiveCfg = Release|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|x64.Build.0 = Release|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|x64.Build.0 = Debug|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|Win32.ActiveCfg = Debug|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|Win32.Build.0 = Debug|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|x64.ActiveCfg = Debug|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|x64.Build.0 = Debug|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|Win32.Build.0 = Release|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|x64.ActiveCfg = Release|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|x64.Build.0 = Release|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|Win32.ActiveCfg = Release|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|Win32.Build.0 = Release|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|x64.ActiveCfg = Release|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|x64.Build.0 = Release|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|x64.Build.0 = Debug|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|Win32.ActiveCfg = Debug|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|Win32.Build.0 = Debug|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|x64.ActiveCfg = Debug|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|x64.Build.0 = Debug|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|x64.Build.0 = Release|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|Win32.ActiveCfg = Release|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|Win32.Build.0 = Release|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|x64.ActiveCfg = Release|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|x64.Build.0 = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|Win32.Build.0 = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|x64.ActiveCfg = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|Win32.Build.0 = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|x64.ActiveCfg = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|Win32.Build.0 = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|x64.ActiveCfg = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|Win32.Build.0 = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|x64.ActiveCfg = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|x64.Build.0 = Release|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_GDK|Win32.ActiveCfg = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|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_GDK|Win32.ActiveCfg = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|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
diff --git a/build/win32/vs10/clutter.vcxproj.filtersin b/build/win32/vs10/clutter.vcxproj.filtersin
index 3d7323e..bb25d10 100644
--- a/build/win32/vs10/clutter.vcxproj.filtersin
+++ b/build/win32/vs10/clutter.vcxproj.filtersin
@@ -16,6 +16,12 @@
   </ItemGroup>
   <ItemGroup>
 #include "clutter.vs10.sourcefiles.filters"
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-backend-gdk.c"><Filter>Sources</Filter></ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-device-manager-gdk.c"><Filter>Sources</Filter></ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-input-device-gdk.c"><Filter>Sources</Filter></ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-event-gdk.c"><Filter>Sources</Filter></ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-stage-gdk.c"><Filter>Sources</Filter></ClCompile>
+    <ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c"><Filter>Sources</Filter></ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\..\clutter\win32\resources.rc">
diff --git a/build/win32/vs10/clutter.vcxprojin b/build/win32/vs10/clutter.vcxprojin
index c66b963..733251c 100644
--- a/build/win32/vs10/clutter.vcxprojin
+++ b/build/win32/vs10/clutter.vcxprojin
@@ -5,18 +5,34 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_GDK|Win32">
+      <Configuration>Debug_GDK</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Debug|x64">
       <Configuration>Debug</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_GDK|x64">
+      <Configuration>Debug_GDK</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_GDK|Win32">
+      <Configuration>Release_GDK</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|x64">
       <Configuration>Release</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_GDK|x64">
+      <Configuration>Release_GDK</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{EA036190-0950-4640-84F9-D459A33B33A8}</ProjectGuid>
@@ -26,21 +42,38 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)_GDK|$(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>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -48,28 +81,52 @@
     <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_GDK|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)'=='Debug_GDK|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)'=='Release_GDK|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>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|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_GDK|Win32'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Debug\$(Platform)\bin\</OutDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Debug\$(Platform)\bin\</OutDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Release\$(Platform)\bin\</OutDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">true</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Release\$(Platform)\bin\</OutDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <PreBuildEvent>
-      <Command>$(PreBuildCmd)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -96,9 +153,38 @@
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
+    <PreBuildEvent>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;%(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>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-win32-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <PreBuildEvent>
-      <Command>$(PreBuildCmd)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -125,9 +211,38 @@
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
+    <PreBuildEvent>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;%(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>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-win32-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <PreBuildEvent>
-      <Command>$(PreBuildCmd)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
@@ -156,9 +271,40 @@
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
+    <PreBuildEvent>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ReleaseLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-win32-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(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>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -184,8 +330,72 @@
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
+    <PreBuildEvent>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
+    </PreBuildEvent>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ReleaseLibBuildDefines);$(ClutterBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
+    <Link>
+      <AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-win32-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
+      <ModuleDefinitionFile>..\..\..\clutter\clutter.def</ModuleDefinitionFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(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"
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-backend-gdk.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-device-manager-gdk.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-input-device-gdk.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-event-gdk.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\..\..\clutter\gdk\clutter-stage-gdk.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
+    <ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\..\clutter\win32\resources.rc" />
diff --git a/build/win32/vs9/clutter.sln b/build/win32/vs9/clutter.sln
index 23b59f2..f7fad3b 100644
--- a/build/win32/vs9/clutter.sln
+++ b/build/win32/vs9/clutter.sln
@@ -125,9 +125,13 @@ EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
+		Debug_GDK|Win32 = Debug_GDK|Win32
 		Release|Win32 = Release|Win32
+		Release_GDK|Win32 = Release_GDK|Win32
 		Debug|x64 = Debug|x64
+		Debug_GDK|x64 = Debug_GDK|x64
 		Release|x64 = Release|x64
+		Release_GDK|x64 = Release_GDK|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -138,6 +142,14 @@ Global
 		{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
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|Win32.ActiveCfg = Release_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
+		{EA036190-0950-4640-84F9-D459A33B33A8}.Release_GDK|x64.Build.0 = Release_GDK|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
@@ -146,6 +158,14 @@ Global
 		{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
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|Win32.Build.0 = Release|Win32
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Debug_GDK|x64.Build.0 = Debug|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|x64.ActiveCfg = Release|x64
+		{F433DB3C-1223-489A-AD0C-C64B09F51139}.Release_GDK|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
@@ -154,6 +174,14 @@ Global
 		{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
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Debug_GDK|x64.Build.0 = Debug|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0DA94D83-B64E-40AC-8074-96C2416BBBE8}.Release_GDK|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
@@ -162,6 +190,14 @@ Global
 		{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
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|Win32.Build.0 = Release|Win32
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Debug_GDK|x64.Build.0 = Debug|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|x64.ActiveCfg = Release|x64
+		{B8849C58-6773-453C-A2E5-00F02EE20B18}.Release_GDK|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
@@ -170,6 +206,14 @@ Global
 		{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
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|Win32.Build.0 = Release|Win32
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Debug_GDK|x64.Build.0 = Debug|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|x64.ActiveCfg = Release|x64
+		{B0A69C4A-4E54-45E8-B7E4-B8B2D49E30FC}.Release_GDK|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
@@ -177,7 +221,14 @@ Global
 		{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
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Debug_GDK|x64.Build.0 = Debug|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{F072974F-6675-4A79-96FF-0B0DEB113AA4}.Release_GDK|x64.Build.0 = Release|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|Win32.ActiveCfg = Debug|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|Win32.Build.0 = Debug|Win32
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|Win32.ActiveCfg = Release|Win32
@@ -186,6 +237,14 @@ Global
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug|x64.Build.0 = Debug|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|x64.ActiveCfg = Release|x64
 		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release|x64.Build.0 = Release|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Debug_GDK|x64.Build.0 = Debug|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{8AF1EA8E-305B-42C0-919D-12B1843B21A4}.Release_GDK|x64.Build.0 = Release|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|Win32.ActiveCfg = Debug|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|Win32.Build.0 = Debug|Win32
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|Win32.ActiveCfg = Release|Win32
@@ -194,6 +253,14 @@ Global
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug|x64.Build.0 = Debug|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|x64.ActiveCfg = Release|x64
 		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release|x64.Build.0 = Release|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Debug_GDK|x64.Build.0 = Debug|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0C1E8E6C-1563-4F95-A994-6366EE992CB3}.Release_GDK|x64.Build.0 = Release|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|Win32.ActiveCfg = Debug|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|Win32.Build.0 = Debug|Win32
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|Win32.ActiveCfg = Release|Win32
@@ -202,6 +269,14 @@ Global
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug|x64.Build.0 = Debug|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|x64.ActiveCfg = Release|x64
 		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release|x64.Build.0 = Release|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|Win32.Build.0 = Release|Win32
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Debug_GDK|x64.Build.0 = Debug|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|x64.ActiveCfg = Release|x64
+		{D4A09850-E35B-4124-A9FF-784AB5BBCD2C}.Release_GDK|x64.Build.0 = Release|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|Win32.ActiveCfg = Debug|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|Win32.Build.0 = Debug|Win32
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|Win32.ActiveCfg = Release|Win32
@@ -210,6 +285,14 @@ Global
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug|x64.Build.0 = Debug|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|x64.ActiveCfg = Release|x64
 		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release|x64.Build.0 = Release|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|Win32.Build.0 = Release|Win32
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Debug_GDK|x64.Build.0 = Debug|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|x64.ActiveCfg = Release|x64
+		{011F9197-F986-44BD-A8F2-045C746B1B70}.Release_GDK|x64.Build.0 = Release|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|Win32.ActiveCfg = Debug|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|Win32.Build.0 = Debug|Win32
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|Win32.ActiveCfg = Release|Win32
@@ -218,6 +301,14 @@ Global
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug|x64.Build.0 = Debug|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|x64.ActiveCfg = Release|x64
 		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release|x64.Build.0 = Release|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Debug_GDK|x64.Build.0 = Debug|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2D60135E-2E37-4F54-A1C5-43BCD5BBBA4F}.Release_GDK|x64.Build.0 = Release|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|Win32.ActiveCfg = Debug|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|Win32.Build.0 = Debug|Win32
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|Win32.ActiveCfg = Release|Win32
@@ -226,6 +317,14 @@ Global
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug|x64.Build.0 = Debug|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|x64.ActiveCfg = Release|x64
 		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release|x64.Build.0 = Release|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|Win32.Build.0 = Release|Win32
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Debug_GDK|x64.Build.0 = Debug|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|x64.ActiveCfg = Release|x64
+		{BEE86058-B4BF-4AA5-91BF-E3620538ED5E}.Release_GDK|x64.Build.0 = Release|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|Win32.ActiveCfg = Debug|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|Win32.Build.0 = Debug|Win32
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|Win32.ActiveCfg = Release|Win32
@@ -234,6 +333,14 @@ Global
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug|x64.Build.0 = Debug|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|x64.ActiveCfg = Release|x64
 		{2035D56A-E748-475F-B3D5-C123BF652143}.Release|x64.Build.0 = Release|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Debug_GDK|x64.Build.0 = Debug|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2035D56A-E748-475F-B3D5-C123BF652143}.Release_GDK|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
@@ -242,6 +349,14 @@ Global
 		{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
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|Win32.Build.0 = Release|Win32
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Debug_GDK|x64.Build.0 = Debug|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|x64.ActiveCfg = Release|x64
+		{27BA2900-A28A-4869-B16D-FBE581A12402}.Release_GDK|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
@@ -250,6 +365,14 @@ Global
 		{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
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|Win32.Build.0 = Release|Win32
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Debug_GDK|x64.Build.0 = Debug|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|x64.ActiveCfg = Release|x64
+		{4B2C0EE0-F1BD-499C-ACAD-260CF14C352E}.Release_GDK|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
@@ -258,6 +381,14 @@ Global
 		{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
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|Win32.Build.0 = Release|Win32
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Debug_GDK|x64.Build.0 = Debug|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|x64.ActiveCfg = Release|x64
+		{2D1AD595-270B-4B38-9475-A269E225C10C}.Release_GDK|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
@@ -266,6 +397,14 @@ Global
 		{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
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|Win32.Build.0 = Release|Win32
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Debug_GDK|x64.Build.0 = Debug|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|x64.ActiveCfg = Release|x64
+		{C8EC4CE0-9C6A-4733-A0DD-477689FAF5F4}.Release_GDK|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
@@ -274,6 +413,14 @@ Global
 		{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
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|Win32.Build.0 = Release|Win32
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Debug_GDK|x64.Build.0 = Debug|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|x64.ActiveCfg = Release|x64
+		{E77D40D0-19D4-4865-BE20-B6DA05BA234D}.Release_GDK|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
@@ -282,6 +429,14 @@ Global
 		{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
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|Win32.Build.0 = Release|Win32
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Debug_GDK|x64.Build.0 = Debug|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|x64.ActiveCfg = Release|x64
+		{0F08F253-DE1A-40CB-A890-93AE3CA23ADE}.Release_GDK|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
@@ -290,6 +445,14 @@ Global
 		{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
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|Win32.Build.0 = Release|Win32
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Debug_GDK|x64.Build.0 = Debug|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|x64.ActiveCfg = Release|x64
+		{75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release_GDK|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
@@ -298,6 +461,14 @@ Global
 		{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
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
+		{35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/build/win32/vs9/clutter.vcprojin b/build/win32/vs9/clutter.vcprojin
index 3174d77..9fe92e5 100644
--- a/build/win32/vs9/clutter.vcprojin
+++ b/build/win32/vs9/clutter.vcprojin
@@ -23,11 +23,11 @@
 			Name="Debug|Win32"
 			InheritedPropertySheets=".\clutter.vsprops"
 			ConfigurationType="2"
-			CharacterSet="1"
+			CharacterSet="2"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="$(PreBuildCmd)"
+				CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
@@ -58,6 +58,45 @@
 			/>
 		</Configuration>
 		<Configuration
+			Name="Debug_GDK|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(SolutionDir)\Debug\$(PlatformName)\bin"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0"
+				PreprocessorDefinitions="$(DebugLibBuildDefines);$(ClutterBuildDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterGDKDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib gdk-win32-3.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib gio-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
 			Name="Debug|x64"
 			InheritedPropertySheets=".\clutter.vsprops"
 			ConfigurationType="2"
@@ -65,7 +104,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="$(PreBuildCmd)"
+				CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
@@ -96,15 +135,54 @@
 			/>
 		</Configuration>
 		<Configuration
+			Name="Debug_GDK|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(SolutionDir)\Debug\$(PlatformName)\bin"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0"
+				PreprocessorDefinitions="$(DebugLibBuildDefines);$(ClutterBuildDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterGDKDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib gdk-win32-3.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib gio-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
 			Name="Release|Win32"
 			InheritedPropertySheets=".\clutter.vsprops"
 			ConfigurationType="2"
-			CharacterSet="1"
+			CharacterSet="2"
 			WholeProgramOptimization="1"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="$(PreBuildCmd)"
+				CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
@@ -137,6 +215,48 @@
 			/>
 		</Configuration>
 		<Configuration
+			Name="Release_GDK|Win32"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(SolutionDir)\Release\$(PlatformName)\bin"
+			ConfigurationType="2"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0"
+				PreprocessorDefinitions="$(ReleaseLibBuildDefines);$(ClutterBuildDefines)"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterGDKDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib gdk-win32-3.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib gio-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
+				LinkIncremental="1"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
 			Name="Release|x64"
 			InheritedPropertySheets=".\clutter.vsprops"
 			ConfigurationType="2"
@@ -144,7 +264,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="$(PreBuildCmd)"
+				CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
@@ -173,6 +293,44 @@
 				TargetMachine="17"
 			/>
 		</Configuration>
+		<Configuration
+			Name="Release_GDK|x64"
+			InheritedPropertySheets=".\clutter.vsprops"
+			OutputDirectory="$(SolutionDir)\Release\$(PlatformName)\bin"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0"
+				PreprocessorDefinitions="$(ReleaseLibBuildDefines);$(ClutterBuildDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+				CommandLine="$(GenerateClutterGDKDef)"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="opengl32.lib winmm.lib intl.lib json-glib-1.0.lib gdk-win32-3.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib atk-1.0.lib gmodule-2.0.lib gio-2.0.lib"
+				OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\clutter\clutter.def"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="17"
+			/>
+		</Configuration>
 	</Configurations>
 	<References>
 	</References>
@@ -182,6 +340,42 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 #include "clutter.sourcefiles"
+			<File RelativePath="..\..\..\clutter\gdk\clutter-backend-gdk.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
+			<File RelativePath="..\..\..\clutter\gdk\clutter-device-manager-gdk.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
+			<File RelativePath="..\..\..\clutter\gdk\clutter-input-device-gdk.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
+			<File RelativePath="..\..\..\clutter\gdk\clutter-event-gdk.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
+			<File RelativePath="..\..\..\clutter\gdk\clutter-stage-gdk.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
+			<File RelativePath="..\..\..\clutter\cogl\clutter-stage-cogl.c" >
+				<FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+				<FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool Name="VCCLCompilerTool" /></FileConfiguration>
+			</File>
 		</Filter>
 		<Filter Name="Headers"
 			Filter="h;hpp;hxx;hm;inl;inc;xsd"
diff --git a/build/win32/vs9/clutter.vsprops b/build/win32/vs9/clutter.vsprops
index b5c5921..a3c487f 100644
--- a/build/win32/vs9/clutter.vsprops
+++ b/build/win32/vs9/clutter.vsprops
@@ -75,16 +75,34 @@
 		Value="$(BaseBuildDef);TESTS_DATA_DIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;;$(ClutterDisableDeprecationWarnings)"
 	/>
 	<UserMacro
-		Name="PreBuildCmd"
+		Name="PreBuildWin"
 		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;
+if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+del clutter.bld.*.win32&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32&#x0D;&#x0A;
 copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
 :DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
-
+			  "
+	/>
+	<UserMacro
+		Name="PreBuildGDK"
+		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.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+del clutter.bld.*.win32&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
+:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+			  "
+	/>
+	<UserMacro
+		Name="PreBuildCmd2"
+		Value="
 if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
 cd ..\..\..\clutter&#x0D;&#x0A;
 $(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; clutter-marshal.h&#x0D;&#x0A;
@@ -261,6 +279,13 @@ copy ..\..\..\clutter\cally\cally-util.h $(OutDir)\include\clutter-$(ClutterApiV
 			  "
 	/>
 	<UserMacro
+		Name="GenerateClutterGDKDef"
+		Value="
+		       echo EXPORTS &gt; ..\..\..\clutter\clutter.def&#x0D;&#x0A;
+			   cl -EP -DHAVE_CAIRO -DCLUTTER_WINDOWING_WIN32 -DCLUTTER_WINDOWING_GDK -DCLUTTER_ENABLE_EXPERIMENTAL_API ..\..\..\clutter\clutter.symbols &gt;&gt; ..\..\..\clutter\clutter.def&#x0D;&#x0A;
+			  "
+	/>
+	<UserMacro
 		Name="ClutterLibtoolCompatibleDllPrefix"
 		Value="lib"
 	/>
diff --git a/clutter/Makefile.am b/clutter/Makefile.am
index ed29129..413950c 100644
--- a/clutter/Makefile.am
+++ b/clutter/Makefile.am
@@ -902,6 +902,7 @@ clutter.vsenums_c:
 
 EXTRA_DIST += \
 	clutter-config.h.win32	\
+	clutter-config.h.win32_GDK	\
 	clutter.symbols	\
 	$(NULL)
 
diff --git a/clutter/clutter-config.h.win32_GDK b/clutter/clutter-config.h.win32_GDK
new file mode 100644
index 0000000..b9ddcdb
--- /dev/null
+++ b/clutter/clutter-config.h.win32_GDK
@@ -0,0 +1,20 @@
+#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 "win32"
+#define CLUTTER_INPUT_WIN32 "win32"
+#define CLUTTER_WINDOWING_GDK "gdk"
+#define CLUTTER_INPUT_GDK "gdk"
+#define CLUTTER_INPUT_NULL "null"
+
+G_END_DECLS
+
+#endif /* __CLUTTER_CONFIG_H__ */



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