[gtk+] Visual Studio builds: Build GTK+ as a monolithic DLL



commit 493ad0cad4bfd77d33b92b3e036c67e0ae4a8389
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Thu Nov 3 17:17:57 2016 +0800

    Visual Studio builds: Build GTK+ as a monolithic DLL
    
    Update the project configs to build GDK/GSK as a static lib and include
    them into the GTK+ DLL as a monolithic DLL, which is in line with what is
    done in the autotools builds, since the code changes needed for Windows
    builds for a monolithic build are now in place.

 build/win32/gtkpc.py                               |   42 ++---
 build/win32/vs12/Makefile.am                       |    2 +-
 build/win32/vs12/gdk-4.vcxproj.filtersin           |    3 -
 build/win32/vs12/gdk-4.vcxprojin                   |  125 ++----------
 build/win32/vs12/gsk-4.vcxprojin                   |   54 +-----
 build/win32/vs12/gtk+-4.sln                        |   16 +-
 build/win32/vs12/gtk-4.vcxprojin                   |  212 +++++++++++++++++++-
 build/win32/vs12/gtk4-build-defines.props          |    2 +-
 build/win32/vs12/gtk4-builder-tool.vcxproj         |    4 -
 ...broadway.props => gtk4-copy-gtk-broadway.props} |   24 +--
 build/win32/vs12/gtk4-demo-application.vcxprojin   |    4 -
 build/win32/vs12/gtk4-demo.vcxprojin               |    4 -
 build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj  |    4 +-
 build/win32/vs12/gtk4-icon-browser.vcxprojin       |    4 -
 build/win32/vs12/gtk4-ignore-broadway.props        |    4 +-
 build/win32/vs12/gtk4-install.propsin              |   18 +--
 build/win32/vs12/gtk4-install.vcxproj              |    8 -
 build/win32/vs12/gtk4-query-settings.vcxproj       |    4 -
 build/win32/vs14/Makefile.am                       |    2 +-
 19 files changed, 258 insertions(+), 278 deletions(-)
---
diff --git a/build/win32/gtkpc.py b/build/win32/gtkpc.py
index c406352..8d5e578 100644
--- a/build/win32/gtkpc.py
+++ b/build/win32/gtkpc.py
@@ -28,10 +28,10 @@ def main(argv):
     base_pc.setup(argv, gdk_parser)
 
     atk_min_ver = '2.15.1'
-    cairo_min_ver = '1.14.0'
+    cairo_min_ver = '1.15.2'
     gdk_pixbuf_min_ver = '2.30.0'
     gdk_win32_sys_libs = '-lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi'
-    glib_min_ver = '2.45.8'
+    glib_min_ver = '2.49.4'
     epoxy_min_ver = '1.0'
     graphene_min_ver = '1.2'
 
@@ -54,46 +54,30 @@ def main(argv):
                             'cairo >= ' + cairo_min_ver + ' ' + \
                             'cairo-gobject >= ' + cairo_min_ver
 
-    gdk_pc_replace_items = {'@GDK_PACKAGES@': gio_package + ' ' + \
-                                              'pangowin32 pangocairo' + ' ' + \
-                                              pkg_required_packages,
-                            '@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends,
-                            '@GDK_EXTRA_LIBS@': gdk_win32_sys_libs + broadway_extra_libs,
-                            '@GDK_EXTRA_CFLAGS@': '',
-                            'gdk-4': 'gdk-4.0'}
-
-    gsk_pc_replace_items = {'@GSK_PACKAGES@': pkg_required_packages, + ' ' + \
-                                              'graphene-1.0 >= ' + graphene_min_ver
-                            '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver,
-                            '@GSK_EXTRA_LIBS@': '',
-                            '@GSK_EXTRA_CFLAGS@': '',
-                            'gsk-4': 'gsk-4.0'}
-
     gtk_pc_replace_items = {'@host@': gdk_args.host,
                             '@GTK_BINARY_VERSION@': '4.0.0',
+                            '@GDK_PACKAGES@': gio_package + ' ' + \
+                                              'pangowin32 pangocairo' + ' ' + \
+                                              pkg_required_packages,
+                            '@GSK_PACKAGES@': pkg_required_packages + ' ' + \
+                                              'graphene-1.0 >= ' + graphene_min_ver,
                             '@GTK_PACKAGES@': 'atk >= ' + atk_min_ver + ' ' + \
                                               pkg_required_packages + ' ' + \
                                               gio_package,
+                            '@GDK_PRIVATE_PACKAGES@': gio_package + ' ' + cairo_backends,
+                            '@GSK_PRIVATE_PACKAGES@': 'epoxy >= ' + epoxy_min_ver,
                             '@GTK_PRIVATE_PACKAGES@': 'atk',
+                            '@GDK_EXTRA_CFLAGS@': '',
+                            '@GSK_EXTRA_CFLAGS@': '',
                             '@GTK_EXTRA_CFLAGS@': '',
+                            '@GDK_EXTRA_LIBS@': gdk_win32_sys_libs + broadway_extra_libs,
+                            '@GSK_EXTRA_LIBS@': '',
                             '@GTK_EXTRA_LIBS@': '',
-                            '@GTK_EXTRA_CFLAGS@': '',
                             'gtk-4': 'gtk-4.0'}
 
     pkg_replace_items.update(base_pc.base_replace_items)
-    gdk_pc_replace_items.update(pkg_replace_items)
     gtk_pc_replace_items.update(pkg_replace_items)
 
-    # Generate gdk-4.0.pc
-    replace_multi(base_pc.top_srcdir + '/gdk-4.0.pc.in',
-                  base_pc.srcdir + '/gdk-4.0.pc',
-                  gdk_pc_replace_items)
-
-    # Generate gsk-4.0.pc
-    replace_multi(base_pc.top_srcdir + '/gsk-4.0.pc.in',
-                  base_pc.srcdir + '/gsk-4.0.pc',
-                  gsk_pc_replace_items)
-
     # Generate gtk+-4.0.pc
     replace_multi(base_pc.top_srcdir + '/gtk+-4.0.pc.in',
                   base_pc.srcdir + '/gtk+-4.0.pc',
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
index 90166a4..9449f3c 100644
--- a/build/win32/vs12/Makefile.am
+++ b/build/win32/vs12/Makefile.am
@@ -63,7 +63,7 @@ EXTRA_DIST += \
        gtk4-install.vcxproj                    \
        gtk4-install.vcxproj.filters            \
        gtk4-build-defines.props                \
-       gtk4-copy-gdk-broadway.props            \
+       gtk4-copy-gtk-broadway.props            \
        gtk4-gen-srcs.props                     \
        gtk4-ignore-broadway.props              \
        gtk4-install.propsin                    \
diff --git a/build/win32/vs12/gdk-4.vcxproj.filtersin b/build/win32/vs12/gdk-4.vcxproj.filtersin
index a6d1e92..598c1cd 100644
--- a/build/win32/vs12/gdk-4.vcxproj.filtersin
+++ b/build/win32/vs12/gdk-4.vcxproj.filtersin
@@ -15,9 +15,6 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc"><Filter>Resource Files</Filter></ResourceCompile>
-  </ItemGroup>
-  <ItemGroup>
 #include "gdk-4.vs12.sourcefiles.filters"
     <ClCompile Include="..\..\..\gdk\gdkkeynames.c"><Filter>Source Files</Filter></ClCompile>
   </ItemGroup>
diff --git a/build/win32/vs12/gdk-4.vcxprojin b/build/win32/vs12/gdk-4.vcxprojin
index c66d7f6..8a9775c 100644
--- a/build/win32/vs12/gdk-4.vcxprojin
+++ b/build/win32/vs12/gdk-4.vcxprojin
@@ -41,46 +41,46 @@
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
@@ -89,35 +89,35 @@
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-ignore-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-ignore-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-ignore-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-ignore-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-copy-gdk-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-copy-gdk-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-copy-gdk-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-copy-gdk-broadway.props" />
+    <Import Project="gtk4-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -143,15 +143,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
     <ClCompile>
@@ -166,15 +157,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -186,17 +168,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
     <ClCompile>
@@ -208,17 +179,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
@@ -233,15 +193,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
     <ClCompile>
@@ -256,15 +207,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
@@ -276,17 +218,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>$(GdkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
     <ClCompile>
@@ -298,35 +229,11 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      
<AdditionalDependencies>$(GdkAdditionalLibs);$(GdkBroadwayAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc" />
-  </ItemGroup>
-  <ItemGroup>
 #include "gdk-4.vs12.sourcefiles"
     <ClCompile Include="..\..\..\gdk\gdkkeynames.c" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="gdk4-broadway.vcxproj">
-      <Project>{1df4c475-4472-4ee4-ac2b-3ab5a4c1a453}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="gdk4-win32.vcxproj">
-      <Project>{aba7685a-7cbb-4626-b5e5-6eeea5b489ef}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/build/win32/vs12/gsk-4.vcxprojin b/build/win32/vs12/gsk-4.vcxprojin
index a4bfca6..7206216 100755
--- a/build/win32/vs12/gsk-4.vcxprojin
+++ b/build/win32/vs12/gsk-4.vcxprojin
@@ -25,24 +25,24 @@
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
@@ -85,15 +85,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -105,17 +96,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
@@ -130,15 +110,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
@@ -150,17 +121,6 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
-    <Link>
-      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\..\gsk\gskenumtypes.c.template">
@@ -195,12 +155,6 @@
   <ItemGroup>
 #include "gsk-4.vs12.sourcefiles"
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/build/win32/vs12/gtk+-4.sln b/build/win32/vs12/gtk+-4.sln
index 5c81716..a23aba3 100644
--- a/build/win32/vs12/gtk+-4.sln
+++ b/build/win32/vs12/gtk+-4.sln
@@ -138,14 +138,14 @@ Global
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release|Win32.Build.0 = Release|Win32
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release|x64.ActiveCfg = Release|x64
                {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release|x64.Build.0 = Release|x64
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|Win32.Build.0 = Debug|Win32
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|x64.ActiveCfg = Debug|x64
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|x64.Build.0 = Debug|x64
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|Win32.ActiveCfg = Release|Win32
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|Win32.Build.0 = Release|Win32
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|x64.ActiveCfg = Release|x64
-               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|x64.Build.0 = Release|x64
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|Win32.ActiveCfg = Debug_Broadway|Win32
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|Win32.Build.0 = Debug_Broadway|Win32
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|x64.ActiveCfg = Debug_Broadway|x64
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Debug_Broadway|x64.Build.0 = Debug_Broadway|x64
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|Win32.ActiveCfg = 
Release_Broadway|Win32
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|Win32.Build.0 = Release_Broadway|Win32
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|x64.ActiveCfg = Release_Broadway|x64
+               {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}.Release_Broadway|x64.Build.0 = Release_Broadway|x64
                {BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}.Debug|Win32.ActiveCfg = Debug|Win32
                {BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}.Debug|Win32.Build.0 = Debug|Win32
                {BDAE6DE2-6BCC-4107-94F0-DA12214A02DE}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/build/win32/vs12/gtk-4.vcxprojin b/build/win32/vs12/gtk-4.vcxprojin
index 3171008..b1a7d1f 100644
--- a/build/win32/vs12/gtk-4.vcxprojin
+++ b/build/win32/vs12/gtk-4.vcxprojin
@@ -5,20 +5,36 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_Broadway|Win32">
+      <Configuration>Debug_Broadway</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Debug|x64">
       <Configuration>Debug</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_Broadway|x64">
+      <Configuration>Debug_Broadway</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
       <WholeProgramOptimization>true</WholeProgramOptimization>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_Broadway|Win32">
+      <Configuration>Release_Broadway</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|x64">
       <Configuration>Release</Configuration>
       <Platform>x64</Platform>
       <WholeProgramOptimization>true</WholeProgramOptimization>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_Broadway|x64">
+      <Configuration>Release_Broadway</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{95A4B53D-2773-4406-A2C1-8FD2840BBAD8}</ProjectGuid>
@@ -26,14 +42,35 @@
     <Keyword>Win32Proj</Keyword>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v120</PlatformToolset>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
@@ -41,36 +78,57 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
     <PlatformToolset>v120</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-ignore-broadway.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-copy-gtk-broadway.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-ignore-broadway.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gtk4-copy-gtk-broadway.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-gen-srcs.props" />
+    <Import Project="gtk4-ignore-broadway.props" />
   </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-gen-srcs.props" />
+    <Import Project="gtk4-copy-gtk-broadway.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-gen-srcs.props" />
+    <Import Project="gtk4-ignore-broadway.props" />
   </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gtk4-gen-srcs.props" />
+    <Import Project="gtk4-copy-gtk-broadway.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <LinkIncremental 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">true</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <LinkIncremental 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">false</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">true</LinkIncremental>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <LinkIncremental 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">false</LinkIncremental>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
@@ -95,6 +153,29 @@
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -117,6 +198,28 @@
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
+    <ClCompile>
+      
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -140,6 +243,29 @@
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
       
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -162,6 +288,28 @@
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
+    <ClCompile>
+      
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(GtkAdditionalLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
+      <ImportLibrary>$(TargetDir)$(ProjectName).0.lib</ImportLibrary>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\..\gtk\gtkdbusinterfaces.xml">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GTK+ DBus 
Sources...</Message>
@@ -176,6 +324,18 @@
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GTK+ DBus 
Sources...</Message>
       <Command 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkDbusBuiltSourcesX64)</Command>
       <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Generating GTK+ DBus 
Sources...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GenerateGtkDbusBuiltSources)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Generating GTK+ DBus 
Sources...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GenerateGtkDbusBuiltSourcesX64)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Generating GTK+ DBus 
Sources...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GenerateGtkDbusBuiltSources)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Generating GTK+ DBus 
Sources...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GenerateGtkDbusBuiltSourcesX64)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
     </CustomBuild>
     <CustomBuild Include="..\..\..\gtk\gtk-win32.rc.body">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying GTK+ Win32 Version 
Resource...</Message>
@@ -190,6 +350,18 @@
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying GTK+ Win32 Version 
Resource...</Message>
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyGtkWin32RC)</Command>
       <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\gtk-win32.rc;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Copying GTK+ Win32 Version 
Resource...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(CopyGtkWin32RC)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">..\..\..\gtk\gtk-win32.rc;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Copying GTK+ Win32 Version 
Resource...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(CopyGtkWin32RC)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">..\..\..\gtk\gtk-win32.rc;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Copying GTK+ Win32 
Version Resource...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(CopyGtkWin32RC)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">..\..\..\gtk\gtk-win32.rc;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Copying GTK+ Win32 Version 
Resource...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(CopyGtkWin32RC)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">..\..\..\gtk\gtk-win32.rc;%(Outputs)</Outputs>
     </CustomBuild>
     <CustomBuild Include="..\..\..\gtk\libgtk4.manifest.in">
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GTK+ Win32 
Manifest...</Message>
@@ -204,10 +376,24 @@
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GTK+ Win32 
Manifest...</Message>
       <Command 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkWin32Manifest)</Command>
       <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\libgtk4.manifest;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Generating GTK+ Win32 
Manifest...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GenerateGtkWin32Manifest)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">..\..\..\gtk\libgtk4.manifest;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Generating GTK+ Win32 
Manifest...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GenerateGtkWin32Manifest)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">..\..\..\gtk\libgtk4.manifest;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Generating GTK+ Win32 
Manifest...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GenerateGtkWin32Manifest)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">..\..\..\gtk\libgtk4.manifest;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Generating GTK+ Win32 
Manifest...</Message>
+      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GenerateGtkWin32Manifest)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">..\..\..\gtk\libgtk4.manifest;%(Outputs)</Outputs>
     </CustomBuild>
   </ItemGroup>
   <ItemGroup>
-    <ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
+    <ResourceCompile Include="..\..\..\gtk\gtk-win32.rc">
+      
<AdditionalIncludeDirectories>..\..\..\gdk\win32\rc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
   </ItemGroup>
   <ItemGroup>
 #include "gtk-4.vs12.sourcefiles"
@@ -231,6 +417,14 @@
     <Manifest Include="..\..\..\gtk\libgtk4.manifest" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="gdk4-broadway.vcxproj">
+      <Project>{1df4c475-4472-4ee4-ac2b-3ab5a4c1a453}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="gdk4-win32.vcxproj">
+      <Project>{aba7685a-7cbb-4626-b5e5-6eeea5b489ef}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
     <ProjectReference Include="gdk-4.vcxproj">
       <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-build-defines.props b/build/win32/vs12/gtk4-build-defines.props
index 4a11f4a..f46f7f2 100644
--- a/build/win32/vs12/gtk4-build-defines.props
+++ b/build/win32/vs12/gtk4-build-defines.props
@@ -14,7 +14,7 @@
     <GtkGdkCommonLibs>imm32.lib</GtkGdkCommonLibs>
     <GdkAdditionalLibs>winmm.lib;dwmapi.lib;setupapi.lib;$(GtkGdkCommonLibs)</GdkAdditionalLibs>
     <GdkBroadwayAdditionalLibs>ws2_32.lib</GdkBroadwayAdditionalLibs>
-    
<GtkAdditionalLibs>atk-1.0.lib;pangowin32-1.0.lib;winspool.lib;comctl32.lib;$(GtkGdkCommonLibs)</GtkAdditionalLibs>
+    
<GtkAdditionalLibs>atk-1.0.lib;pangowin32-1.0.lib;winspool.lib;comctl32.lib;$(GdkAdditionalLibs)</GtkAdditionalLibs>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4builddefinesprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs12/gtk4-builder-tool.vcxproj b/build/win32/vs12/gtk4-builder-tool.vcxproj
index 0404e86..8365f9b 100644
--- a/build/win32/vs12/gtk4-builder-tool.vcxproj
+++ b/build/win32/vs12/gtk4-builder-tool.vcxproj
@@ -166,10 +166,6 @@
     <ClCompile Include="..\..\..\gtk\gtk-builder-tool.c" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk-4.vcxproj">
       <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-copy-gdk-broadway.props b/build/win32/vs12/gtk4-copy-gtk-broadway.props
similarity index 76%
rename from build/win32/vs12/gtk4-copy-gdk-broadway.props
rename to build/win32/vs12/gtk4-copy-gtk-broadway.props
index 4901b2f..941445a 100644
--- a/build/win32/vs12/gtk4-copy-gdk-broadway.props
+++ b/build/win32/vs12/gtk4-copy-gtk-broadway.props
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
   <ImportGroup Label="PropertySheets">
-    <Import Project="gtk4-build-defines.props" />
+    <Import Project="gtk4-gen-srcs.props" />
   </ImportGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4copygdkbroadwayprops</_PropertySheetDisplayName>
@@ -13,36 +13,22 @@
     <PostBuildEvent>
       <Command>
 if "$(Configuration)" == "Release" goto END
-
 if "$(Configuration)" == "Debug" goto END
-
 if "$(Configuration)" == "Release_Broadway" goto DoRelease
-
 if "$(Configuration)" == "Debug_Broadway" goto DoDebug
 
-
 :DoRelease
-
 mkdir .\Release\$(Platform)\bin
-
-copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll .\Release\$(Platform)\bin\
-
-copy /b $(Configuration)\$(Platform)\bin\gdk-$(ApiVersion).lib .\Release\$(Platform)\bin\
-
+copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll .\Release\$(Platform)\bin\
+copy /b $(Configuration)\$(Platform)\bin\gtk-$(ApiVersion).lib .\Release\$(Platform)\bin\
 goto END
 
-
 :DoDebug
-
 mkdir .\Debug\$(Platform)\bin
-
-copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll .\Debug\$(Platform)\bin\
-
-copy /b $(Configuration)\$(Platform)\bin\gdk-$(ApiVersion).lib .\Debug\$(Platform)\bin\
-
+copy /b $(Configuration)\$(Platform)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll .\Debug\$(Platform)\bin\
+copy /b $(Configuration)\$(Platform)\bin\gtk-$(ApiVersion).lib .\Debug\$(Platform)\bin\
 goto END
 
-
 :END
       </Command>
     </PostBuildEvent>
diff --git a/build/win32/vs12/gtk4-demo-application.vcxprojin 
b/build/win32/vs12/gtk4-demo-application.vcxprojin
index f5ed864..d8599a1 100644
--- a/build/win32/vs12/gtk4-demo-application.vcxprojin
+++ b/build/win32/vs12/gtk4-demo-application.vcxprojin
@@ -158,10 +158,6 @@
 #include "gtk4-demo-application.vs12.sourcefiles"
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk-4.vcxproj">
       <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-demo.vcxprojin b/build/win32/vs12/gtk4-demo.vcxprojin
index 3022f41..8d536b3 100644
--- a/build/win32/vs12/gtk4-demo.vcxprojin
+++ b/build/win32/vs12/gtk4-demo.vcxprojin
@@ -172,10 +172,6 @@
 #include "gtk4-demo.vs12.sourcefiles"
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk-4.vcxproj">
       <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj 
b/build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj
index e6587f9..bf6a279 100644
--- a/build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj
+++ b/build/win32/vs12/gtk4-encode-symbolic-svg.vcxproj
@@ -166,8 +166,8 @@
     <ClCompile Include="..\..\..\gtk\encodesymbolic.c" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
+    <ProjectReference Include="gtk-4.vcxproj">
+      <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
   </ItemGroup>
diff --git a/build/win32/vs12/gtk4-icon-browser.vcxprojin b/build/win32/vs12/gtk4-icon-browser.vcxprojin
index 01015a0..e69a97c 100644
--- a/build/win32/vs12/gtk4-icon-browser.vcxprojin
+++ b/build/win32/vs12/gtk4-icon-browser.vcxprojin
@@ -162,10 +162,6 @@
 #include "gtk4-icon-browser.vs12.sourcefiles"
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk-4.vcxproj">
       <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-ignore-broadway.props b/build/win32/vs12/gtk4-ignore-broadway.props
index 5b4c893..ca870b8 100644
--- a/build/win32/vs12/gtk4-ignore-broadway.props
+++ b/build/win32/vs12/gtk4-ignore-broadway.props
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
   <ImportGroup Label="PropertySheets">
-    <Import Project="gtk4-build-defines.props" />
+    <Import Project="gtk4-gen-srcs.props" />
   </ImportGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4ignorebroadwayprops</_PropertySheetDisplayName>
@@ -11,7 +11,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <Link>
-      <AdditionalDependencies>$(OutDir)\gdk4-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>$(OutDir)\gsk-4.lib;$(OutDir)\gdk-4.lib;$(OutDir)\gdk4-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
     </Link>
   </ItemDefinitionGroup>
diff --git a/build/win32/vs12/gtk4-install.propsin b/build/win32/vs12/gtk4-install.propsin
index 898b118..9a486c0 100644
--- a/build/win32/vs12/gtk4-install.propsin
+++ b/build/win32/vs12/gtk4-install.propsin
@@ -9,15 +9,8 @@
 mkdir $(CopyDir)\bin
 mkdir $(CopyDir)\lib\pkgconfig
 
-copy "$(BinDir)\$(GtkDllPrefix)gdk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
-copy "$(BinDir)\$(GtkDllPrefix)gdk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
-copy "$(BinDir)\gdk-$(ApiVersion).lib" $(CopyDir)\lib
-
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_BIN
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_BIN
-copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
-copy "$(BinDir)\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
-copy "$(BinDir)\gsk-$(ApiVersion).lib" $(CopyDir)\lib
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll" $(CopyDir)\bin
 copy "$(BinDir)\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb" $(CopyDir)\bin
 copy "$(BinDir)\gtk-$(ApiVersion).lib" $(CopyDir)\lib
@@ -44,9 +37,6 @@ copy "$(BinDir)\broadwayd.pdb" $(CopyDir)\bin
 if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_RELEASE
 if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_DEBUG
 :DO_BROADWAY_RELEASE
-copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
-copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
-copy .\Release\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Release\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
@@ -68,9 +58,6 @@ copy .\Release\$(Platform)\bin\gtk4-builder-tool.pdb $(CopyDir)\bin
 goto DONE_BIN
 
 :DO_BROADWAY_DEBUG
-copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).dll $(CopyDir)\bin
-copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gsk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
-copy .\Debug\$(Platform)\bin\gsk-$(ApiVersion).lib $(CopyDir)\lib
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).dll $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-4$(GtkDllSuffix).pdb $(CopyDir)\bin
 copy .\Debug\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
@@ -91,9 +78,8 @@ copy .\Debug\$(Platform)\bin\gtk4-builder-tool.pdb $(CopyDir)\bin
 
 :DONE_BIN
 
-copy ..\gdk-4.0.pc $(CopyDir)\lib\pkgconfig
-copy ..\gsk-4.0.pc $(CopyDir)\lib\pkgconfig
 copy "..\gtk+-4.0.pc" $(CopyDir)\lib\pkgconfig
+copy "..\gtk+-4.0.pc" "$(CopyDir)\lib\pkgconfig\gtk+-win32-4.0.pc"
     </GtkDoInstallBin>
     <GtkDoInstall>
 echo off
@@ -131,7 +117,7 @@ $(CopyDir)\bin\gtk4-update-icon-cache.exe --ignore-theme-index --force "$(CopyDi
     </GtkPostInstall>
     <GenerateGtkPC>$(PythonPath)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) 
--host=i686-pc-vs$(VSVer)</GenerateGtkPC>
     <GenerateGtkPCX64>$(PythonPathX64)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) 
--host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
-    <GtkPCFiles>..\gdk-4.0.pc;..\gsk-4.0.pc;..\gtk+-4.0.pc</GtkPCFiles>
+    <GtkPCFiles>..\gtk+-4.0.pc</GtkPCFiles>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>gtk4installsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs12/gtk4-install.vcxproj b/build/win32/vs12/gtk4-install.vcxproj
index b213d2b..16b6ada 100644
--- a/build/win32/vs12/gtk4-install.vcxproj
+++ b/build/win32/vs12/gtk4-install.vcxproj
@@ -217,14 +217,6 @@
     </CustomBuild>
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="gsk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-eb2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk4-demo.vcxproj">
       <Project>{bdae6de2-6bcc-4107-94f0-da12214a02de}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs12/gtk4-query-settings.vcxproj b/build/win32/vs12/gtk4-query-settings.vcxproj
index 450063a..f8a1f80 100644
--- a/build/win32/vs12/gtk4-query-settings.vcxproj
+++ b/build/win32/vs12/gtk4-query-settings.vcxproj
@@ -166,10 +166,6 @@
     <ClCompile Include="..\..\..\gtk\gtk-query-settings.c" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="gdk-4.vcxproj">
-      <Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="gtk-4.vcxproj">
       <Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs14/Makefile.am b/build/win32/vs14/Makefile.am
index d5c5654..cc50fa0 100644
--- a/build/win32/vs14/Makefile.am
+++ b/build/win32/vs14/Makefile.am
@@ -34,7 +34,7 @@ EXTRA_DIST += \
        gdk4-broadway.vcxproj   \
        gdk4-broadway.vcxproj.filters   \
        gtk4-build-defines.props        \
-       gtk4-copy-gdk-broadway.props    \
+       gtk4-copy-gtk-broadway.props    \
        gtk4-gen-srcs.props     \
        gtk4-ignore-broadway.props      \
        gtk4-install.props      \


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