summaryrefslogtreecommitdiff
path: root/build/win32
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 /build/win32
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
Diffstat (limited to 'build/win32')
-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
4 files changed, 341 insertions, 0 deletions
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>