summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2012-08-21 14:07:25 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2012-08-23 21:57:24 +0800
commit635f537ddfe7eccfc2de775f759fb9dfafb51983 (patch)
treed7c17f26e70f4360d95c8c1c03c5b41c656d666e
parente5333ce32c04a1ddef5c2c6d2b6a414095c2e0ba (diff)
downloadpango-635f537ddfe7eccfc2de775f759fb9dfafb51983.tar.gz
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
-rw-r--r--build/Makefile-msvcproj.am255
-rw-r--r--build/win32/vs10/Makefile.am17
-rw-r--r--build/win32/vs10/pango.propsin175
-rw-r--r--build/win32/vs9/Makefile.am11
-rw-r--r--build/win32/vs9/pango.vspropsin138
-rw-r--r--pango/Makefile.am7
-rw-r--r--pango/mini-fribidi/Makefile.am30
7 files changed, 606 insertions, 27 deletions
diff --git a/build/Makefile-msvcproj.am b/build/Makefile-msvcproj.am
new file mode 100644
index 00000000..d57dff0d
--- /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 310ac283..b52f9f19 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 00000000..b91ce841
--- /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 cc0ed72e..93d304cb 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 00000000..6a6e204c
--- /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 3667f312..4c80a979 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 c73ccfb5..07133668 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