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 /build/win32 | |
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
Diffstat (limited to 'build/win32')
-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 |
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
 +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> |