[pango] Add solution and project files for Visual Studio builds



commit b68d520e9ff526be4301f6db09c0faa077cd864a
Author: Tor Lillqvist <tml iki fi>
Date:   Wed Feb 10 15:30:12 2010 +0200

    Add solution and project files for Visual Studio builds
    
    The VS files are kept in build/win32/vs9, the same relative location
    as in GLib, mostly for historical reasons.
    
    Update README.win32 to reflect the VS possibility.
    
    Include the VS solution and project files in the tarball when doing a
    release.
    
    To avoid having to list source files in several locations, generate
    files listing source files at "make dist" time in the corresponding
    source directories. Use the C preprocessor to preprocess .vcprojin
    files that include said list files into the actual .vcproj project
    files.
    
    Provide a rc file for the pangocairo DLL, too.
    
    Construct and provide in the tarball a pregenerated config.h.win32
    which can be used as config.h when building with Visual C without
    running any configure script. Provide pregenerarated
    module-defs.h.win32, module-defs-lang.c.win32 files too.
    
    Define PANGO_MODULE_PREFIX appropriately in the relevant module source
    files if not available from the compilation command line.
    
    Update module-defs-fc.c.win32 and module-defs-win32.c.win32 to match
    what the configure script provides.

 Makefile.am                         |    4 +-
 README.win32                        |   28 +----
 build/win32/vs9/Makefile.am         |    8 ++
 build/win32/vs9/README.txt          |   35 +++++++
 build/win32/vs9/install.vcproj      |   78 +++++++++++++++
 build/win32/vs9/pango.sln           |   79 +++++++++++++++
 build/win32/vs9/pango.vcprojin      |  161 ++++++++++++++++++++++++++++++
 build/win32/vs9/pango.vsprops       |  137 ++++++++++++++++++++++++++
 build/win32/vs9/pangocairo.vcprojin |  170 ++++++++++++++++++++++++++++++++
 build/win32/vs9/pangoft2.vcprojin   |  183 +++++++++++++++++++++++++++++++++++
 build/win32/vs9/pangowin32.vcproj   |  165 +++++++++++++++++++++++++++++++
 build/win32/vs9/stdint.h            |   36 +++++++
 build/win32/vs9/unistd.h            |    1 +
 configure.in                        |    9 ++-
 modules/arabic/arabic-fc.c          |    4 +
 modules/arabic/arabic-lang.c        |    4 +
 modules/basic/basic-fc.c            |    5 +
 modules/basic/basic-win32.c         |    5 +
 modules/hangul/hangul-fc.c          |    4 +
 modules/hebrew/hebrew-fc.c          |    5 +
 modules/indic/indic-fc.c            |    4 +
 modules/indic/indic-lang.c          |    4 +
 modules/khmer/khmer-fc.c            |    4 +
 modules/syriac/syriac-fc.c          |    4 +
 modules/thai/thai-fc.c              |    5 +
 modules/tibetan/tibetan-fc.c        |    4 +
 pango/Makefile.am                   |   55 +++++++++-
 pango/mini-fribidi/Makefile.am      |   10 ++
 pango/module-defs-fc.c.win32        |   40 +++-----
 pango/module-defs-lang.c.win32      |   11 ++
 pango/module-defs-win32.c.win32     |   26 +----
 pango/module-defs.h.win32           |   74 ++++++++++++++
 pango/opentype/Makefile.am          |   10 ++
 33 files changed, 1293 insertions(+), 79 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 8b0889f..b0b56ec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to create Makefile.in.
 
-SUBDIRS= pango modules pango-view examples docs tools tests
+SUBDIRS= pango modules pango-view examples docs tools tests build
 
 EXTRA_DIST = 			\
 	autogen.sh		\
@@ -31,9 +31,11 @@ EXTRA_DIST = 			\
 	MAINTAINERS		\
 	HACKING			\
 	README.win32		\
+	config.h.win32		\
 	pango-zip.sh.in		\
 	sanitize-la.sh		\
 	pango.doap
+
 MAINTAINERCLEANFILES = \
 	$(srcdir)/INSTALL \
 	$(srcdir)/aclocal.m4 \
diff --git a/README.win32 b/README.win32
index 68fcd8a..283b6cb 100644
--- a/README.win32
+++ b/README.win32
@@ -6,11 +6,11 @@ pangowin32). Much of the GDI font API calls are in cairo.
 The pangoft2 backend was originally written with Win32 in mind, but
 its main use nowadays is on other platforms than Win32.
 
-There are two ways to build Pango for Win32:
+There are three ways to build Pango for Win32:
 
 1) Use gcc (mingw), libtool, make, like on Unix.
 
-If building from CVS, run the autogen.sh script that runs aclocal,
+If building from git, run the autogen.sh script that runs aclocal,
 automake, autoconf and configure to build makefiles etc. This is what
 tml novell com uses. Pass the same switches to autogen.sh that you
 would pass to the configure script.
@@ -20,31 +20,15 @@ make should be enough. But, as always, you need to understand what is
 happening and follow the progress in case manual intervention is
 needed.
 
-If you want to support complex scripts (which you should!), you need
-the usp10.h header from the Platform SDK. Otherwise the basic-win32
-shaper module won' use Uniscribe and for instance Arabic and Indic
-scripts will look like crap. (Yes, complex script support *is*
-important. It is one of the main selling points of GTK+ and Pango.)
-Pass the --with-usp10 flag to the configure script to tell it where
-you have the Platform SDK (or other source of an "usp10.h" or
-"include/usp10.h" file).
-
 tml ran the configure script like this when building binaries for
 Pango 1.10.0:
 
-PATH=/devel/dist/glib-2.8.0/bin:$PATH ACLOCAL_FLAGS="-I /devel/dist/glib-2.8.0/share/aclocal" PKG_CONFIG_PATH=/devel/dist/glib-2.8.0/lib/pkgconfig:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3' CPPFLAGS='-I/opt/gnu/include' LDFLAGS='-L/opt/gnu/lib' CFLAGS=-O ./configure --disable-gtk-doc --with-usp10=/opt/psdk  --without-x --prefix=c:/devel/target/pango-1.10.0
-
-The pango.modules file tends not to get automatically set up correctly
-on Win32. Check that. Also make sure you set up a pango.aliases file
-if you want to support non-Latin scripts. pango.aliases file used by
-tml looks like this:
+PATH=/devel/dist/glib-2.8.0/bin:$PATH ACLOCAL_FLAGS="-I /devel/dist/glib-2.8.0/share/aclocal" PKG_CONFIG_PATH=/devel/dist/glib-2.8.0/lib/pkgconfig:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3' CPPFLAGS='-I/opt/gnu/include' LDFLAGS='-L/opt/gnu/lib' CFLAGS=-O ./configure --disable-gtk-doc  --without-x --prefix=c:/devel/target/pango-1.10.0
 
-tahoma = "tahoma,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal"
-sans = "arial,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal"
-serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,latha,mangal"
-monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,latha,mangal"
+2) Use Visual Studio 2008. Use the solution file in
+build/win32/vs9. See the README.txt there for more information.
 
-2) Use MSVC and nmake. Use the makefile.msc makefiles. These makefiles
+3) Use MSVC and nmake. Use the makefile.msc makefiles. These makefiles
 are supported by Hans Breuer. They requires manual editing. You need
 to have the source code to some suitable version of glib in a sibling
 directory. Ask Hans for advice.
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
new file mode 100644
index 0000000..b654ba3
--- /dev/null
+++ b/build/win32/vs9/Makefile.am
@@ -0,0 +1,8 @@
+EXTRA_DIST = \
+	pango.sln \
+	pango.vsprops \
+	pango.vcproj \
+	pangoft2.vcproj \
+	pangowin32.vcproj \
+	pangocairo.vcproj \
+	install.vcproj
diff --git a/build/win32/vs9/README.txt b/build/win32/vs9/README.txt
new file mode 100644
index 0000000..b7c4e90
--- /dev/null
+++ b/build/win32/vs9/README.txt
@@ -0,0 +1,35 @@
+Note that all this is rather experimental.
+
+This VS9 solution and the projects it includes are intented to be used
+in a Pango source tree unpacked from a tarball. In a git checkout you
+first need to use some Unix-like environment or manual work to expand
+files as needed, for instance the .vcprojin files here into .vcproj
+files.
+
+Set up the source tree as follows under some arbitrary top folder
+<root>:
+
+<root>\pango\<this-pango-source-tree>
+<root>\vs9\<PlatformName>
+
+*this* file you are now reading is thus located at
+<root>\pango\<this-pango-source-tree>\build\win32\vs9\README.txt.
+
+<PlatformName> is either Win32 or x64, as in VS9 project files.
+
+You should unpack the glib-dev zip file into
+<root>\vs9\<PlatformName>, so that for instance glib.h ends up at
+<root>\vs9\<PlatformName>\include\glib-2.0\glib.h.
+
+The "install" project will copy build results and headers into their
+appropriate location under <root>\vs9\<PlatformName>. For instance,
+built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
+<root>\vs9\<PlatformName>\lib and headers into
+<root>\vs9\<PlatformName>\include\pangpo-1.0. This is then from where
+project files higher in the stack are supposed to look for them, not
+from a specific Pango source tree like this one. It is important to
+keep separate the concept of a "source tree", where also non-public
+headers are present, and an "install tree" where only public headers
+are present.
+
+--Tor Lillqvist <tml iki fi>
diff --git a/build/win32/vs9/install.vcproj b/build/win32/vs9/install.vcproj
new file mode 100644
index 0000000..3b9dad6
--- /dev/null
+++ b/build/win32/vs9/install.vcproj
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="install"
+	ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
+	RootNamespace="install"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			
+ConfigurationType="10"
+			CharacterSet="2"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PangoDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PangoDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PangoDoInstall)"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			OutputDirectory="$(GlibEtcInstallRoot)"
+			ConfigurationType="10"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			DeleteExtensionsOnClean=""
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine="$(PangoDoInstall)"
+			/>
+		</Configuration>
+	</Configurations>
+</VisualStudioProject>
diff --git a/build/win32/vs9/pango.sln b/build/win32/vs9/pango.sln
new file mode 100644
index 0000000..ededa74
--- /dev/null
+++ b/build/win32/vs9/pango.sln
@@ -0,0 +1,79 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pango", "pango.vcproj", "{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangoft2", "pangoft2.vcproj", "{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}"
+	ProjectSection(ProjectDependencies) = postProject
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangowin32", "pangowin32.vcproj", "{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}"
+	ProjectSection(ProjectDependencies) = postProject
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangocairo", "pangocairo.vcproj", "{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}"
+	ProjectSection(ProjectDependencies) = postProject
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
+	ProjectSection(ProjectDependencies) = postProject
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Debug|Win32.ActiveCfg = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Debug|Win32.Build.0 = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Debug|x64.ActiveCfg = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Debug|x64.Build.0 = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Release|Win32.ActiveCfg = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Release|Win32.Build.0 = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Release|x64.ActiveCfg = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}.Release|x64.Build.0 = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Debug|Win32.ActiveCfg = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Debug|Win32.Build.0 = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Debug|x64.ActiveCfg = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Debug|x64.Build.0 = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Release|Win32.ActiveCfg = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Release|Win32.Build.0 = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Release|x64.ActiveCfg = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}.Release|x64.Build.0 = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Debug|Win32.ActiveCfg = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Debug|Win32.Build.0 = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Debug|x64.ActiveCfg = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Debug|x64.Build.0 = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Release|Win32.ActiveCfg = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Release|Win32.Build.0 = Release|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Release|x64.ActiveCfg = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}.Release|x64.Build.0 = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Debug|Win32.ActiveCfg = Debug|Win32
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Debug|x64.ActiveCfg = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Debug|x64.Build.0 = Debug|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Release|Win32.ActiveCfg = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Release|x64.ActiveCfg = Release|x64
+		{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}.Release|x64.Build.0 = Release|x64
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.Build.0 = Debug|x64
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.ActiveCfg = Release|Win32
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.Build.0 = Release|Win32
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.ActiveCfg = Release|x64
+		{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/build/win32/vs9/pango.vcprojin b/build/win32/vs9/pango.vcprojin
new file mode 100644
index 0000000..a68229e
--- /dev/null
+++ b/build/win32/vs9/pango.vcprojin
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="us-ascii"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="pango"
+	ProjectGUID="{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}"
+	RootNamespace="pango"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pango.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pango.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pango.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pango.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\..\..\pango\pango.rc"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\modules\arabic\arabic-lang.c" />
+			<File RelativePath="..\..\..\modules\indic\indic-lang.c" />
+#include "libpango.sourcefiles"
+#include "mini-fribidi/libmini-fribidi.sourcefiles"
+		</Filter>
+	</Files>
+</VisualStudioProject>
diff --git a/build/win32/vs9/pango.vsprops b/build/win32/vs9/pango.vsprops
new file mode 100644
index 0000000..f235006
--- /dev/null
+++ b/build/win32/vs9/pango.vsprops
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="pangoprops"
+	OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
+	IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj"
+	>
+	<Tool
+		Name="VCCLCompilerTool"
+		AdditionalIncludeDirectories="..\..\..;..\..\..\pango;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\fontconfig;$(GlibEtcInstallRoot)\include\freetype2"
+		PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES"
+		ForcedIncludeFiles="msvc_recommended_pragmas.h"
+	/>
+	<Tool
+		Name="VCLinkerTool"
+		AdditionalDependencies="gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
+		AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
+	/>
+	<Tool
+		Name="VCPreBuildEventTool"
+		CommandLine="
+if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
+copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
+:DONE_CONFIG_H&#x0D;&#x0A;
+
+if exist ..\..\..\pango\DONE_MODULE_DEFS_H goto DONE_MODULE_DEFS_H&#x0D;&#x0A;
+copy /y ..\..\..\pango\module-defs.h.win32 ..\..\..\pango\module-defs.h&#x0D;&#x0A;
+copy ..\..\..\pango\module-defs.h.win32 ..\..\..\pango\DONE_MODULE_DEFS_H&#x0D;&#x0A;
+:DONE_MODULE_DEFS_H&#x0D;&#x0A;
+
+if exist ..\..\..\pango\module-defs-lang.c goto DONE_MODULE_DEFS_LANG_C&#x0D;&#x0A;
+copy ..\..\..\pango\module-defs-lang.c.win32 ..\..\..\pango\module-defs-lang.c&#x0D;&#x0A;
+:DONE_MODULE_DEFS_LANG_C&#x0D;&#x0A;
+
+if exist ..\..\..\pango\module-defs-fc.c goto DONE_MODULE_DEFS_FC_C&#x0D;&#x0A;
+copy ..\..\..\pango\module-defs-fc.c.win32 ..\..\..\pango\module-defs-fc.c&#x0D;&#x0A;
+:DONE_MODULE_DEFS_FC_C&#x0D;&#x0A;
+
+if exist ..\..\..\pango\module-defs-win32.c goto DONE_MODULE_DEFS_WIN32_C&#x0D;&#x0A;
+copy ..\..\..\pango\module-defs-win32.c.win32 ..\..\..\pango\module-defs-win32.c&#x0D;&#x0A;
+:DONE_MODULE_DEFS_WIN32_C&#x0D;&#x0A;
+"
+	/>
+	<UserMacro
+		Name="PangoApiVersion"
+		Value="1.0"
+	/>
+	<UserMacro
+		Name="PangoBinaryVersion"
+		Value="1.6.0"
+	/>
+	<UserMacro
+		Name="PangoDummyPrefix"
+		Value="/dummy"
+	/>
+	<UserMacro
+		Name="PangoDefines"
+		Value="G_LOG_DOMAIN=\&quot;Pango\&quot;;PANGO_ENABLE_BACKEND;PANGO_ENABLE_ENGINE;SYSCONFDIR=\&quot;$(PangoDummyPrefix)/etc\&quot;;LIBDIR=\&quot;$(PangoDummyPrefix)/lib\&quot;"
+	/>
+	<UserMacro
+		Name="PangoDoInstall"
+		Value="
+echo on&#x0D;&#x0A;
+mkdir $(OutDir)\bin&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(OutDir)\bin&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(OutDir)\bin&#x0D;&#x0A;
+
+mkdir $(OutDir)\lib&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*-$(PangoApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
+
+mkdir $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-attributes.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-bidi-type.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-break.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-context.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-coverage.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-engine.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-enum-types.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-features.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-font.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-fontmap.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-fontset.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-glyph-item.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-glyph.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-gravity.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-item.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-language.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-layout.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-matrix.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-modules.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-ot.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-renderer.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-script.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-tabs.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-types.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-utils.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangocairo.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangofc-decoder.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangofc-font.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangofc-fontmap.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangoft2.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangowin32.h $(OutDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+"
+	/>
+	<UserMacro
+		Name="PangoLibtoolCompatibleDllPrefix"
+		Value="lib"
+	/>
+	<UserMacro
+		Name="PangoLibtoolCompatibleDllSuffix"
+		Value="-$(PangoApiVersion)-0"
+	/>
+	<UserMacro
+		Name="PangoSeparateVS9DllPrefix"
+		Value=""
+	/>
+	<UserMacro
+		Name="PangoSeparateVS9DllSuffix"
+		Value="-1-vs9"
+	/>
+	<!-- Change these two to PangoLibtoolCompatibleDllPrefix and
+	PangoLibtoolCompatibleDllSuffix if that is what you want -->
+	<UserMacro
+		Name="PangoDllPrefix"
+		Value="$(PangoSeparateVS9DllPrefix)"
+	/>
+	<UserMacro
+		Name="PangoDllSuffix"
+		Value="$(PangoSeparateVS9DllSuffix)"
+	/>
+	<UserMacro
+		Name="GlibEtcInstallRoot"
+		Value="..\..\..\..\..\vs9\$(PlatformName)"
+	/>
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/pangocairo.vcprojin b/build/win32/vs9/pangocairo.vcprojin
new file mode 100644
index 0000000..8b30b3e
--- /dev/null
+++ b/build/win32/vs9/pangocairo.vcprojin
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="us-ascii"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="pangocairo"
+	ProjectGUID="{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}"
+	RootNamespace="pangocairo"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="cairo.lib fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="cairo.lib fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="cairo.lib fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="cairo.lib fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\..\..\pango\pangocairo.rc"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\pango\pangocairo-fcfont.c" />
+			<File RelativePath="..\..\..\pango\pangocairo-fcfontmap.c" />
+			<File RelativePath="..\..\..\pango\pangocairo-win32font.c" />
+			<File RelativePath="..\..\..\pango\pangocairo-win32fontmap.c" />
+#include "libpangocairo.sourcefiles"
+		</Filter>
+	</Files>
+</VisualStudioProject>
diff --git a/build/win32/vs9/pangoft2.vcprojin b/build/win32/vs9/pangoft2.vcprojin
new file mode 100644
index 0000000..50a757a
--- /dev/null
+++ b/build/win32/vs9/pangoft2.vcprojin
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="us-ascii"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="pangoft2"
+	ProjectGUID="{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C73}"
+	RootNamespace="pangoft2"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines);HAVE_GLIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="fontconfig.lib freetype.lib"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\..\..\pango\pangoft2.rc"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\modules\arabic\arabic-fc.c" />
+			<File RelativePath="..\..\..\modules\arabic\arabic-ot.c" />
+			<File RelativePath="..\..\..\modules\basic\basic-fc.c" />
+			<File RelativePath="..\..\..\modules\hangul\hangul-fc.c" />
+			<File RelativePath="..\..\..\modules\hebrew\hebrew-fc.c" />
+			<File RelativePath="..\..\..\modules\hebrew\hebrew-shaper.c" />
+			<File RelativePath="..\..\..\modules\indic\indic-fc.c" />
+			<File RelativePath="..\..\..\modules\indic\indic-ot.c" />
+			<File RelativePath="..\..\..\modules\indic\indic-ot-class-tables.c" />
+			<File RelativePath="..\..\..\modules\indic\mprefixups.c" />
+			<File RelativePath="..\..\..\modules\khmer\khmer-fc.c" />
+			<File RelativePath="..\..\..\modules\syriac\syriac-fc.c" />
+			<File RelativePath="..\..\..\modules\syriac\syriac-ot.c" />
+			<File RelativePath="..\..\..\modules\thai\thai-charprop.c" />
+			<File RelativePath="..\..\..\modules\thai\thai-fc.c" />
+			<File RelativePath="..\..\..\modules\thai\thai-shaper.c" />
+			<File RelativePath="..\..\..\modules\tibetan\tibetan-fc.c" />
+#include "opentype/libharfbuzz.sourcefiles"
+#include "libpangoft2.sourcefiles"
+		</Filter>
+	</Files>
+</VisualStudioProject>
diff --git a/build/win32/vs9/pangowin32.vcproj b/build/win32/vs9/pangowin32.vcproj
new file mode 100644
index 0000000..80e1f20
--- /dev/null
+++ b/build/win32/vs9/pangowin32.vcproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="us-ascii"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="pangowin32"
+	ProjectGUID="{68CC80B9-7225-4FB5-B9AB-9C1DF50B6C74}"
+	RootNamespace="pangowin32"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="1"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="_DEBUG;$(PangoDefines)"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			InheritedPropertySheets=".\pango.vsprops"
+			ConfigurationType="2"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="$(PangoDefines)"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
+				LinkIncremental="2"
+				ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				ImportLibrary="$(TargetDir)$(ProjectName)-$(PangoApiVersion).lib"
+				TargetMachine="17"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\..\..\pango\pangowin32.rc"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File RelativePath="..\..\..\modules\basic\basic-win32.c" />
+			<File RelativePath="..\..\..\pango\module-defs-win32.c" />
+			<File RelativePath="..\..\..\pango\pangowin32.c" />
+			<File RelativePath="..\..\..\pango\pangowin32-fontcache.c" />
+			<File RelativePath="..\..\..\pango\pangowin32-fontmap.c" />
+		</Filter>
+	</Files>
+</VisualStudioProject>
diff --git a/build/win32/vs9/stdint.h b/build/win32/vs9/stdint.h
new file mode 100644
index 0000000..fcab43a
--- /dev/null
+++ b/build/win32/vs9/stdint.h
@@ -0,0 +1,36 @@
+typedef signed char int8_t;
+typedef unsigned char   uint8_t;
+typedef short  int16_t;
+typedef unsigned short  uint16_t;
+typedef int  int32_t;
+typedef unsigned   uint32_t;
+typedef long long  int64_t;
+typedef unsigned long long   uint64_t;
+typedef signed char int_least8_t;
+typedef unsigned char   uint_least8_t;
+typedef short  int_least16_t;
+typedef unsigned short  uint_least16_t;
+typedef int  int_least32_t;
+typedef unsigned   uint_least32_t;
+typedef long long  int_least64_t;
+typedef unsigned long long   uint_least64_t;
+typedef char int_fast8_t;
+typedef unsigned char uint_fast8_t;
+typedef short  int_fast16_t;
+typedef unsigned short  uint_fast16_t;
+typedef int  int_fast32_t;
+typedef unsigned  int  uint_fast32_t;
+typedef long long  int_fast64_t;
+typedef unsigned long long   uint_fast64_t;
+#ifdef _WIN64
+typedef __int64 intptr_t;
+#else
+typedef int intptr_t;
+#endif
+#ifdef _WIN64
+typedef unsigned __int64 uintptr_t;
+#else
+typedef unsigned int uintptr_t;
+#endif
+typedef __int64  intmax_t;
+typedef unsigned __int64 uintmax_t;
diff --git a/build/win32/vs9/unistd.h b/build/win32/vs9/unistd.h
new file mode 100644
index 0000000..8655b1d
--- /dev/null
+++ b/build/win32/vs9/unistd.h
@@ -0,0 +1 @@
+#include <io.h>
diff --git a/configure.in b/configure.in
index 8e2bebc..2e03066 100644
--- a/configure.in
+++ b/configure.in
@@ -758,9 +758,9 @@ for module in $included_modules; do
   module_c=`echo $module | sed s/-/_/`
   cat >> pango/module-defs.h <<EOTEXT
 extern void         _pango_${module_c}_script_engine_list (PangoEngineInfo **engines, int *n_engines);
-extern PangoEngine *_pango_${module_c}_script_engine_init (GTypeModule *module);
+extern void         _pango_${module_c}_script_engine_init (GTypeModule *module);
 extern void         _pango_${module_c}_script_engine_exit (void);
-extern void         _pango_${module_c}_script_engine_create (const char *id);
+extern PangoEngine *_pango_${module_c}_script_engine_create (const char *id);
 
 EOTEXT
 done 
@@ -963,6 +963,7 @@ pango/opentype/Makefile
 pango/pango.rc
 pango/pangoft2.rc
 pango/pangowin32.rc
+pango/pangocairo.rc
 pango/pangox.rc
 pango/pangoxft.rc
 pango-view/Makefile
@@ -981,6 +982,9 @@ docs/Makefile
 docs/version.xml
 tools/Makefile
 tests/Makefile
+build/Makefile
+build/win32/Makefile
+build/win32/vs9/Makefile
 pango.pc
 pangox.pc
 pangowin32.pc
@@ -994,6 +998,7 @@ pangoft2-uninstalled.pc
 pangoxft-uninstalled.pc
 pangocairo-uninstalled.pc
 pango-zip.sh
+config.h.win32
 ])
 
 AC_CONFIG_FILES([tests/runtests.sh],
diff --git a/modules/arabic/arabic-fc.c b/modules/arabic/arabic-fc.c
index 4b024e1..ff1ef0a 100644
--- a/modules/arabic/arabic-fc.c
+++ b/modules/arabic/arabic-fc.c
@@ -27,6 +27,10 @@
 
 #include "arabic-ot.h"
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_arabic_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 #include "pangofc-font.h"
diff --git a/modules/arabic/arabic-lang.c b/modules/arabic/arabic-lang.c
index ee23bad..e17486c 100644
--- a/modules/arabic/arabic-lang.c
+++ b/modules/arabic/arabic-lang.c
@@ -25,6 +25,10 @@
 #include "config.h"
 #include <string.h>
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_arabic_lang
+#endif
+
 #include "pango-engine.h"
 #include "pango-break.h"
 
diff --git a/modules/basic/basic-fc.c b/modules/basic/basic-fc.c
index 6e0d2ef..c390778 100644
--- a/modules/basic/basic-fc.c
+++ b/modules/basic/basic-fc.c
@@ -26,6 +26,11 @@
 #include <string.h>
 
 #include <glib/gprintf.h>
+
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_basic_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 #include "pangofc-font.h"
diff --git a/modules/basic/basic-win32.c b/modules/basic/basic-win32.c
index ecb139e..1565a7c 100644
--- a/modules/basic/basic-win32.c
+++ b/modules/basic/basic-win32.c
@@ -30,6 +30,11 @@
 #include <glib.h>
 
 #include "pangowin32.h"
+
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_basic_win32
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 
diff --git a/modules/hangul/hangul-fc.c b/modules/hangul/hangul-fc.c
index 7692a84..ab542e8 100644
--- a/modules/hangul/hangul-fc.c
+++ b/modules/hangul/hangul-fc.c
@@ -23,6 +23,10 @@
 #include "config.h"
 #include <string.h>
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_hangul_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 #include "pangofc-font.h"
diff --git a/modules/hebrew/hebrew-fc.c b/modules/hebrew/hebrew-fc.c
index fcfed2b..056a4ff 100644
--- a/modules/hebrew/hebrew-fc.c
+++ b/modules/hebrew/hebrew-fc.c
@@ -27,6 +27,11 @@
 #include <string.h>
 
 #include <pango/pango-ot.h>
+
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_hebrew_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 #include "pangofc-font.h"
diff --git a/modules/indic/indic-fc.c b/modules/indic/indic-fc.c
index 3a232be..ef94a4d 100644
--- a/modules/indic/indic-fc.c
+++ b/modules/indic/indic-fc.c
@@ -27,6 +27,10 @@
 
 #include "indic-ot.h"
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_indic_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-ot.h"
 #include "pango-utils.h"
diff --git a/modules/indic/indic-lang.c b/modules/indic/indic-lang.c
index dc01b6f..f8b563e 100644
--- a/modules/indic/indic-lang.c
+++ b/modules/indic/indic-lang.c
@@ -23,6 +23,10 @@
 #include "config.h"
 #include <string.h>
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_indic_lang
+#endif
+
 #include "pango-engine.h"
 #include "pango-break.h"
 
diff --git a/modules/khmer/khmer-fc.c b/modules/khmer/khmer-fc.c
index 14357d7..7fb2172 100644
--- a/modules/khmer/khmer-fc.c
+++ b/modules/khmer/khmer-fc.c
@@ -59,6 +59,10 @@
 #include "config.h"
 #include <string.h>
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_khmer_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-ot.h"
 #include "pango-utils.h"
diff --git a/modules/syriac/syriac-fc.c b/modules/syriac/syriac-fc.c
index 7ba05fb..6d7ed63 100644
--- a/modules/syriac/syriac-fc.c
+++ b/modules/syriac/syriac-fc.c
@@ -28,6 +28,10 @@
 
 #include "syriac-ot.h"
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_syriac_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-utils.h"
 #include "pangofc-font.h"
diff --git a/modules/thai/thai-fc.c b/modules/thai/thai-fc.c
index 837a028..f41135a 100644
--- a/modules/thai/thai-fc.c
+++ b/modules/thai/thai-fc.c
@@ -32,6 +32,11 @@
 
 #include <glib.h>
 #include "pango-ot.h"
+
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_thai_fc
+#endif
+
 #include "pango-engine.h"
 #include "pangofc-font.h"
 
diff --git a/modules/tibetan/tibetan-fc.c b/modules/tibetan/tibetan-fc.c
index 4e89416..c49f400 100644
--- a/modules/tibetan/tibetan-fc.c
+++ b/modules/tibetan/tibetan-fc.c
@@ -67,6 +67,10 @@
 #include "config.h"
 #include <string.h>
 
+#ifndef PANGO_MODULE_PREFIX
+#define PANGO_MODULE_PREFIX _pango_tibetan_fc
+#endif
+
 #include "pango-engine.h"
 #include "pango-ot.h"
 #include "pango-utils.h"
diff --git a/pango/Makefile.am b/pango/Makefile.am
index cef644f..ce3d0b7 100644
--- a/pango/Makefile.am
+++ b/pango/Makefile.am
@@ -14,8 +14,6 @@ if HAVE_FREETYPE
 OPENTYPE_SUBDIR=opentype
 endif
 
-EXTRA_DIST = 
-
 FRIBIDI_SUBDIR=mini-fribidi
 
 SUBDIRS = $(OPENTYPE_SUBDIR) $(FRIBIDI_SUBDIR)
@@ -350,18 +348,23 @@ libpangocairo_1_0_la_LIBADD =			\
 	$(libm)
 libpangocairo_1_0_la_DEPENDENCIES =		\
 	libpango-$(PANGO_API_VERSION).la
-libpangocairo_1_0_la_SOURCES =  \
+pangocairo_core_sources = \
 	pangocairo-context.c    \
 	pangocairo-font.c	\
 	pangocairo-fontmap.c    \
 	pangocairo-render.c	\
 	pangocairo-private.h
 
+libpangocairo_1_0_la_SOURCES = $(pangocairo_core_sources)
+
 if HAVE_CAIRO_WIN32
 if PLATFORM_WIN32
-libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def
-libpangocairo_1_0_la_DEPENDENCIES += pangocairo.def
+libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def -Wl,pangocairo-win32-res.o
+libpangocairo_1_0_la_DEPENDENCIES += pangocairo-win32-res.o pangocairo.def
 endif
+pangocairo-win32-res.o: pangocairo.rc
+	$(AM_V_GEN) $(WINDRES) $< $@
+
 
 libpangocairo_1_0_la_LIBADD += libpangowin32-$(PANGO_API_VERSION).la $(WIN32_LIBS)
 libpangocairo_1_0_la_DEPENDENCIES += libpangowin32-$(PANGO_API_VERSION).la 
@@ -556,9 +559,11 @@ pango_querymodules_LDADD += libpangowin32-$(PANGO_API_VERSION).la
 endif
 pango_querymodules_LDADD += libpango-$(PANGO_API_VERSION).la $(GLIB_LIBS)
 
-EXTRA_DIST +=					\
+EXTRA_DIST =					\
 	pango-enum-types.h			\
 	module-defs.h				\
+	module-defs.h.win32			\
+	module-defs-lang.c.win32		\
 	module-defs-fc.c.win32			\
 	module-defs-win32.c.win32		\
 	pango.def				\
@@ -573,6 +578,8 @@ EXTRA_DIST +=					\
 	pangoft2.rc.in				\
 	pangowin32.rc				\
 	pangowin32.rc.in			\
+	pangocairo.rc				\
+	pangocairo.rc.in			\
 	pangox.rc				\
 	pangox.rc.in				\
 	pangoxft.rc				\
@@ -630,4 +637,40 @@ uninstall-local: uninstall-ms-lib uninstall-def-files
 
 TESTS = check.defs
 
+dist-hook: \
+	../build/win32/vs9/pango.vcproj \
+	../build/win32/vs9/pangoft2.vcproj \
+	../build/win32/vs9/pangocairo.vcproj
+
+# pangowin32.vcproj is not automatically built, it is not being changed
+
+../build/win32/vs9/pango.vcproj: $(top_srcdir)/build/win32/vs9/pango.vcprojin mini-fribidi/libmini-fribidi.sourcefiles
+	for F in $(libpango_1_0_la_SOURCES); do \
+		case $$F in \
+		*.c) echo '   <File RelativePath="..\..\..\pango\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >libpango.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/pango.vcprojin >$@
+
+../build/win32/vs9/pangoft2.vcproj: $(top_srcdir)/build/win32/vs9/pangoft2.vcprojin opentype/libharfbuzz.sourcefiles
+	for F in $(libpangoft2_1_0_la_SOURCES); do \
+		case $$F in \
+		*.c) echo '   <File RelativePath="..\..\..\pango\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >libpangoft2.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangoft2.vcprojin >$@
+
+../build/win32/vs9/pangocairo.vcproj: $(top_srcdir)/build/win32/vs9/pangocairo.vcprojin
+# Backend-specific sources for the libpangocairo DLL are explicitly
+# listed in the vcprojin file
+	for F in $(pangocairo_core_sources); do \
+		case $$F in \
+		*.c) echo '   <File RelativePath="..\..\..\pango\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >libpangocairo.sourcefiles
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangocairo.vcprojin >$@
+
 -include $(top_srcdir)/git.mk
diff --git a/pango/mini-fribidi/Makefile.am b/pango/mini-fribidi/Makefile.am
index a9e08d6..a0baa6b 100644
--- a/pango/mini-fribidi/Makefile.am
+++ b/pango/mini-fribidi/Makefile.am
@@ -30,4 +30,14 @@ EXTRA_DIST = 			\
         fribidi_types.i
 
 
+dist-hook: libmini-fribidi.sourcefiles
+
+libmini-fribidi.sourcefiles: Makefile
+	for F in $(libmini_fribidi_la_SOURCES); do \
+		case $$F in \
+		*.c) echo '			<File RelativePath="..\..\..\pango\mini-fribidi\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >libmini-fribidi.sourcefiles
+
 -include $(top_srcdir)/git.mk
diff --git a/pango/module-defs-fc.c.win32 b/pango/module-defs-fc.c.win32
index a6ae1cf..7a44537 100644
--- a/pango/module-defs-fc.c.win32
+++ b/pango/module-defs-fc.c.win32
@@ -1,31 +1,17 @@
-/* Hand-written. Once the GNU configure mechanism is used
- * on Win32, too, can be generated.
-*/
+/* Autogenerated by configure and then saved for use when compiling with
+   Visual C. */
 
-#include "modules.h"
-
-#ifdef PANGO_MODULE_PREFIX
-/* by defining PANGO_MODULE_PREFIX the basic module gets include in the
- * backend library, here ../modules/basic/basic-fc.c
- * It helps the backend to not fall on its nose even with a screwed module
- * configuration. There should be at least enough fonts available to show
- * an error message ...
- */
-void         _pango_basic_ft2_script_engine_list   (PangoEngineInfo **engines,
-                                                    gint             *n_engines);
-void         _pango_basic_ft2_script_engine_init   (GTypeModule      *module);
-void         _pango_basic_ft2_script_engine_exit   (void);
-PangoEngine *_pango_basic_ft2_script_engine_create (const char       *id);
-#endif
+#include "module-defs.h"
 
 PangoIncludedModule _pango_included_fc_modules[] = {
-#ifdef PANGO_MODULE_PREFIX
- { 
-   _pango_basic_ft2_script_engine_list,  
-   _pango_basic_ft2_script_engine_init, 
-   _pango_basic_ft2_script_engine_exit,  
-   _pango_basic_ft2_script_engine_create 
- },
-#endif
- { NULL, NULL, NULL },
+ { _pango_arabic_fc_script_engine_list, _pango_arabic_fc_script_engine_init, _pango_arabic_fc_script_engine_exit, _pango_arabic_fc_script_engine_create },
+ { _pango_basic_fc_script_engine_list, _pango_basic_fc_script_engine_init, _pango_basic_fc_script_engine_exit, _pango_basic_fc_script_engine_create },
+ { _pango_hangul_fc_script_engine_list, _pango_hangul_fc_script_engine_init, _pango_hangul_fc_script_engine_exit, _pango_hangul_fc_script_engine_create },
+ { _pango_hebrew_fc_script_engine_list, _pango_hebrew_fc_script_engine_init, _pango_hebrew_fc_script_engine_exit, _pango_hebrew_fc_script_engine_create },
+ { _pango_indic_fc_script_engine_list, _pango_indic_fc_script_engine_init, _pango_indic_fc_script_engine_exit, _pango_indic_fc_script_engine_create },
+ { _pango_khmer_fc_script_engine_list, _pango_khmer_fc_script_engine_init, _pango_khmer_fc_script_engine_exit, _pango_khmer_fc_script_engine_create },
+ { _pango_syriac_fc_script_engine_list, _pango_syriac_fc_script_engine_init, _pango_syriac_fc_script_engine_exit, _pango_syriac_fc_script_engine_create },
+ { _pango_thai_fc_script_engine_list, _pango_thai_fc_script_engine_init, _pango_thai_fc_script_engine_exit, _pango_thai_fc_script_engine_create },
+ { _pango_tibetan_fc_script_engine_list, _pango_tibetan_fc_script_engine_init, _pango_tibetan_fc_script_engine_exit, _pango_tibetan_fc_script_engine_create },
+ { NULL, NULL, NULL, NULL },
 };
diff --git a/pango/module-defs-lang.c.win32 b/pango/module-defs-lang.c.win32
new file mode 100644
index 0000000..d1fe979
--- /dev/null
+++ b/pango/module-defs-lang.c.win32
@@ -0,0 +1,11 @@
+/* Autogenerated and saved for builds using Microsoft's compiler,
+ * when the configure mechanism isn't used.
+ */
+
+#include "module-defs.h"
+
+PangoIncludedModule _pango_included_lang_modules[] = {
+ { _pango_arabic_lang_script_engine_list, _pango_arabic_lang_script_engine_init, _pango_arabic_lang_script_engine_exit, _pango_arabic_lang_script_engine_create },
+ { _pango_indic_lang_script_engine_list, _pango_indic_lang_script_engine_init, _pango_indic_lang_script_engine_exit, _pango_indic_lang_script_engine_create },
+ { NULL, NULL, NULL, NULL },
+};
diff --git a/pango/module-defs-win32.c.win32 b/pango/module-defs-win32.c.win32
index 80fc90a..5c1698c 100644
--- a/pango/module-defs-win32.c.win32
+++ b/pango/module-defs-win32.c.win32
@@ -1,25 +1,9 @@
-/* Hand-written, for builds using Microsoft's compiler and makefile.msc,
- * where the configure mechanism isn't used.
- */
+/* Autogenerated by configure and then saved for use when compiling with
+   Visual C. */
 
-#include "modules.h"
-
-#ifdef PANGO_MODULE_PREFIX
-void         _pango_basic_win32_script_engine_list   (PangoEngineInfo **engines,
-                                                      gint             *n_engines);
-void         _pango_basic_win32_script_engine_init   (GTypeModule      *module);
-void         _pango_basic_win32_script_engine_exit   (void);
-PangoEngine *_pango_basic_win32_script_engine_create (const char       *id);
-#endif
+#include "module-defs.h"
 
 PangoIncludedModule _pango_included_win32_modules[] = {
-#ifdef PANGO_MODULE_PREFIX
- { 
-   _pango_basic_win32_script_engine_list,  
-   _pango_basic_win32_script_engine_init, 
-   _pango_basic_win32_script_engine_exit,  
-   _pango_basic_win32_script_engine_create 
- },
-#endif
- { NULL, NULL, NULL },
+ { _pango_basic_win32_script_engine_list, _pango_basic_win32_script_engine_init, _pango_basic_win32_script_engine_exit, _pango_basic_win32_script_engine_create },
+ { NULL, NULL, NULL, NULL },
 };
diff --git a/pango/module-defs.h.win32 b/pango/module-defs.h.win32
new file mode 100644
index 0000000..463935e
--- /dev/null
+++ b/pango/module-defs.h.win32
@@ -0,0 +1,74 @@
+/* Autogenerated by configure and then saved for use when compiling with
+   Visual C. */
+
+#include "modules.h"
+
+extern void         _pango_arabic_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_arabic_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_arabic_fc_script_engine_exit (void);
+extern PangoEngine *_pango_arabic_fc_script_engine_create (const char *id);
+
+extern void         _pango_arabic_lang_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_arabic_lang_script_engine_init (GTypeModule *module);
+extern void         _pango_arabic_lang_script_engine_exit (void);
+extern PangoEngine *_pango_arabic_lang_script_engine_create (const char *id);
+
+extern void         _pango_basic_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_basic_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_basic_fc_script_engine_exit (void);
+extern PangoEngine *_pango_basic_fc_script_engine_create (const char *id);
+
+extern void         _pango_basic_win32_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_basic_win32_script_engine_init (GTypeModule *module);
+extern void         _pango_basic_win32_script_engine_exit (void);
+extern PangoEngine *_pango_basic_win32_script_engine_create (const char *id);
+
+extern void         _pango_basic_x_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_basic_x_script_engine_init (GTypeModule *module);
+extern void         _pango_basic_x_script_engine_exit (void);
+extern PangoEngine *_pango_basic_x_script_engine_create (const char *id);
+
+extern void         _pango_basic_atsui_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_basic_atsui_script_engine_init (GTypeModule *module);
+extern void         _pango_basic_atsui_script_engine_exit (void);
+extern PangoEngine *_pango_basic_atsui_script_engine_create (const char *id);
+
+extern void         _pango_hangul_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_hangul_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_hangul_fc_script_engine_exit (void);
+extern PangoEngine *_pango_hangul_fc_script_engine_create (const char *id);
+
+extern void         _pango_hebrew_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_hebrew_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_hebrew_fc_script_engine_exit (void);
+extern PangoEngine *_pango_hebrew_fc_script_engine_create (const char *id);
+
+extern void         _pango_indic_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_indic_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_indic_fc_script_engine_exit (void);
+extern PangoEngine *_pango_indic_fc_script_engine_create (const char *id);
+
+extern void         _pango_indic_lang_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_indic_lang_script_engine_init (GTypeModule *module);
+extern void         _pango_indic_lang_script_engine_exit (void);
+extern PangoEngine *_pango_indic_lang_script_engine_create (const char *id);
+
+extern void         _pango_khmer_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_khmer_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_khmer_fc_script_engine_exit (void);
+extern PangoEngine *_pango_khmer_fc_script_engine_create (const char *id);
+
+extern void         _pango_syriac_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_syriac_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_syriac_fc_script_engine_exit (void);
+extern PangoEngine *_pango_syriac_fc_script_engine_create (const char *id);
+
+extern void         _pango_thai_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_thai_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_thai_fc_script_engine_exit (void);
+extern PangoEngine *_pango_thai_fc_script_engine_create (const char *id);
+
+extern void         _pango_tibetan_fc_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void         _pango_tibetan_fc_script_engine_init (GTypeModule *module);
+extern void         _pango_tibetan_fc_script_engine_exit (void);
+extern PangoEngine *_pango_tibetan_fc_script_engine_create (const char *id);
diff --git a/pango/opentype/Makefile.am b/pango/opentype/Makefile.am
index ebec8ce..23bb55b 100644
--- a/pango/opentype/Makefile.am
+++ b/pango/opentype/Makefile.am
@@ -55,4 +55,14 @@ main_LDADD = libharfbuzz.la $(GLIB_LIBS)
 
 EXTRA_DIST = README COPYING
 
+dist-hook: libharfbuzz.sourcefiles
+
+libharfbuzz.sourcefiles: Makefile
+	for F in $(libharfbuzz_la_SOURCES); do \
+		case $$F in \
+		*.c|*.cc) echo '   <File RelativePath="..\..\..\pango\opentype\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >libharfbuzz.sourcefiles
+
 -include $(top_srcdir)/git.mk



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