[gtk/msvc-project-improvements] Visual Studio projects: Improve generating libgtk sources




commit 1de55a33d7872f3c2f8efb42767e06af791659e0
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Thu Dec 23 15:19:10 2021 +0800

    Visual Studio projects: Improve generating libgtk sources
    
    This improves the source generating process by:
    
    *  Generating the sources in the libgtk build directory, so that we do not
       pollute the source tree.
    *  Support generating gtk[private]typebuiltins.[c|h] in the Visual Studio
       projects by using NMake internally.
    *  Update the projects and the introspection build files so that the generated
       sources and headers can be found.

 gtk/Makefile.am                      |  12 ++--
 win32/create-lists-msvc.mak          |  35 +++++++++++
 win32/generate-msvc.mak              | 114 ++++++++++++++++++++++++-----------
 win32/vs10/gailutil-3.vcxprojin      |   8 +--
 win32/vs10/gtk-3.vcxproj.filtersin   |   4 +-
 win32/vs10/gtk-3.vcxprojin           |  17 ++++--
 win32/vs10/gtk3-build-defines.props  |  10 ++-
 win32/vs10/gtk3-demo.vcxprojin       |   8 +--
 win32/vs10/gtk3-install.propsin      |   6 +-
 win32/vs9/gailutil-3.vcprojin        |   8 +--
 win32/vs9/gtk-3.vcprojin             |  66 ++++++++++++++++++--
 win32/vs9/gtk3-build-defines.vsprops |   8 +++
 win32/vs9/gtk3-demo.vcprojin         |   8 +--
 win32/vs9/gtk3-install.vspropsin     |   7 ++-
 14 files changed, 231 insertions(+), 80 deletions(-)
---
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 78280fa2c2..fc4067255f 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1287,9 +1287,7 @@ MSVCPROJS = gtk-3
 gtk_3_FILES = \
        $(gtk_base_c_sources)           \
        $(gtk_os_win32_c_sources)       \
-       $(gtk_use_win32_c_sources)      \
-       $(gtk_dbus_built_sources)       \
-       $(gtk_built_sources)
+       $(gtk_use_win32_c_sources)
 
 gtk_3_EXCLUDES = dummy
 gtk_3_HEADERS_DIR = $(gtkincludedir)
@@ -1299,7 +1297,7 @@ gtk_3_HEADERS_INST = \
        $(a11y_h_sources)       \
        $(gtk_deprecated_h_sources)
 
-gtk_3_HEADERS_EXCLUDES = dummy
+gtk_3_HEADERS_EXCLUDES = gtktypebuiltins.h
 
 include $(top_srcdir)/win32/Makefile.msvcproj
 
@@ -1336,11 +1334,9 @@ INTROSPECTION_INTERMEDIATE_ITEMS = \
        $(top_builddir)/win32/Gtk_3_0_gir_list
 
 Gtk_3_0_gir_MSVC_FILES =               \
-       $(introspected_pub_headers)     \
+       $(filter-out gtktypebuiltins.h, $(introspected_pub_headers)) \
        $(gtk_base_c_sources)           \
-       $(gtk_os_win32_c_sources)       \
-       gtktypebuiltins.h               \
-       gtktypebuiltins.c
+       $(gtk_os_win32_c_sources)
 
 Gtk_3_0_gir_MSVC_EXPORT_PACKAGES = $(Gtk_3_0_gir_EXPORT_PACKAGES)
 Gtk_3_0_gir_MSVC_INCLUDE_GIRS = Atk-1.0
diff --git a/win32/create-lists-msvc.mak b/win32/create-lists-msvc.mak
index 475c4fb6c9..d19e3a4d59 100644
--- a/win32/create-lists-msvc.mak
+++ b/win32/create-lists-msvc.mak
@@ -64,6 +64,39 @@ NULL=
 !if [call create-lists.bat header resources_sources.mak GTK_RESOURCES]
 !endif
 
+# For GTK enumeration sources
+!include ..\gtk\gtk-mkenums-headers.mak
+!include ..\gtk\a11y\Makefile.inc
+!include ..\gtk\deprecated\Makefile.inc
+
+!if [call create-lists.bat header gtk_headers.mak GTK_PUBLIC_ENUM_HEADERS]
+!endif
+
+!if [for %f in ($(GTK_PUB_HDRS:.h=)) do @call create-lists.bat file gtk_headers.mak ../gtk/%f.h]
+!endif
+
+!if [for %f in ($(a11y_h_sources) $(gtk_deprecated_h_sources)) do @call create-lists.bat file 
gtk_headers.mak ../gtk/%f]
+!endif
+
+!if [call create-lists.bat footer gtk_headers.mak]
+!endif
+
+!if [call create-lists.bat header gtk_headers.mak GTK_PRIVATE_ENUM_HEADERS]
+!endif
+
+!if [for %f in ($(GTK_PRIVATE_TYPE_HDRS)) do @call create-lists.bat file gtk_headers.mak ../gtk/%f]
+!endif
+
+!if [call create-lists.bat footer gtk_headers.mak]
+!endif
+
+!include gtk_headers.mak
+
+!if [del /f /q gtk_headers.mak]
+!endif
+
+# For GTK resources
+
 !if [for %f in (..\gtk\theme\Adwaita\gtk.css ..\gtk\theme\Adwaita\gtk-dark.css 
..\gtk\theme\Adwaita\gtk-contained.css ..\gtk\theme\Adwaita\gtk-contained-dark.css) do @call create-lists.bat 
file resources_sources.mak %f]
 !endif
 
@@ -94,6 +127,8 @@ NULL=
 !if [call create-lists.bat footer resources_sources.mak]
 !endif
 
+# For gtk demo program resources
+
 !if [call create-lists.bat header resources_sources.mak GTK_DEMO_RESOURCES]
 !endif
 
diff --git a/win32/generate-msvc.mak b/win32/generate-msvc.mak
index a252b8df6f..1e4f8014da 100644
--- a/win32/generate-msvc.mak
+++ b/win32/generate-msvc.mak
@@ -27,7 +27,7 @@ GDK_CONFIG_TEMPLATE = ..\gdk\gdkconfig.h.win32
 GDK_MARSHALERS_FLAGS = --prefix=_gdk_marshal --valist-marshallers
 GDK_RESOURCES_ARGS = --target=$@ --sourcedir=..\gdk --c-name _gdk --manual-register
 GTK_MARSHALERS_FLAGS = --prefix=_gtk_marshal --valist-marshallers
-GTK_RESOURCES_ARGS = ..\gtk\gtk.gresource.xml --target=$@ --sourcedir=..\gtk --c-name _gtk --manual-register
+GTK_RESOURCES_ARGS = --target=$@ --sourcedir=..\gtk --c-name _gtk --manual-register
 
 GDK_GENERATED_SOURCES =        \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkconfig.h   \
@@ -39,19 +39,29 @@ GDK_GENERATED_SOURCES =     \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.c        \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkversionmacros.h
 
+GTK_TYPEBUILTIN_SOURCES =      \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.h     \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.c
+
+GTK_GENERATED_SOURCES =        \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.h      \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c      \
+       $(GTK_TYPEBUILTIN_SOURCES)      \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypefuncs.inc      \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.h    \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.c    \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.h       \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.c       \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.h        \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.c
+
 generate-base-sources: \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\config.h  \
        $(GDK_GENERATED_SOURCES)        \
-       ..\gtk\gtk-win32.rc     \
-       ..\gtk\libgtk3.manifest \
-       ..\gtk\gtkdbusgenerated.h       \
-       ..\gtk\gtkdbusgenerated.c       \
-       ..\gtk\gtktypefuncs.inc \
-       ..\gtk\gtk.gresource.xml        \
-       ..\gtk\gtkmarshalers.h  \
-       ..\gtk\gtkmarshalers.c  \
-       ..\gtk\gtkresources.h   \
-       ..\gtk\gtkresources.c   \
+       $(GTK_GENERATED_SOURCES)        \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk-win32.rc  \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\libgtk3.manifest      \
+       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk.gresource.xml     \
        ..\demos\gtk-demo\demos.h       \
        ..\demos\gtk-demo\demo_resources.c      \
        ..\demos\icon-browser\resources.c
@@ -59,7 +69,7 @@ generate-base-sources:        \
 # Copy the pre-defined config.h.win32 and demos.h.win32
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\config.h: ..\config.h.win32
 ..\demos\gtk-demo\demos.h: ..\demos\gtk-demo\demos.h.win32
-..\gtk\gtk-win32.rc: ..\gtk\gtk-win32.rc.body
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk-win32.rc: ..\gtk\gtk-win32.rc.body
 
 ..\gdk-$(CFG)-$(GDK_CONFIG)-build: $(GDK_CONFIG_TEMPLATE)
        @if exist ..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build del 
..\gdk-$(GDK_OLD_CFG)-$(GDK_DEL_CONFIG)-build
@@ -71,7 +81,7 @@ generate-base-sources:        \
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\config.h \
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkconfig.h  \
-..\gtk\gtk-win32.rc    \
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk-win32.rc \
 ..\demos\gtk-demo\demos.h:
        @echo Copying $@...
        @if not exist $(@D)\ md $(@D)
@@ -79,6 +89,10 @@ generate-base-sources:       \
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.c: ..\gdk\gdkenumtypes.c.template 
$(GDK_PUBLIC_HEADERS)
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.h: ..\gdk\gdkenumtypes.h.template 
$(GDK_PUBLIC_HEADERS)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.c: ..\gtk\gtktypebuiltins.c.template 
$(GTK_PUBLIC_ENUM_HEADERS)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.h: ..\gtk\gtktypebuiltins.h.template 
$(GTK_PUBLIC_ENUM_HEADERS)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c: ..\gtk\gtkprivatetypebuiltins.c.template 
$(GTK_PRIVATE_ENUM_HEADERS)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.h: ..\gtk\gtkprivatetypebuiltins.h.template 
$(GTK_PRIVATE_ENUM_HEADERS)
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.c       \
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.h:
@@ -88,6 +102,22 @@ generate-base-sources:      \
        @$(PYTHON) $(GLIB_MKENUMS) --template $(@F).template $(gdk_public_h_sources) 
$(gdk_deprecated_h_sources) > ..\win32\$@
        @cd ..\win32
 
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.c    \
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.h:
+       @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
+       @cd ..\gtk
+       @$(PYTHON) $(GLIB_MKENUMS) --template $(@F).template $(GTK_PUB_HDRS) $(a11y_h_sources) 
$(gtk_deprecated_h_sources) > ..\win32\$@
+       @cd ..\win32
+
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c     \
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.h:
+       @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
+       @cd ..\gtk
+       @$(PYTHON) $(GLIB_MKENUMS) --template $(@F).template $(GTK_PRIVATE_TYPE_HDRS) > ..\win32\$@
+       @cd ..\win32
+
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkversionmacros.h: ..\gdk\gdkversionmacros.h.in
        @echo Generating $@...
        @if not exist $(@D)\ md $(@D)
@@ -129,30 +159,35 @@ generate-base-sources:    \
        @if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
        @start /min $(GLIB_COMPILE_RESOURCES) $** $(GDK_RESOURCES_ARGS) --generate-source
 
-..\gtk\libgtk3.manifest: ..\gtk\libgtk3.manifest.in
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\libgtk3.manifest: ..\gtk\libgtk3.manifest.in
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @$(PYTHON) replace.py   \
        --action=replace-var    \
        --input=$**     --output=$@     \
        --var=EXE_MANIFEST_ARCHITECTURE \
        --outstring=*
 
-..\gtk\gtkdbusgenerated.h ..\gtk\gtkdbusgenerated.c: ..\gtk\gtkdbusinterfaces.xml
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.h: ..\gtk\gtkdbusinterfaces.xml
        @echo Generating GTK DBus sources...
+       @if not exist $(@D)\ md $(@D)
        @$(PYTHON) $(GDBUS_CODEGEN)     \
        --interface-prefix org.Gtk. --c-namespace _Gtk  \
        --generate-c-code gtkdbusgenerated $**  \
        --output-directory $(@D)
 
-..\gtk\gtktypefuncs.inc: ..\gtk\gentypefuncs.py
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.c: 
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.h
+
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypefuncs.inc: ..\gtk\gentypefuncs.py
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @echo #undef GTK_COMPILATION > $(@R).preproc.c
        @echo #include "gtkx.h" >> $(@R).preproc.c
        @cl /EP $(GTK_PREPROCESSOR_FLAGS) $(@R).preproc.c > $(@R).combined.c
        @$(PYTHON) $** $@ $(@R).combined.c
        @del $(@R).preproc.c $(@R).combined.c
 
-..\gtk\gtk.gresource.xml: $(GTK_RESOURCES)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk.gresource.xml: $(GTK_RESOURCES)
        @echo Generating $@...
        @echo ^<?xml version='1.0' encoding='UTF-8'?^>> $@
        @echo ^<gresources^>>> $@
@@ -182,26 +217,26 @@ generate-base-sources:    \
        @echo   ^</gresource^>>> $@
        @echo ^</gresources^>>> $@
 
-..\gtk\gtkresources.h: ..\gtk\gtk.gresource.xml
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.h: 
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk.gresource.xml
        @echo Generating $@...
        @if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
        @if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
        @if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
-       @start /min $(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) --generate-header
+       @start /min $(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) $** --generate-header
 
-..\gtk\gtkresources.c: ..\gtk\gtk.gresource.xml $(GTK_RESOURCES)
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.c: 
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk.gresource.xml
        @echo Generating $@...
        @if not "$(XMLLINT)" == "" set XMLLINT=$(XMLLINT)
        @if not "$(JSON_GLIB_FORMAT)" == "" set JSON_GLIB_FORMAT=$(JSON_GLIB_FORMAT)
        @if not "$(GDK_PIXBUF_PIXDATA)" == "" set GDK_PIXBUF_PIXDATA=$(GDK_PIXBUF_PIXDATA)
-       @start /min $(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) --generate-source
+       @start /min $(GLIB_COMPILE_RESOURCES) $(GTK_RESOURCES_ARGS) $** --generate-source
 
-..\gtk\gtkmarshalers.h: ..\gtk\gtkmarshalers.list
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.h: ..\gtk\gtkmarshalers.list
        @echo Generating $@...
        @$(PYTHON) $(GLIB_GENMARSHAL) $(GTK_MARSHALERS_FLAGS) --header $** > $@.tmp
        @move $@.tmp $@
 
-..\gtk\gtkmarshalers.c: ..\gtk\gtkmarshalers.list
+.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.c: ..\gtk\gtkmarshalers.list
        @echo Generating $@...
        @echo #undef G_ENABLE_DEBUG> $@.tmp
        @$(PYTHON) $(GLIB_GENMARSHAL) $(GTK_MARSHALERS_FLAGS) --body $** >> $@.tmp
@@ -226,10 +261,12 @@ Gdk_3_0_gir_list_final: Gdk_3_0_gir_list $(GDK_GENERATED_SOURCES)
        @type Gdk_3_0_gir_list>$@
        @for %%s in ($(GDK_GENERATED_SOURCES)) do echo %%s>>$@
 
-GdkWin32_3_0_gir_list_final: GdkWin32_3_0_gir_list
-Gtk_3_0_gir_list_final: Gtk_3_0_gir_list
+Gtk_3_0_gir_list_final: Gtk_3_0_gir_list $(GTK_TYPEBUILTIN_SOURCES)
+       @echo Generating $@...
+       @type Gtk_3_0_gir_list>$@
+       @for %%s in ($(GTK_TYPEBUILTIN_SOURCES)) do echo %%s>>$@
 
-GdkWin32_3_0_gir_list_final Gtk_3_0_gir_list_final:
+GdkWin32_3_0_gir_list_final: GdkWin32_3_0_gir_list
        @echo Copying $@...
        @copy $** $@
 
@@ -238,16 +275,21 @@ clean:
        @-del /f /q ..\demos\icon-browser\resources.c
        @-del /f /q ..\demos\gtk-demo\demo_resources.c
        @-del /f /q ..\demos\gtk-demo\demos.h
-       @-del /f /q ..\gtk\gtkresources.c
-       @-del /f /q ..\gtk\gtkresources.h
-       @-del /f /q ..\gtk\gtkmarshalers.c
-       @-del /f /q ..\gtk\gtkmarshalers.h
-       @-del /f /q ..\gtk\gtk.gresource.xml
-       @-del /f /q ..\gtk\gtktypefuncs.inc
-       @-del /f /q ..\gtk\gtkdbusgenerated.c
-       @-del /f /q ..\gtk\gtkdbusgenerated.h
-       @-del /f /q ..\gtk\libgtk3.manifest
-       @-del /f /q ..\gtk\gtk-win32.rc
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.c
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypebuiltins.h
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkprivatetypebuiltins.h
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.c
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkresources.h
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.c
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkmarshalers.h
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk.gresource.xml
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtktypefuncs.inc
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.c
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtkdbusgenerated.h
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\libgtk3.manifest
+       @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk\gtk-win32.rc
+       @-rd .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gtk-3\gtk
        @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.c
        @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkenumtypes.h
        @-del /f /q .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.c
diff --git a/win32/vs10/gailutil-3.vcxprojin b/win32/vs10/gailutil-3.vcxprojin
index dd967b48c4..b28b1df7e8 100644
--- a/win32/vs10/gailutil-3.vcxprojin
+++ b/win32/vs10/gailutil-3.vcxprojin
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -100,7 +100,7 @@
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -125,7 +125,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -148,7 +148,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <PrecompiledHeader>
diff --git a/win32/vs10/gtk-3.vcxproj.filtersin b/win32/vs10/gtk-3.vcxproj.filtersin
index 8004f7e618..e198ed17d6 100644
--- a/win32/vs10/gtk-3.vcxproj.filtersin
+++ b/win32/vs10/gtk-3.vcxproj.filtersin
@@ -15,7 +15,7 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ResourceCompile Include="..\..\gtk\gtk-win32.rc"><Filter>Resource Files</Filter></ResourceCompile>
+    <ResourceCompile Include="$(GtkGenSrcDir)\gtk\gtk-win32.rc"><Filter>Resource 
Files</Filter></ResourceCompile>
   </ItemGroup>
   <ItemGroup>
 #include "gtk-3.vs10.sourcefiles.filters"
@@ -36,6 +36,6 @@
     <ClCompile Include="..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <Manifest Include="..\..\gtk\libgtk3.manifest"><Filter>Resource Files</Filter></Manifest>
+    <Manifest Include="$(GtkGenSrcDir)\gtk\libgtk3.manifest"><Filter>Resource Files</Filter></Manifest>
   </ItemGroup>
 </Project>
diff --git a/win32/vs10/gtk-3.vcxprojin b/win32/vs10/gtk-3.vcxprojin
index 222eb9e556..188340308c 100644
--- a/win32/vs10/gtk-3.vcxprojin
+++ b/win32/vs10/gtk-3.vcxprojin
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <PrecompiledHeader>
@@ -120,7 +120,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -142,7 +142,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
-      
<AdditionalIncludeDirectories>..\..\gtk;$(GdkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <PrecompiledHeader>
@@ -163,10 +163,15 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ResourceCompile Include="..\..\gtk\gtk-win32.rc" />
+    <ResourceCompile Include="$(GtkGenSrcDir)\gtk\gtk-win32.rc" />
   </ItemGroup>
   <ItemGroup>
 #include "gtk-3.vs10.sourcefiles"
+    <ClCompile Include="$(GtkGenSrcDir)\gtk\gtkdbusgenerated.c" />
+    <ClCompile Include="$(GtkGenSrcDir)\gtk\gtkmarshalers.c" />
+    <ClCompile Include="$(GtkGenSrcDir)\gtk\gtkresources.c" />
+    <ClCompile Include="$(GtkGenSrcDir)\gtk\gtkprivatetypebuiltins.c" />
+    <ClCompile Include="$(GtkGenSrcDir)\gtk\gtktypebuiltins.c" />
     <ClCompile Include="..\..\modules\input\gtkimcontextime.c" />
     <ClCompile Include="..\..\modules\input\gtkimcontextmultipress.c" />
     <ClCompile Include="..\..\modules\input\gtkimcontextthai.c" />
@@ -184,7 +189,7 @@
     <ClCompile Include="..\..\modules\input\thai-charprop.c" />
   </ItemGroup>
   <ItemGroup>
-    <Manifest Include="..\..\gtk\libgtk3.manifest" />
+    <Manifest Include="$(GtkGenSrcDir)\gtk\libgtk3.manifest" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="gdk-3.vcxproj">
diff --git a/win32/vs10/gtk3-build-defines.props b/win32/vs10/gtk3-build-defines.props
index 3514d9f530..c8c511b9bd 100644
--- a/win32/vs10/gtk3-build-defines.props
+++ b/win32/vs10/gtk3-build-defines.props
@@ -11,8 +11,10 @@
     <GdkGenSrcDir>.\$(Configuration)\$(Platform)\obj\gdk-3</GdkGenSrcDir>
     <GdkGenSrcDir Condition="'$(Configuration)' == 
'Release_Broadway'">.\Release\$(Platform)\obj\gdk-3</GdkGenSrcDir>
     <GdkGenSrcDir Condition="'$(Configuration)' == 
'Debug_Broadway'">.\Debug\$(Platform)\obj\gdk-3</GdkGenSrcDir>
-    <BaseConfigIncludes>$(GdkGenSrcDir);..\..</BaseConfigIncludes>
+    <GtkGenSrcDir>.\$(Configuration)\$(Platform)\obj\gtk-3</GtkGenSrcDir>
+    <BaseConfigIncludes>$(GtkGenSrcDir);$(GdkGenSrcDir);..\..</BaseConfigIncludes>
     <GdkBaseIncludes>$(GdkGenSrcDir)\gdk;..\..\gdk;$(BaseConfigIncludes)</GdkBaseIncludes>
+    <GtkBaseIncludes>$(GtkGenSrcDir)\gtk;..\..\gtk;$(GdkBaseIncludes)</GtkBaseIncludes>
     
<GtkIncludedImmodulesDefines>INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr</GtkIncludedImmodulesDefines>
     <GtkHostMachine Condition="'$(Platform)' == 'Win32'">i686</GtkHostMachine>
     <GtkHostMachine Condition="'$(Platform)' == 'x64'">x86_64</GtkHostMachine>
@@ -73,12 +75,18 @@ nmake -f generate-msvc.mak PREFIX=$(GlibEtcInstallRoot)</GenerateRequiredSources
     <BuildMacro Include="GdkGenSrcDir">
       <Value>$(GdkGdkGenSrcDir)</Value>
     </BuildMacro>
+    <BuildMacro Include="GtkGenSrcDir">
+      <Value>$(GtkGdkGenSrcDir)</Value>
+    </BuildMacro>
     <BuildMacro Include="BaseConfigIncludes">
       <Value>$(BaseConfigIncludes)</Value>
     </BuildMacro>
     <BuildMacro Include="GdkBaseIncludes">
       <Value>$(GdkBaseIncludes)</Value>
     </BuildMacro>
+    <BuildMacro Include="GtkBaseIncludes">
+      <Value>$(GtkBaseIncludes)</Value>
+    </BuildMacro>
     <BuildMacro Include="GtkIncludedImmodulesDefines">
       <Value>$(GtkIncludedImmodulesDefines)</Value>
     </BuildMacro>
diff --git a/win32/vs10/gtk3-demo.vcxprojin b/win32/vs10/gtk3-demo.vcxprojin
index b3a6a71de1..76f22e512a 100644
--- a/win32/vs10/gtk3-demo.vcxprojin
+++ b/win32/vs10/gtk3-demo.vcxprojin
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>$(GdkBaseIncludes);..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
-      
<AdditionalIncludeDirectories>$(GdkBaseIncludes);..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <PrecompiledHeader>
@@ -121,7 +121,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>$(GdkBaseIncludes);..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -143,7 +143,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
-      
<AdditionalIncludeDirectories>$(GdkBaseIncludes);..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>$(GtkBaseIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <PrecompiledHeader>
diff --git a/win32/vs10/gtk3-install.propsin b/win32/vs10/gtk3-install.propsin
index b37ccd820e..50e060a3c0 100644
--- a/win32/vs10/gtk3-install.propsin
+++ b/win32/vs10/gtk3-install.propsin
@@ -121,6 +121,8 @@ copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig
 echo off
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
 copy ..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 
 if "$(Configuration)" == "Release" goto COPY_RELEASE_BUILT_HEADERS
@@ -132,20 +134,20 @@ if "$(Configuration)" == "Debug_Broadway" goto COPY_DEBUG_BUILT_HEADERS
 copy .\Debug\$(Platform)\obj\gdk-3\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 copy .\Debug\$(Platform)\obj\gdk-3\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 copy .\Debug\$(Platform)\obj\gdk-3\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
+copy .\Debug\$(Platform)\obj\gtk-3\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk
 goto CONTINUE_HEADERS
 
 :COPY_RELEASE_BUILT_HEADERS
 copy .\Release\$(Platform)\obj\gdk-3\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 copy .\Release\$(Platform)\obj\gdk-3\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
 copy .\Release\$(Platform)\obj\gdk-3\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
+copy .\Release\$(Platform)\obj\gtk-3\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk
 goto CONTINUE_HEADERS
 
 :CONTINUE_HEADERS
 #include "gdk-3.vs10.headers"
 #include "gdk3-win32.vs10.headers"
 
-mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
-mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
 #include "gtk-3.vs10.headers"
 
 mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util
diff --git a/win32/vs9/gailutil-3.vcprojin b/win32/vs9/gailutil-3.vcprojin
index d5a2b1cee6..f3d0cd7f39 100644
--- a/win32/vs9/gailutil-3.vcprojin
+++ b/win32/vs9/gailutil-3.vcprojin
@@ -31,7 +31,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug);..\..\gdk\win32"
                                
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -64,7 +64,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug);..\..\gdk\win32"
                                
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -99,7 +99,7 @@
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease);..\..\gdk\win32"
                                PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
@@ -133,7 +133,7 @@
                        />
                        <Tool
                                Name="VCCLCompilerTool"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease);..\..\gdk\win32"
                                PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
diff --git a/win32/vs9/gtk-3.vcprojin b/win32/vs9/gtk-3.vcprojin
index d5bb02ea6d..7c103e9535 100644
--- a/win32/vs9/gtk-3.vcprojin
+++ b/win32/vs9/gtk-3.vcprojin
@@ -31,7 +31,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug);..\..\gdk\win32"
                                PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -63,7 +63,7 @@
                        />
                        <Tool
                                Name="VCCLCompilerTool"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease);..\..\gdk\win32"
                                PreprocessorDefinitions="$(GtkDefines)"
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
@@ -95,7 +95,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug);..\..\gdk\win32"
                                PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefinesX64)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -127,7 +127,7 @@
                        />
                        <Tool
                                Name="VCCLCompilerTool"
-                               
AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease);..\..\gdk\win32"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease);..\..\gdk\win32"
                                PreprocessorDefinitions="$(GtkDefinesX64)"
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
@@ -162,8 +162,22 @@
                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
                        >
-                       <File RelativePath="..\..\gtk\gtk-win32.rc" />
-                       <File RelativePath="..\..\gtk\libgtk3.manifest" />
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtk-win32.rc" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCResourceCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCResourceCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\libgtk3.manifest" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCManifestTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCManifestTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtk-win32.rc" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCResourceCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCResourceCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\libgtk3.manifest" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCManifestTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCManifestTool" /></FileConfiguration>
+                       </File>
                </Filter>
                <Filter
                        Name="Source Files"
@@ -186,6 +200,46 @@
                        <File RelativePath="..\..\modules\input\imti-et.c" />
                        <File RelativePath="..\..\modules\input\imviqr.c" />
                        <File RelativePath="..\..\modules\input\thai-charprop.c" />
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtkdbusgenerated.c" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtkmarshalers.c" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtkresources.c" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Debug\$(PlatformName)\obj\gtk-3\gtk\gtktypebuiltins.c" >
+                               <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Release|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtkdbusgenerated.c" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtkmarshalers.c" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtkresources.c" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtkprivatetypebuiltins.c" 

+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
+                       <File RelativePath=".\Release\$(PlatformName)\obj\gtk-3\gtk\gtktypebuiltins.c" >
+                               <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                               <FileConfiguration Name="Debug|x64" ExcludedFromBuild="true" ><Tool 
Name="VCCLCompilerTool" /></FileConfiguration>
+                       </File>
                </Filter>
        </Files>
 </VisualStudioProject>
diff --git a/win32/vs9/gtk3-build-defines.vsprops b/win32/vs9/gtk3-build-defines.vsprops
index cf967a2405..c91003c5e3 100644
--- a/win32/vs9/gtk3-build-defines.vsprops
+++ b/win32/vs9/gtk3-build-defines.vsprops
@@ -47,6 +47,14 @@
                Name="GdkBaseIncludesRelease"
                Value=".\Release\$(PlatformName)\obj\gdk-3\gdk;..\..\gdk;$(BaseIncludesRelease)"
        />
+       <UserMacro
+               Name="GtkBaseIncludesDebug"
+               Value=".\Debug\$(PlatformName)\obj\gtk-3\gtk;..\..\gtk;$(GdkBaseIncludesDebug)"
+       />
+       <UserMacro
+               Name="GtkBaseIncludesRelease"
+               Value=".\Release\$(PlatformName)\obj\gtk-3\gtk;..\..\gtk;$(GdkBaseIncludesRelease)"
+       />
        <UserMacro
                Name="GdkDefines"
                Value="GDK_COMPILATION;G_LOG_DOMAIN=\&quot;Gdk\&quot;"
diff --git a/win32/vs9/gtk3-demo.vcprojin b/win32/vs9/gtk3-demo.vcprojin
index 80a434eb20..48e1f9f60a 100644
--- a/win32/vs9/gtk3-demo.vcprojin
+++ b/win32/vs9/gtk3-demo.vcprojin
@@ -31,7 +31,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug)"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug)"
                                PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -63,7 +63,7 @@
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesDebug)"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesDebug)"
                                PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
@@ -95,7 +95,7 @@
                        />
                        <Tool
                                Name="VCCLCompilerTool"
-                               AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease)"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease)"
                                PreprocessorDefinitions="$(GtkPrefixDefine)"
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
@@ -127,7 +127,7 @@
                        />
                        <Tool
                                Name="VCCLCompilerTool"
-                               AdditionalIncludeDirectories="..\..\gtk;$(GdkBaseIncludesRelease)"
+                               AdditionalIncludeDirectories="$(GtkBaseIncludesRelease)"
                                PreprocessorDefinitions="$(GtkPrefixDefine)"
                                RuntimeLibrary="2"
                                UsePrecompiledHeader="0"
diff --git a/win32/vs9/gtk3-install.vspropsin b/win32/vs9/gtk3-install.vspropsin
index 9ff7b27963..637a25d3e7 100644
--- a/win32/vs9/gtk3-install.vspropsin
+++ b/win32/vs9/gtk3-install.vspropsin
@@ -124,6 +124,8 @@ copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
 echo off&#x0D;&#x0A;
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
 mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated&#x0D;&#x0A;
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
+mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
 
 copy ..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
 
@@ -136,20 +138,19 @@ if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; goto COPY_DEBU
 copy .\Debug\$(PlatformName)\obj\gdk-3\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
 copy .\Debug\$(PlatformName)\obj\gdk-3\gdk\gdkenumtypes.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
 copy .\Debug\$(PlatformName)\obj\gdk-3\gdk\gdkversionmacros.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
+copy .\Debug\$(PlatformName)\obj\gtk-3\gtk\gtktypebuiltins.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
 goto CONTINUE_HEADERS&#x0D;&#x0A;
 
 :COPY_RELEASE_BUILT_HEADERS&#x0D;&#x0A;
 copy .\Release\$(PlatformName)\obj\gdk-3\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
 copy .\Release\$(PlatformName)\obj\gdk-3\gdk\gdkenumtypes.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
 copy .\Release\$(PlatformName)\obj\gdk-3\gdk\gdkversionmacros.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
+copy .\Release\$(PlatformName)\obj\gtk-3\gtk\gtktypebuiltins.h 
$(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
 goto CONTINUE_HEADERS&#x0D;&#x0A;
 
 :CONTINUE_HEADERS&#x0D;&#x0A;
 #include "gdk-3.headers"
 #include "gdk3-win32.headers"
-
-mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
-mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
 #include "gtk-3.headers"
 
 mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;


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