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




commit ab5f03886f25385c4dd5f61bf2742fb017a58157
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Dec 22 19:04:23 2021 +0800

    Visual Studio projects: Improve generating libGTK sources
    
    Like what is done in the GDK builds, improve how the GTK sources are generated,
    by:
    
    *  Put all generated files into libGTK's build directory, so as to not pollute
       the source tree.
    *  Support (re-)building gtk[private]typebuiltins.[c|h] from the Visual Studio
       projects via NMake.
    *  Update the project files accordingly so that the newly-generated headers and
       sources can be found, as well as the introspection NMake Makefiles.

 gdk/Makefile.am                      |   4 +-
 gdk/gdk-pub-headers.mak              |   2 +-
 gtk/Makefile.am                      | 257 ++---------------------------------
 gtk/deprecated/Makefile.inc          |   2 +-
 gtk/gtk-mkenums-headers.mak          | 236 ++++++++++++++++++++++++++++++++
 win32/create-lists-msvc.mak          |  37 ++++-
 win32/generate-msvc.mak              | 124 +++++++++++------
 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-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 +-
 17 files changed, 485 insertions(+), 319 deletions(-)
---
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index f425e0803e..860973b73e 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -68,7 +68,7 @@ LDADD =                                       \
 
 gdk_h_sources =                                        \
        $(gdk_public_h_sources)                 \
-       $(deprecated_h_sources)
+       $(gdk_deprecated_h_sources)
 
 gdk_private_headers =                          \
        gdk-private.h                           \
@@ -159,7 +159,7 @@ gdkinclude_HEADERS = $(gdk_public_h_sources)
 nodist_gdkinclude_HEADERS = gdkconfig.h gdkenumtypes.h gdkversionmacros.h
 
 deprecatedincludedir = $(includedir)/gtk-3.0/gdk/deprecated
-deprecatedinclude_HEADERS = $(deprecated_h_sources)
+deprecatedinclude_HEADERS = $(gdk_deprecated_h_sources)
 
 common_sources =               \
        $(gdk_private_headers)  \
diff --git a/gdk/gdk-pub-headers.mak b/gdk/gdk-pub-headers.mak
index 450d4b064b..e84c5d0fc3 100644
--- a/gdk/gdk-pub-headers.mak
+++ b/gdk/gdk-pub-headers.mak
@@ -40,5 +40,5 @@ gdk_public_h_sources =                                \
        gdkvisual.h                             \
        gdkwindow.h
 
-deprecated_h_sources =                         \
+gdk_deprecated_h_sources =                             \
        deprecated/gdkcolor.h
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index ecb88fd07e..fc4067255f 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -114,236 +114,12 @@ endif
 include $(srcdir)/a11y/Makefile.inc
 include $(srcdir)/deprecated/Makefile.inc
 include $(srcdir)/inspector/Makefile.inc
+include $(srcdir)/gtk-mkenums-headers.mak
 
 # GTK+ header files for public installation (non-generated, or generated
 # by configure)
 
-gtk_public_h_sources =                 \
-       gtk.h                   \
-       gtk-autocleanups.h      \
-       gtkx.h                  \
-       gtkx-autocleanups.h     \
-       gtk-a11y.h              \
-       gtkaboutdialog.h        \
-       gtkaccelgroup.h         \
-       gtkaccellabel.h         \
-       gtkaccelmap.h           \
-       gtkaccessible.h         \
-       gtkactionable.h         \
-       gtkactionbar.h          \
-       gtkadjustment.h         \
-       gtkappchooser.h         \
-       gtkappchooserbutton.h   \
-       gtkappchooserdialog.h   \
-       gtkappchooserwidget.h   \
-       gtkapplication.h        \
-       gtkapplicationwindow.h  \
-       gtkaspectframe.h        \
-       gtkassistant.h          \
-       gtkbbox.h               \
-       gtkbin.h                \
-       gtkbindings.h           \
-       gtkborder.h             \
-       gtkbox.h                \
-       gtkbuilder.h            \
-       gtkbuildable.h          \
-       gtkbutton.h             \
-       gtkcalendar.h           \
-       gtkcellarea.h           \
-       gtkcellareacontext.h    \
-       gtkcellareabox.h        \
-       gtkcelleditable.h       \
-       gtkcelllayout.h         \
-       gtkcellrenderer.h       \
-       gtkcellrendereraccel.h  \
-       gtkcellrenderercombo.h  \
-       gtkcellrendererpixbuf.h \
-       gtkcellrendererprogress.h \
-       gtkcellrendererspin.h   \
-       gtkcellrendererspinner.h\
-       gtkcellrenderertext.h   \
-       gtkcellrenderertoggle.h \
-       gtkcellview.h           \
-       gtkcheckbutton.h        \
-       gtkcheckmenuitem.h      \
-       gtkclipboard.h          \
-       gtkcolorbutton.h        \
-       gtkcolorchooser.h       \
-       gtkcolorchooserwidget.h \
-       gtkcolorchooserdialog.h \
-       gtkcolorutils.h         \
-       gtkcombobox.h           \
-       gtkcomboboxtext.h       \
-       gtkcontainer.h          \
-       gtkcssprovider.h        \
-       gtkcsssection.h         \
-       gtkdebug.h              \
-       gtkdialog.h             \
-       gtkdnd.h                \
-       gtkdragdest.h           \
-       gtkdragsource.h         \
-       gtkdrawingarea.h        \
-       gtkeditable.h           \
-       gtkentry.h              \
-       gtkentrybuffer.h        \
-       gtkentrycompletion.h    \
-       gtkenums.h              \
-       gtkeventbox.h           \
-       gtkeventcontroller.h    \
-       gtkeventcontrollerkey.h \
-       gtkeventcontrollermotion.h      \
-       gtkeventcontrollerscroll.h      \
-       gtkexpander.h           \
-       gtkfilechooser.h        \
-       gtkfilechooserbutton.h  \
-       gtkfilechooserdialog.h  \
-       gtkfilechoosernative.h  \
-       gtkfilechooserwidget.h  \
-       gtkfilefilter.h         \
-       gtkfixed.h              \
-       gtkflowbox.h            \
-       gtkfontbutton.h         \
-       gtkfontchooser.h        \
-       gtkfontchooserdialog.h  \
-       gtkfontchooserwidget.h  \
-       gtkframe.h              \
-       gtkgesture.h            \
-       gtkgesturedrag.h        \
-       gtkgesturelongpress.h   \
-       gtkgesturemultipress.h  \
-       gtkgesturepan.h         \
-       gtkgesturerotate.h      \
-       gtkgesturesingle.h      \
-       gtkgesturestylus.h      \
-       gtkgestureswipe.h       \
-       gtkgesturezoom.h        \
-       gtkglarea.h             \
-       gtkgrid.h               \
-       gtkheaderbar.h          \
-       gtkicontheme.h          \
-       gtkiconview.h           \
-       gtkimage.h              \
-       gtkimcontext.h          \
-       gtkimcontextinfo.h      \
-       gtkimcontextsimple.h    \
-       gtkimmodule.h           \
-       gtkimmulticontext.h     \
-       gtkinfobar.h            \
-       gtkinvisible.h          \
-       gtklabel.h              \
-       gtklayout.h             \
-       gtklevelbar.h           \
-       gtklinkbutton.h         \
-       gtklistbox.h            \
-       gtkliststore.h          \
-       gtklockbutton.h         \
-       gtkmain.h               \
-       gtkmenu.h               \
-       gtkmenubar.h            \
-       gtkmenubutton.h         \
-       gtkmenuitem.h           \
-       gtkmenushell.h          \
-       gtkmenutoolbutton.h     \
-       gtkmessagedialog.h      \
-       gtkmodelbutton.h        \
-       gtkmodules.h            \
-       gtkmountoperation.h     \
-       gtknativedialog.h       \
-       gtknotebook.h           \
-       gtkoffscreenwindow.h    \
-       gtkorientable.h         \
-       gtkoverlay.h            \
-       gtkpadcontroller.h      \
-       gtkpagesetup.h          \
-       gtkpaned.h              \
-       gtkpapersize.h          \
-       gtkplacessidebar.h      \
-       gtkplug.h               \
-       gtkpopover.h            \
-       gtkpopovermenu.h        \
-       gtkprintcontext.h       \
-       gtkprintoperation.h     \
-       gtkprintoperationpreview.h \
-       gtkprintsettings.h      \
-       gtkprogressbar.h        \
-       gtkradiobutton.h        \
-       gtkradiomenuitem.h      \
-       gtkradiotoolbutton.h    \
-       gtkrange.h              \
-       gtkrecentchooser.h      \
-       gtkrecentchooserdialog.h \
-       gtkrecentchoosermenu.h  \
-       gtkrecentchooserwidget.h \
-       gtkrecentfilter.h       \
-       gtkrecentmanager.h      \
-       gtkrender.h             \
-       gtkrevealer.h           \
-       gtkscale.h              \
-       gtkscalebutton.h        \
-       gtkscrollable.h         \
-       gtkscrollbar.h          \
-       gtkscrolledwindow.h     \
-       gtksearchbar.h          \
-       gtksearchentry.h        \
-       gtkselection.h          \
-       gtkseparator.h          \
-       gtkseparatormenuitem.h  \
-       gtkseparatortoolitem.h  \
-       gtksettings.h           \
-       gtkshortcutlabel.h      \
-       gtkshortcutsgroup.h     \
-       gtkshortcutssection.h   \
-       gtkshortcutsshortcut.h  \
-       gtkshortcutswindow.h    \
-       gtkshow.h               \
-       gtkstacksidebar.h       \
-       gtksizegroup.h          \
-       gtksizerequest.h        \
-       gtksocket.h             \
-       gtkspinbutton.h         \
-       gtkspinner.h            \
-       gtkstack.h              \
-       gtkstackswitcher.h      \
-       gtkstatusbar.h          \
-       gtkstylecontext.h       \
-       gtkstyleprovider.h      \
-       gtkswitch.h             \
-       gtktestutils.h          \
-       gtktextattributes.h     \
-       gtktextbuffer.h         \
-       gtktextbufferrichtext.h \
-       gtktextchild.h          \
-       gtktextdisplay.h        \
-       gtktextiter.h           \
-       gtktextmark.h           \
-       gtktexttag.h            \
-       gtktexttagtable.h       \
-       gtktextview.h           \
-       gtktogglebutton.h       \
-       gtktoggletoolbutton.h   \
-       gtktoolbar.h            \
-       gtktoolbutton.h         \
-       gtktoolitem.h           \
-       gtktoolitemgroup.h      \
-       gtktoolpalette.h        \
-       gtktoolshell.h          \
-       gtktooltip.h            \
-       gtktreednd.h            \
-       gtktreemodel.h          \
-       gtktreemodelfilter.h    \
-       gtktreemodelsort.h      \
-       gtktreeselection.h      \
-       gtktreesortable.h       \
-       gtktreestore.h          \
-       gtktreeview.h           \
-       gtktreeviewcolumn.h     \
-       gtktypes.h              \
-       gtkviewport.h           \
-       gtkvolumebutton.h       \
-       gtkwidget.h             \
-       gtkwidgetpath.h         \
-       gtkwindow.h             \
-       gtkwindowgroup.h
+gtk_public_h_sources = $(GTK_PUB_HDRS)
 
 if OS_UNIX
 gtk_unix_print_public_h_sources =      \
@@ -360,10 +136,7 @@ endif
 gtk_semi_private_h_sources = \
        gtktextlayout.h
 
-gtk_private_type_h_sources =   \
-       gtkcsstypesprivate.h    \
-       gtktexthandleprivate.h
-
+gtk_private_type_h_sources = $(GTK_PRIVATE_TYPE_HDRS)
 
 # GTK+ header files that don't get installed
 gtk_private_h_sources =                \
@@ -1277,15 +1050,15 @@ gtkmarshalers.c: gtkmarshalers.list
 
 gtktypebuiltins.h: stamp-gtktypebuiltins.h
        @true
-stamp-gtktypebuiltins.h: $(gtk_public_h_sources) $(a11y_h_sources) $(deprecated_h_sources) 
gtktypebuiltins.h.template
+stamp-gtktypebuiltins.h: $(gtk_public_h_sources) $(a11y_h_sources) $(gtk_deprecated_h_sources) 
gtktypebuiltins.h.template
        $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
-               $(gtk_public_h_sources) $(a11y_h_sources) $(deprecated_h_sources) ) > xgen-gtbh \
+               $(gtk_public_h_sources) $(a11y_h_sources) $(gtk_deprecated_h_sources) ) > xgen-gtbh \
        && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
        && rm -f xgen-gtbh \
        && echo timestamp > $(@F)
-gtktypebuiltins.c: $(gtk_public_h_sources) $(a11y_h_sources) $(deprecated_h_sources) 
gtktypebuiltins.c.template
+gtktypebuiltins.c: $(gtk_public_h_sources) $(a11y_h_sources) $(gtk_deprecated_h_sources) 
gtktypebuiltins.c.template
        $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
-               $(gtk_public_h_sources) $(a11y_h_sources) $(deprecated_h_sources) ) > xgen-gtbc \
+               $(gtk_public_h_sources) $(a11y_h_sources) $(gtk_deprecated_h_sources) ) > xgen-gtbc \
        && cp xgen-gtbc gtktypebuiltins.c  \
        && rm -f xgen-gtbc
 
@@ -1470,7 +1243,7 @@ a11yincludedir = $(includedir)/gtk-3.0/gtk/a11y
 a11yinclude_HEADERS= $(a11y_h_sources)
 
 deprecatedincludedir = $(includedir)/gtk-3.0/gtk/deprecated
-deprecatedinclude_HEADERS= $(deprecated_h_sources)
+deprecatedinclude_HEADERS= $(gtk_deprecated_h_sources)
 
 gtkunixprintincludedir = $(includedir)/gtk-3.0/unix-print/gtk
 gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources)
@@ -1514,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)
@@ -1524,9 +1295,9 @@ gtk_3_HEADERS_DIR = $(gtkincludedir)
 gtk_3_HEADERS_INST = \
        $(gtkinclude_HEADERS)   \
        $(a11y_h_sources)       \
-       $(deprecated_h_sources)
+       $(gtk_deprecated_h_sources)
 
-gtk_3_HEADERS_EXCLUDES = dummy
+gtk_3_HEADERS_EXCLUDES = gtktypebuiltins.h
 
 include $(top_srcdir)/win32/Makefile.msvcproj
 
@@ -1563,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/gtk/deprecated/Makefile.inc b/gtk/deprecated/Makefile.inc
index 7e0e08bdd0..8bc5d0e14a 100644
--- a/gtk/deprecated/Makefile.inc
+++ b/gtk/deprecated/Makefile.inc
@@ -1,4 +1,4 @@
-deprecated_h_sources =                         \
+gtk_deprecated_h_sources =                     \
        deprecated/gtkactivatable.h     \
        deprecated/gtkaction.h          \
        deprecated/gtkactiongroup.h     \
diff --git a/gtk/gtk-mkenums-headers.mak b/gtk/gtk-mkenums-headers.mak
new file mode 100644
index 0000000000..86c38f925c
--- /dev/null
+++ b/gtk/gtk-mkenums-headers.mak
@@ -0,0 +1,236 @@
+# List of headers to be passed into glib-mkenums
+
+
+# GTK+ header files for public installation (non-generated, or generated
+# by configure)
+
+GTK_PUB_HDRS =                 \
+       gtk.h                   \
+       gtk-autocleanups.h      \
+       gtkx.h                  \
+       gtkx-autocleanups.h     \
+       gtk-a11y.h              \
+       gtkaboutdialog.h        \
+       gtkaccelgroup.h         \
+       gtkaccellabel.h         \
+       gtkaccelmap.h           \
+       gtkaccessible.h         \
+       gtkactionable.h         \
+       gtkactionbar.h          \
+       gtkadjustment.h         \
+       gtkappchooser.h         \
+       gtkappchooserbutton.h   \
+       gtkappchooserdialog.h   \
+       gtkappchooserwidget.h   \
+       gtkapplication.h        \
+       gtkapplicationwindow.h  \
+       gtkaspectframe.h        \
+       gtkassistant.h          \
+       gtkbbox.h               \
+       gtkbin.h                \
+       gtkbindings.h           \
+       gtkborder.h             \
+       gtkbox.h                \
+       gtkbuilder.h            \
+       gtkbuildable.h          \
+       gtkbutton.h             \
+       gtkcalendar.h           \
+       gtkcellarea.h           \
+       gtkcellareacontext.h    \
+       gtkcellareabox.h        \
+       gtkcelleditable.h       \
+       gtkcelllayout.h         \
+       gtkcellrenderer.h       \
+       gtkcellrendereraccel.h  \
+       gtkcellrenderercombo.h  \
+       gtkcellrendererpixbuf.h \
+       gtkcellrendererprogress.h \
+       gtkcellrendererspin.h   \
+       gtkcellrendererspinner.h\
+       gtkcellrenderertext.h   \
+       gtkcellrenderertoggle.h \
+       gtkcellview.h           \
+       gtkcheckbutton.h        \
+       gtkcheckmenuitem.h      \
+       gtkclipboard.h          \
+       gtkcolorbutton.h        \
+       gtkcolorchooser.h       \
+       gtkcolorchooserwidget.h \
+       gtkcolorchooserdialog.h \
+       gtkcolorutils.h         \
+       gtkcombobox.h           \
+       gtkcomboboxtext.h       \
+       gtkcontainer.h          \
+       gtkcssprovider.h        \
+       gtkcsssection.h         \
+       gtkdebug.h              \
+       gtkdialog.h             \
+       gtkdnd.h                \
+       gtkdragdest.h           \
+       gtkdragsource.h         \
+       gtkdrawingarea.h        \
+       gtkeditable.h           \
+       gtkentry.h              \
+       gtkentrybuffer.h        \
+       gtkentrycompletion.h    \
+       gtkenums.h              \
+       gtkeventbox.h           \
+       gtkeventcontroller.h    \
+       gtkeventcontrollerkey.h \
+       gtkeventcontrollermotion.h      \
+       gtkeventcontrollerscroll.h      \
+       gtkexpander.h           \
+       gtkfilechooser.h        \
+       gtkfilechooserbutton.h  \
+       gtkfilechooserdialog.h  \
+       gtkfilechoosernative.h  \
+       gtkfilechooserwidget.h  \
+       gtkfilefilter.h         \
+       gtkfixed.h              \
+       gtkflowbox.h            \
+       gtkfontbutton.h         \
+       gtkfontchooser.h        \
+       gtkfontchooserdialog.h  \
+       gtkfontchooserwidget.h  \
+       gtkframe.h              \
+       gtkgesture.h            \
+       gtkgesturedrag.h        \
+       gtkgesturelongpress.h   \
+       gtkgesturemultipress.h  \
+       gtkgesturepan.h         \
+       gtkgesturerotate.h      \
+       gtkgesturesingle.h      \
+       gtkgesturestylus.h      \
+       gtkgestureswipe.h       \
+       gtkgesturezoom.h        \
+       gtkglarea.h             \
+       gtkgrid.h               \
+       gtkheaderbar.h          \
+       gtkicontheme.h          \
+       gtkiconview.h           \
+       gtkimage.h              \
+       gtkimcontext.h          \
+       gtkimcontextinfo.h      \
+       gtkimcontextsimple.h    \
+       gtkimmodule.h           \
+       gtkimmulticontext.h     \
+       gtkinfobar.h            \
+       gtkinvisible.h          \
+       gtklabel.h              \
+       gtklayout.h             \
+       gtklevelbar.h           \
+       gtklinkbutton.h         \
+       gtklistbox.h            \
+       gtkliststore.h          \
+       gtklockbutton.h         \
+       gtkmain.h               \
+       gtkmenu.h               \
+       gtkmenubar.h            \
+       gtkmenubutton.h         \
+       gtkmenuitem.h           \
+       gtkmenushell.h          \
+       gtkmenutoolbutton.h     \
+       gtkmessagedialog.h      \
+       gtkmodelbutton.h        \
+       gtkmodules.h            \
+       gtkmountoperation.h     \
+       gtknativedialog.h       \
+       gtknotebook.h           \
+       gtkoffscreenwindow.h    \
+       gtkorientable.h         \
+       gtkoverlay.h            \
+       gtkpadcontroller.h      \
+       gtkpagesetup.h          \
+       gtkpaned.h              \
+       gtkpapersize.h          \
+       gtkplacessidebar.h      \
+       gtkplug.h               \
+       gtkpopover.h            \
+       gtkpopovermenu.h        \
+       gtkprintcontext.h       \
+       gtkprintoperation.h     \
+       gtkprintoperationpreview.h \
+       gtkprintsettings.h      \
+       gtkprogressbar.h        \
+       gtkradiobutton.h        \
+       gtkradiomenuitem.h      \
+       gtkradiotoolbutton.h    \
+       gtkrange.h              \
+       gtkrecentchooser.h      \
+       gtkrecentchooserdialog.h \
+       gtkrecentchoosermenu.h  \
+       gtkrecentchooserwidget.h \
+       gtkrecentfilter.h       \
+       gtkrecentmanager.h      \
+       gtkrender.h             \
+       gtkrevealer.h           \
+       gtkscale.h              \
+       gtkscalebutton.h        \
+       gtkscrollable.h         \
+       gtkscrollbar.h          \
+       gtkscrolledwindow.h     \
+       gtksearchbar.h          \
+       gtksearchentry.h        \
+       gtkselection.h          \
+       gtkseparator.h          \
+       gtkseparatormenuitem.h  \
+       gtkseparatortoolitem.h  \
+       gtksettings.h           \
+       gtkshortcutlabel.h      \
+       gtkshortcutsgroup.h     \
+       gtkshortcutssection.h   \
+       gtkshortcutsshortcut.h  \
+       gtkshortcutswindow.h    \
+       gtkshow.h               \
+       gtkstacksidebar.h       \
+       gtksizegroup.h          \
+       gtksizerequest.h        \
+       gtksocket.h             \
+       gtkspinbutton.h         \
+       gtkspinner.h            \
+       gtkstack.h              \
+       gtkstackswitcher.h      \
+       gtkstatusbar.h          \
+       gtkstylecontext.h       \
+       gtkstyleprovider.h      \
+       gtkswitch.h             \
+       gtktestutils.h          \
+       gtktextattributes.h     \
+       gtktextbuffer.h         \
+       gtktextbufferrichtext.h \
+       gtktextchild.h          \
+       gtktextdisplay.h        \
+       gtktextiter.h           \
+       gtktextmark.h           \
+       gtktexttag.h            \
+       gtktexttagtable.h       \
+       gtktextview.h           \
+       gtktogglebutton.h       \
+       gtktoggletoolbutton.h   \
+       gtktoolbar.h            \
+       gtktoolbutton.h         \
+       gtktoolitem.h           \
+       gtktoolitemgroup.h      \
+       gtktoolpalette.h        \
+       gtktoolshell.h          \
+       gtktooltip.h            \
+       gtktreednd.h            \
+       gtktreemodel.h          \
+       gtktreemodelfilter.h    \
+       gtktreemodelsort.h      \
+       gtktreeselection.h      \
+       gtktreesortable.h       \
+       gtktreestore.h          \
+       gtktreeview.h           \
+       gtktreeviewcolumn.h     \
+       gtktypes.h              \
+       gtkviewport.h           \
+       gtkvolumebutton.h       \
+       gtkwidget.h             \
+       gtkwidgetpath.h         \
+       gtkwindow.h             \
+       gtkwindowgroup.h
+
+GTK_PRIVATE_TYPE_HDRS =        \
+       gtkcsstypesprivate.h    \
+       gtktexthandleprivate.h
diff --git a/win32/create-lists-msvc.mak b/win32/create-lists-msvc.mak
index 9f7eeef712..d19e3a4d59 100644
--- a/win32/create-lists-msvc.mak
+++ b/win32/create-lists-msvc.mak
@@ -39,7 +39,7 @@ NULL=
 !if [call create-lists.bat header gdk_headers.mak GDK_PUBLIC_HEADERS]
 !endif
 
-!if [for %f in ($(gdk_public_h_sources) $(deprecated_h_sources)) do @call create-lists.bat file 
gdk_headers.mak ../gdk/%f]
+!if [for %f in ($(gdk_public_h_sources) $(gdk_deprecated_h_sources)) do @call create-lists.bat file 
gdk_headers.mak ../gdk/%f]
 !endif
 
 !if [call create-lists.bat footer gdk_headers.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 f8adade3b0..33b0b44ee1 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   \
@@ -37,21 +37,31 @@ GDK_GENERATED_SOURCES =     \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkmarshalers.c       \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.h        \
        .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.c        \
-       .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkversionmacros.h    \
+       .\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,31 +89,55 @@ 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:
        @echo Generating $@...
        @if not exist $(@D)\ md $(@D)
        @cd ..\gdk
-       @$(PYTHON) $(GLIB_MKENUMS) --template $(@F).template $(gdk_public_h_sources) $(deprecated_h_sources) 
..\win32\$@
+       @$(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)
        @$(PYTHON) gen-gdkversionmacros-h.py --version=$(GTK_VERSION) 
--outdir=.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkmarshalers.h: ..\gdk\gdkmarshalers.list
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @$(PYTHON) $(GLIB_GENMARSHAL) $(GDK_MARSHALERS_FLAGS) --header $** > $@.tmp
        @move $@.tmp $@
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkmarshalers.c: ..\gdk\gdkmarshalers.list
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @$(PYTHON) $(GLIB_GENMARSHAL) $(GDK_MARSHALERS_FLAGS) --body $** > $@.tmp
        @move $@.tmp $@
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdk.gresource.xml: $(GDK_RESOURCES)
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @echo ^<?xml version='1.0' encoding='UTF-8'?^> >$@
        @echo ^<gresources^> >> $@
        @echo  ^<gresource prefix='/org/gtk/libgdk'^> >> $@
@@ -113,6 +147,7 @@ generate-base-sources:      \
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.h: 
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdk.gresource.xml
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @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)
@@ -120,35 +155,41 @@ generate-base-sources:    \
 
 .\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdkresources.c: 
.\vs$(VSVER)\$(CFG)\$(PLAT)\obj\gdk-3\gdk\gdk.gresource.xml
        @echo Generating $@...
+       @if not exist $(@D)\ md $(@D)
        @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) $** $(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^>>> $@
@@ -178,26 +219,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
@@ -222,10 +263,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 $** $@
 
@@ -234,16 +277,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 66bdf6f180..2a70a0d174 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-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..3a50047428 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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-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\gdk-3\gdk\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\gdk-3\gdk\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\gdk-3\gdk\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\gdk-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\gdk-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 9df7d88431..745ea7b119 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 "$(ConfigurationName)" == "Debug_Broadway" goto COPY_DEBUG_BUILT_HEADERS&#x0D
 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)\gdk&#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)\gdk&#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]