diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2012-08-21 14:07:25 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2012-08-23 21:57:24 +0800 |
commit | 635f537ddfe7eccfc2de775f759fb9dfafb51983 (patch) | |
tree | d7c17f26e70f4360d95c8c1c03c5b41c656d666e | |
parent | e5333ce32c04a1ddef5c2c6d2b6a414095c2e0ba (diff) | |
download | pango-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.am | 255 | ||||
-rw-r--r-- | build/win32/vs10/Makefile.am | 17 | ||||
-rw-r--r-- | build/win32/vs10/pango.propsin | 175 | ||||
-rw-r--r-- | build/win32/vs9/Makefile.am | 11 | ||||
-rw-r--r-- | build/win32/vs9/pango.vspropsin | 138 | ||||
-rw-r--r-- | pango/Makefile.am | 7 | ||||
-rw-r--r-- | 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 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
' >$(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
' \ + ;; \ + 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
 +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
 +" + /> + <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=\"Pango\";PANGO_ENABLE_BACKEND;PANGO_ENABLE_ENGINE;SYSCONFDIR=\"$(PangoDummyPrefix)/etc\";LIBDIR=\"$(PangoDummyPrefix)/lib\"" + /> + <UserMacro + Name="NoFCDef" + Value="PANGO_VISUALC_NO_FC" + /> + <UserMacro + Name="PangoDoInstall" + Value=" +echo on
 +mkdir $(CopyDir)\bin
 +copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin
 +copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin
 + +mkdir $(CopyDir)\lib
 +copy $(ConfigurationName)\$(PlatformName)\bin\*-$(PangoApiVersion).lib $(CopyDir)\lib
 + +#include "pango.vs9.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 +" + /> + <UserMacro + Name="PangoInstallFCHeaders" + Value=" +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
 +" + /> + <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 |