[pango] autotools: Re-enable and enhance the completion of MSVC projects



commit 635f537ddfe7eccfc2de775f759fb9dfafb51983
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Aug 21 14:07:25 2012 +0800

    autotools: Re-enable and enhance the completion of MSVC projects
    
    -Isolate the creation of full MSVC projects for pango, pangoft2 and
     pangocairo in a seperate build/Makefile-msvcproj.am, so it can be included
     and used elsewhere.
    -Update the Makefile.am's in pango/ and pango/mini-fribidi to include
     and use build/Makefile-msvcproj.am to create the MSVC project files
    -Use templates for the property sheets so that the listings of header files
     to "install" can be filled in using build/Makefile-msvcproj.am, to
     simplify future maintenance.
    -Re-enable the distribution of the created project files and property
     sheets

 build/Makefile-msvcproj.am      |  255 +++++++++++++++++++++++++++++++++++++++
 build/win32/vs10/Makefile.am    |   17 +++
 build/win32/vs10/pango.propsin  |  175 +++++++++++++++++++++++++++
 build/win32/vs9/Makefile.am     |   11 ++
 build/win32/vs9/pango.vspropsin |  138 +++++++++++++++++++++
 pango/Makefile.am               |    7 +-
 pango/mini-fribidi/Makefile.am  |   30 +----
 7 files changed, 606 insertions(+), 27 deletions(-)
---
diff --git a/build/Makefile-msvcproj.am b/build/Makefile-msvcproj.am
new file mode 100644
index 0000000..d57dff0
--- /dev/null
+++ b/build/Makefile-msvcproj.am
@@ -0,0 +1,255 @@
+# Pango
+# Makefile-msvcproj.am
+# Makefile to fill in the various Visual C++ project files
+#
+# Copyright (C) 2012 Chun-wei Fan
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+########################################################################
+# Note:                                                                #
+# pangowin32.vcproj, pangowin32.vcxproj and pangowin32.vcxproj.filters #
+# are not automatically built, it is not being changed                 #
+########################################################################
+
+################################################################
+# The source file listings to input in the pango MSVC projects #
+################################################################
+fribidi_msvcproj_srcfiles = \
+	$(top_builddir)/build/libmini-fribidi.sourcefiles	\
+	$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles	\
+	$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles.filters
+
+#############################################
+# The various MSVC projects to be filled in #
+#############################################
+pango_vcproj_stuff = \
+	$(top_builddir)/build/win32/vs9/pango.vcproj	\
+	$(top_builddir)/build/win32/vs9/pangoft2.vcproj	\
+	$(top_builddir)/build/win32/vs9/pangocairo.vcproj	\
+	$(top_builddir)/build/win32/vs9/pango.vs9.headers	\
+	$(top_builddir)/build/win32/vs10/pango.vcxproj	\
+	$(top_builddir)/build/win32/vs10/pango.vcxproj.filters	\
+	$(top_builddir)/build/win32/vs10/pangocairo.vcxproj	\
+	$(top_builddir)/build/win32/vs10/pangocairo.vcxproj.filters	\
+	$(top_builddir)/build/win32/vs10/pangocairo_fc.vcxproj	\
+	$(top_builddir)/build/win32/vs10/pangocairo_fc.vcxproj.filters	\
+	$(top_builddir)/build/win32/vs10/pangoft2.vcxproj	\
+	$(top_builddir)/build/win32/vs10/pangoft2.vcxproj.filters	\
+	$(top_builddir)/build/win32/vs10/pango.vs10.headers
+
+###################################################
+# Gather the source file listing for mini-fribidi #
+###################################################
+
+$(top_builddir)/build/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 >$(top_builddir)/build/libmini-fribidi.sourcefiles
+
+$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles: Makefile
+	for F in $(libmini_fribidi_la_SOURCES); do \
+		case $$F in \
+		*.c) echo '			<ClCompile Include="..\..\..\pango\mini-fribidi\'$$F'" />' \
+		     ;; \
+		esac; \
+	done >$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles
+
+$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles.filters: Makefile
+	for F in $(libmini_fribidi_la_SOURCES); do \
+		case $$F in \
+		*.c) echo '			<ClCompile Include="..\..\..\pango\mini-fribidi\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
+		     ;; \
+		esac; \
+	done >$(top_builddir)/build/libmini-fribidi.vs10.sourcefiles.filters
+
+####################################################
+# Gather the source files listings for pangocairo  #
+# for MSVC 2010, as 2 projects are needed for that #
+# due to the case that one may or may not be using #
+# pango-ft2                                        #
+####################################################
+$(top_builddir)/build/libpangocairo.vs10.sourcefiles:
+	for F in $(pangocairo_core_sources); do \
+	case $$F in \
+		*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'" />' ;; \
+		esac; \
+	done >$(top_builddir)/build/libpangocairo.vs10.sourcefiles
+
+$(top_builddir)/build/libpangocairo.vs10.sourcefiles.filters:
+	for F in $(pangocairo_core_sources); do \
+	case $$F in \
+		*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
+		;; \
+		esac; \
+	done >$(top_builddir)/build/libpangocairo.vs10.sourcefiles.filters
+
+######################################
+# Fill in the Pango DLL MSVC project #
+######################################
+
+$(top_builddir)/build/win32/vs9/pango.vcproj: \
+	$(top_srcdir)/build/win32/vs9/pango.vcprojin $(top_builddir)/build/libmini-fribidi.sourcefiles
+# (Seperator)
+	-$(RM) $@
+	for F in $(libpango_1_0_la_SOURCES); do \
+		case $$F in \
+			*.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' \
+			;; \
+		esac; \
+	done >$(top_builddir)/build/libpango.sourcefiles
+	$(CPP) -P -I$(top_builddir)/build - <$(top_srcdir)/build/win32/vs9/pango.vcprojin >$@
+	-$(RM) $(top_builddir)/build/libpango.sourcefiles
+	-$(RM) $(top_builddir)/build/libmini-fribidi.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pango.vcxproj: \
+	$(top_srcdir)/build/win32/vs10/pango.vcxprojin $(top_builddir)/build/libmini-fribidi.vs10.sourcefiles
+# (Seperator)
+	-$(RM) $@
+	for F in $(libpango_1_0_la_SOURCES); do \
+		case $$F in \
+			*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'" />' \
+			;; \
+		esac; \
+	done >$(top_builddir)/build/libpango.vs10.sourcefiles
+	$(CPP) -P -I$(top_builddir)/build - <$(top_srcdir)/build/win32/vs10/pango.vcxprojin >$@
+	-$(RM) $(top_builddir)/build/libpango.vs10.sourcefiles
+	-$(RM) $(top_builddir)/build/libmini-fribidi.vs10.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pango.vcxproj.filters: \
+	$(top_srcdir)/build/win32/vs10/pango.vcxproj.filtersin $(top_builddir)/build/libmini-fribidi.vs10.sourcefiles.filters
+# (Seperator)
+	-$(RM) $@
+	for F in $(libpango_1_0_la_SOURCES); do \
+		case $$F in \
+			*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
+			;; \
+		esac; \
+	done >$(top_builddir)/build/libpango.vs10.sourcefiles.filters
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pango.vcxproj.filtersin >$@
+	-$(RM) $(top_builddir)/build/libpango.vs10.sourcefiles.filters
+	-$(RM) $(top_builddir)/build/libmini-fribidi.vs10.sourcefiles.filters
+
+##########################################
+# Fill in the Pango-FT2 DLL MSVC project #
+##########################################
+
+$(top_builddir)/build/win32/vs9/pangoft2.vcproj: $(top_srcdir)/build/win32/vs9/pangoft2.vcprojin
+	-$(RM) $@
+	for F in $(libpangoft2_1_0_la_SOURCES); do \
+		case $$F in \
+		*.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' ;; \
+		esac; \
+	done >$(top_builddir)/build/libpangoft2.sourcefiles
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs9/pangoft2.vcprojin >$@
+	-$(RM) $(top_builddir)/build/libpangoft2.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pangoft2.vcxproj: $(top_srcdir)/build/win32/vs10/pangoft2.vcxprojin
+	-$(RM) $@
+	for F in $(libpangoft2_1_0_la_SOURCES); do \
+		case $$F in \
+			*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'" />' ;; \
+		esac; \
+	done >$(top_builddir)/build/libpangoft2.vs10.sourcefiles
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangoft2.vcxprojin >$@
+	-$(RM) $(top_builddir)/build/libpangoft2.vs10.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pangoft2.vcxproj.filters: $(top_srcdir)/build/win32/vs10/pangoft2.vcxproj.filtersin
+	-$(RM) $@
+	for F in $(libpangoft2_1_0_la_SOURCES); do \
+		case $$F in \
+		*.c) echo ' <ClCompile Include="..\..\..\pango\'$$F'"><Filter>Source Files</Filter></ClCompile>' ;; \
+		esac; \
+	done >$(top_builddir)/build/libpangoft2.vs10.sourcefiles.filters
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangoft2.vcxproj.filtersin >$@
+	-$(RM) $(top_builddir)/build/libpangoft2.vs10.sourcefiles.filters
+
+############################################
+# Fill in the Pango-Cairo DLL MSVC project #
+#                                          #
+# Backend-specific sources for the         #
+# libpangocairo DLL are explicitly         #
+# listed in the vcprojin file              #
+############################################
+
+$(top_builddir)/build/win32/vs9/pangocairo.vcproj: $(top_srcdir)/build/win32/vs9/pangocairo.vcprojin
+	-$(RM) $@
+	for F in $(pangocairo_core_sources); do \
+		case $$F in \
+		*.c) echo ' <File RelativePath="..\..\..\pango\'$$F'" />' \
+		;; \
+		esac; \
+	done >$(top_builddir)/build/libpangocairo.sourcefiles
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs9/pangocairo.vcprojin >$@
+	-$(RM) $(top_builddir)/build/libpangocairo.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pangocairo.vcxproj: \
+	$(top_srcdir)/build/win32/vs10/pangocairo.vcxprojin $(top_builddir)/build/libpangocairo.vs10.sourcefiles
+# (Seperator)
+	-$(RM) $@
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangocairo.vcxprojin >$@
+
+$(top_builddir)/build/win32/vs10/pangocairo.vcxproj.filters: \
+	$(top_srcdir)/build/win32/vs10/pangocairo.vcxproj.filtersin $(top_builddir)/build/libpangocairo.vs10.sourcefiles.filters
+# (Seperator)
+	-$(RM) $@
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangocairo.vcxproj.filtersin >$@
+
+$(top_builddir)/build/win32/vs10/pangocairo_fc.vcxproj: \
+	$(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxprojin \
+	$(top_builddir)/build/libpangocairo.vs10.sourcefiles \
+	$(top_builddir)/build/win32/vs10/pangocairo.vcxproj
+# (Seperator)
+	-$(RM) $@
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxprojin >$@
+	-$(RM) $(top_builddir)/build/libpangocairo.vs10.sourcefiles
+
+$(top_builddir)/build/win32/vs10/pangocairo_fc.vcxproj.filters: \
+	$(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxproj.filtersin \
+	$(top_builddir)/build/libpangocairo.vs10.sourcefiles.filters \
+	$(top_builddir)/build/win32/vs10/pangocairo.vcxproj.filters
+# (Seperator)
+	-$(RM) $@
+	$(CPP) -I$(top_builddir)/build -P - <$(top_srcdir)/build/win32/vs10/pangocairo.vcxproj.filtersin >$@
+	-$(RM) $(top_builddir)/build/libpangocairo.vs10.sourcefiles.filters
+
+##############################################
+# Now fill in the header "installation" list #
+# We deal with the pangoft2 headers in the   #
+# property sheets directly                   #
+##############################################
+$(top_builddir)/build/win32/vs9/pango.vs9.headers:
+	echo 'mkdir $$(CopyDir)\include\pango-$$(PangoApiVersion)\pango&#x0D;&#x0A;' >$(top_builddir)/build/win32/vs9/pango.vs9.headers
+	echo '' >>$(top_builddir)/build/win32/vs9/pango.vs9.headers
+	for F in `echo $(pango_headers) $(pangocairo_headers) | tr '/' '\\'`; do \
+		case $$F in \
+		*.h) echo 'copy ..\..\..\pango\'$$F' $$(CopyDir)\include\pango-$$(PangoApiVersion)\pango&#x0D;&#x0A;' \
+			;; \
+		esac; \
+	done >>$(top_builddir)/build/win32/vs9/pango.vs9.headers
+
+$(top_builddir)/build/win32/vs10/pango.vs10.headers:
+	echo 'mkdir $$(CopyDir)\include\pango-$$(PangoApiVersion)\pango' >$(top_builddir)/build/win32/vs10/pango.vs10.headers
+	echo '' >>$(top_builddir)/build/win32/vs10/pango.vs10.headers
+	for F in `echo $(pango_headers) $(pangocairo_headers) | tr '/' '\\'`; do \
+		case $$F in \
+		*.h) echo 'copy ..\..\..\pango\'$$F' $$(CopyDir)\include\pango-$$(PangoApiVersion)\pango' \
+			;; \
+		esac; \
+	done >>$(top_builddir)/build/win32/vs10/pango.vs10.headers
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index 310ac28..b52f9f1 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -1,16 +1,33 @@
 EXTRA_DIST = \
 	pango.sln \
 	pango_fc.sln \
+	pango.propsin \
 	pango.props \
+	pango.vcxproj \
+	pango.vcxproj.filters \
 	pango.vcxprojin \
 	pango.vcxproj.filtersin \
+	pangoft2.vcxproj \
+	pangoft2.vcxproj.filters \
 	pangoft2.vcxprojin \
 	pangoft2.vcxproj.filtersin \
+	pangowin32.vcxproj \
+	pangowin32.vcxproj.filters \
+	pangocairo.vcxproj \
+	pangocairo.vcxproj.filters \
 	pangocairo.vcxprojin \
 	pangocairo.vcxproj.filtersin \
+	pangocairo_fc.vcxproj \
+	pangocairo_fc.vcxproj.filters \
 	pangocairo_fc.vcxprojin \
 	pangocairo_fc.vcxproj.filtersin \
 	install.vcxproj \
 	README.txt
 
+pango.props: $(top_srcdir)/build/win32/vs10/pango.propsin pango.vs10.headers
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs10/pango.propsin >$@
+	rm pango.vs10.headers
+
+DISTCLEANFILES = pango.props
+
 -include $(top_srcdir)/git.mk
diff --git a/build/win32/vs10/pango.propsin b/build/win32/vs10/pango.propsin
new file mode 100644
index 0000000..b91ce84
--- /dev/null
+++ b/build/win32/vs10/pango.propsin
@@ -0,0 +1,175 @@
+ï<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup Label="UserMacros">
+    <PangoApiVersion>1.0</PangoApiVersion>
+    <PangoBinaryVersion>1.8.0</PangoBinaryVersion>
+    <PangoDummyPrefix>/dummy</PangoDummyPrefix>
+    <PangoDefines>G_LOG_DOMAIN="Pango";PANGO_ENABLE_BACKEND;PANGO_ENABLE_ENGINE;SYSCONFDIR="$(PangoDummyPrefix)/etc";LIBDIR="$(PangoDummyPrefix)/lib"</PangoDefines>
+    <NoFCDef>PANGO_VISUALC_NO_FC</NoFCDef>
+	<GlibEtcInstallRoot>..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
+	<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
+    <PangoDoInstall>
+echo on
+
+mkdir $(CopyDir)\bin
+
+copy $(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
+
+copy $(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin
+
+
+mkdir $(CopyDir)\lib
+
+copy $(Configuration)\$(Platform)\bin\*-$(PangoApiVersion).lib $(CopyDir)\lib
+
+
+#include "pango.vs10.headers"
+
+copy ..\..\..\pango\pango-features.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pango-enum-types.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pangowin32.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+
+if not exist $(CopyDir)\etc\pango mkdir $(CopyDir)\etc\pango
+
+
+if exist $(CopyDir)\etc\pango\pango.aliases goto END
+
+echo tahoma = "tahoma,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal" > $(CopyDir)\etc\pango\pango.aliases
+
+echo sans = "arial,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal" >> $(CopyDir)\etc\pango\pango.aliases
+
+echo serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,latha,mangal" >> $(CopyDir)\etc\pango\pango.aliases
+
+echo monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,latha,mangal" >> $(CopyDir)\etc\pango\pango.aliases
+
+:END
+</PangoDoInstall>
+<PangoInstallFCHeaders>
+copy ..\..\..\pango\pangofc-decoder.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pangofc-font.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pangofc-fontmap.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pango-ot.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+copy ..\..\..\pango\pangoft2.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango
+
+</PangoInstallFCHeaders>
+    <PangoLibtoolCompatibleDllPrefix>lib</PangoLibtoolCompatibleDllPrefix>
+    <PangoLibtoolCompatibleDllSuffix>-$(PangoApiVersion)-0</PangoLibtoolCompatibleDllSuffix>
+    <PangoSeparateVS10DllPrefix />
+    <PangoSeparateVS10DllSuffix>-1-vs10</PangoSeparateVS10DllSuffix>
+    <PangoDllPrefix>$(PangoSeparateVS10DllPrefix)</PangoDllPrefix>
+    <PangoDllSuffix>$(PangoSeparateVS10DllSuffix)</PangoDllSuffix>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>pangoprops</_PropertySheetDisplayName>
+    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
+    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..;..\..\..\pango;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\fontconfig;$(GlibEtcInstallRoot)\include\freetype2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>HAVE_CONFIG_H;G_DISABLE_SINGLE_INCLUDES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gio-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;glib-2.0.lib;intl.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+    <PreBuildEvent>
+      <Command>
+if exist ..\..\..\config.h goto DONE_CONFIG_H
+
+copy ..\..\..\config.h.win32 ..\..\..\config.h
+
+:DONE_CONFIG_H
+
+
+if exist ..\..\..\pango\DONE_MODULE_DEFS_H goto DONE_MODULE_DEFS_H
+
+copy /y ..\..\..\pango\module-defs.h.win32 ..\..\..\pango\module-defs.h
+
+copy ..\..\..\pango\module-defs.h.win32 ..\..\..\pango\DONE_MODULE_DEFS_H
+
+:DONE_MODULE_DEFS_H
+
+
+if exist ..\..\..\pango\DONE_MODULE_DEFS_LANG_C goto DONE_MODULE_DEFS_LANG_C
+
+copy ..\..\..\pango\module-defs-lang.c.win32 ..\..\..\pango\module-defs-lang.c
+
+copy ..\..\..\pango\module-defs-lang.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_LANG_C
+
+:DONE_MODULE_DEFS_LANG_C
+
+
+if exist ..\..\..\pango\DONE_MODULE_DEFS_FC_C goto DONE_MODULE_DEFS_FC_C
+
+copy ..\..\..\pango\module-defs-fc.c.win32 ..\..\..\pango\module-defs-fc.c
+
+copy ..\..\..\pango\module-defs-fc.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_FC_C
+
+:DONE_MODULE_DEFS_FC_C
+
+
+if exist ..\..\..\pango\DONE_MODULE_DEFS_WIN32_C goto DONE_MODULE_DEFS_WIN32_C
+
+copy ..\..\..\pango\module-defs-win32.c.win32 ..\..\..\pango\module-defs-win32.c
+
+copy ..\..\..\pango\module-defs-win32.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_WIN32_C
+
+:DONE_MODULE_DEFS_WIN32_C
+
+</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <BuildMacro Include="PangoApiVersion">
+      <Value>$(PangoApiVersion)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoBinaryVersion">
+      <Value>$(PangoBinaryVersion)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoDummyPrefix">
+      <Value>$(PangoDummyPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoDefines">
+      <Value>$(PangoDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="NoFCDef">
+      <Value>$(NoFCDef)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoDoInstall">
+      <Value>$(PangoDoInstall)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoInstallFCHeaders">
+      <Value>$(PangoInstallFCHeaders)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoLibtoolCompatibleDllPrefix">
+      <Value>$(PangoLibtoolCompatibleDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoLibtoolCompatibleDllSuffix">
+      <Value>$(PangoLibtoolCompatibleDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoSeparateVS10DllPrefix">
+      <Value>$(PangoSeparateVS10DllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoSeparateVS10DllSuffix">
+      <Value>$(PangoSeparateVS10DllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoDllPrefix">
+      <Value>$(PangoDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PangoDllSuffix">
+      <Value>$(PangoDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GlibEtcInstallRoot">
+      <Value>$(GlibEtcInstallRoot)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index cc0ed72..93d304c 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -1,12 +1,23 @@
 EXTRA_DIST = \
 	pango.sln \
 	pango_fc.sln \
+	pango.vspropsin \
 	pango.vsprops \
 	pango.vcprojin \
+	pango.vcproj \
 	pangoft2.vcprojin \
+	pangoft2.vcproj \
 	pangocairo.vcprojin \
+	pangocairo.vcproj \
+	pangowin32.vcproj \
 	install.vcproj	\
 	stdint.h \
 	README.txt
 
+pango.vsprops: $(top_srcdir)/build/win32/vs9/pango.vspropsin pango.vs9.headers
+	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/pango.vspropsin >$@
+	rm pango.vs9.headers
+
+DISTCLEANFILES = pango.vsprops
+
 -include $(top_srcdir)/git.mk
diff --git a/build/win32/vs9/pango.vspropsin b/build/win32/vs9/pango.vspropsin
new file mode 100644
index 0000000..6a6e204
--- /dev/null
+++ b/build/win32/vs9/pango.vspropsin
@@ -0,0 +1,138 @@
+<?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\$(ProjectName)"
+	>
+	<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_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\DONE_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;
+copy ..\..\..\pango\module-defs-lang.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_LANG_C&#x0D;&#x0A;
+:DONE_MODULE_DEFS_LANG_C&#x0D;&#x0A;
+
+if exist ..\..\..\pango\DONE_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;
+copy ..\..\..\pango\module-defs-fc.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_FC_C&#x0D;&#x0A;
+:DONE_MODULE_DEFS_FC_C&#x0D;&#x0A;
+
+if exist ..\..\..\pango\DONE_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;
+copy ..\..\..\pango\module-defs-win32.c.win32 ..\..\..\pango\DONE_MODULE_DEFS_WIN32_C&#x0D;&#x0A;
+:DONE_MODULE_DEFS_WIN32_C&#x0D;&#x0A;
+"
+	/>
+	<UserMacro
+		Name="GlibEtcInstallRoot"
+		Value="..\..\..\..\vs9\$(PlatformName)"
+	/>
+	<UserMacro
+		Name="CopyDir"
+		Value="$(GlibEtcInstallRoot)"
+	/>
+	<UserMacro
+		Name="PangoApiVersion"
+		Value="1.0"
+	/>
+	<UserMacro
+		Name="PangoBinaryVersion"
+		Value="1.8.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="NoFCDef"
+		Value="PANGO_VISUALC_NO_FC"
+	/>
+	<UserMacro
+		Name="PangoDoInstall"
+		Value="
+echo on&#x0D;&#x0A;
+mkdir $(CopyDir)\bin&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib&#x0D;&#x0A;
+copy $(ConfigurationName)\$(PlatformName)\bin\*-$(PangoApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
+
+#include "pango.vs9.headers"
+copy ..\..\..\pango\pango-features.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-enum-types.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangowin32.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+
+if not exist $(CopyDir)\etc\pango mkdir $(CopyDir)\etc\pango&#x0D;&#x0A;
+
+if exist $(CopyDir)\etc\pango\pango.aliases goto END&#x0D;&#x0A;
+echo tahoma = &quot;tahoma,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal&quot; > $(CopyDir)\etc\pango\pango.aliases&#x0D;&#x0A;
+echo sans = &quot;arial,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal&quot; >> $(CopyDir)\etc\pango\pango.aliases&#x0D;&#x0A;
+echo serif = &quot;times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,latha,mangal&quot; >> $(CopyDir)\etc\pango\pango.aliases&#x0D;&#x0A;
+echo monospace = &quot;courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,latha,mangal&quot; >> $(CopyDir)\etc\pango\pango.aliases&#x0D;&#x0A;
+:END
+"
+	/>
+	<UserMacro
+		Name="PangoInstallFCHeaders"
+		Value="
+copy ..\..\..\pango\pangofc-decoder.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangofc-font.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangofc-fontmap.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pango-ot.h $(CopyDir)\include\pango-$(PangoApiVersion)\pango&#x0D;&#x0A;
+copy ..\..\..\pango\pangoft2.h $(CopyDir)\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)"
+	/>
+</VisualStudioPropertySheet>
diff --git a/pango/Makefile.am b/pango/Makefile.am
index 3667f31..4c80a97 100644
--- a/pango/Makefile.am
+++ b/pango/Makefile.am
@@ -488,6 +488,10 @@ MODULE_DEF_FILES = \
 $(MODULE_DEF_FILES): $(top_builddir)/config.status
 	$(AM_V_GEN) cd $(top_builddir) && $(SHELL) ./config.status pango/$@
 
+include $(top_srcdir)/build/Makefile-msvcproj.am
+
+dist-hook: $(pango_vcproj_stuff)
+
 CLEANFILES =			\
 	pango-enum-types.h	\
 	s-enum-types-h		\
@@ -502,7 +506,8 @@ MOSTLYCLEANFILES = 		\
 
 DISTCLEANFILES = 		\
 	pango-features.h	\
-	$(MODULE_DEF_FILES)
+	$(MODULE_DEF_FILES)	\
+	$(pango_vcproj_stuff)
 
 install-exec-hook:
 if DISABLE_EXPLICIT_DEPS
diff --git a/pango/mini-fribidi/Makefile.am b/pango/mini-fribidi/Makefile.am
index c73ccfb..0713366 100644
--- a/pango/mini-fribidi/Makefile.am
+++ b/pango/mini-fribidi/Makefile.am
@@ -30,32 +30,10 @@ EXTRA_DIST = 			\
         fribidi_types.i
 
 
-dist-hook: libmini-fribidi.sourcefiles libmini-fribidi.vs10.sourcefiles libmini-fribidi.vs10.sourcefiles.filters
-
-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
-
-libmini-fribidi.vs10.sourcefiles: Makefile
-	for F in $(libmini_fribidi_la_SOURCES); do \
-		case $$F in \
-		*.c) echo '			<ClCompile Include="..\..\..\pango\mini-fribidi\'$$F'" />' \
-		     ;; \
-		esac; \
-	done >libmini-fribidi.vs10.sourcefiles
-
-libmini-fribidi.vs10.sourcefiles.filters: Makefile
-	for F in $(libmini_fribidi_la_SOURCES); do \
-		case $$F in \
-		*.c) echo '			<ClCompile Include="..\..\..\pango\mini-fribidi\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
-		     ;; \
-		esac; \
-	done >libmini-fribidi.vs10.sourcefiles.filters
+include $(top_srcdir)/build/Makefile-msvcproj.am
+
+dist-hook: $(fribidi_msvcproj_srcfiles)
 	
-DISTCLEANFILES = libmini-fribidi.sourcefiles libmini-fribidi.vs10.sourcefiles libmini-fribidi.vs10.sourcefiles.filters
+DISTCLEANFILES = $(fribidi_msvcproj_srcfiles)
 
 -include $(top_srcdir)/git.mk



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