From d1b609184e1bab1c0fd01d8457fef68fc99e7658 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 25 May 2011 11:38:20 +0800 Subject: [PATCH] bgo# 650456: Visual C++ 2010 support-autotools Update the autotools files for: -Creation of the full VS 2010 project/filter files for pango, pangocairo and pangoft2 from the templates during "make dist", so that the source file list can be made up-to-date with each release-this will simplify maintenance, as this is what is done for the VS 2008 project files. -Dist the VS 2010 files (with the templates) and related items --- build/win32/Makefile.am | 2 +- build/win32/vs10/Makefile.am | 24 ++++++++ configure.in | 1 + pango/Makefile.am | 123 ++++++++++++++++++++++++++++++++++++++++- pango/mini-fribidi/Makefile.am | 20 ++++++- pango/opentype/Makefile.am | 20 ++++++- 6 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 build/win32/vs10/Makefile.am diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am index b75548b..5aea65e 100644 --- a/build/win32/Makefile.am +++ b/build/win32/Makefile.am @@ -1,3 +1,3 @@ -SUBDIRS = vs9 +SUBDIRS = vs9 vs10 EXTRA_DIST = unistd.h diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am new file mode 100644 index 0000000..60aa24b --- /dev/null +++ b/build/win32/vs10/Makefile.am @@ -0,0 +1,24 @@ +EXTRA_DIST = \ + pango.sln \ + pango_fc.sln \ + 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 diff --git a/configure.in b/configure.in index f29c5df..d48e3f0 100644 --- a/configure.in +++ b/configure.in @@ -1038,6 +1038,7 @@ tests/Makefile build/Makefile build/win32/Makefile build/win32/vs9/Makefile +build/win32/vs10/Makefile pango.pc pangox.pc pangowin32.pc diff --git a/pango/Makefile.am b/pango/Makefile.am index c425285..319f459 100644 --- a/pango/Makefile.am +++ b/pango/Makefile.am @@ -671,9 +671,17 @@ TESTS = check.defs dist-hook: \ ../build/win32/vs9/pango.vcproj \ ../build/win32/vs9/pangoft2.vcproj \ - ../build/win32/vs9/pangocairo.vcproj - -# pangowin32.vcproj is not automatically built, it is not being changed + ../build/win32/vs9/pangocairo.vcproj \ + ../build/win32/vs10/pango.vcxproj \ + ../build/win32/vs10/pango.vcxproj.filters \ + ../build/win32/vs10/pangocairo.vcxproj \ + ../build/win32/vs10/pangocairo.vcxproj.filters \ + ../build/win32/vs10/pangocairo_fc.vcxproj \ + ../build/win32/vs10/pangocairo_fc.vcxproj.filters \ + ../build/win32/vs10/pangoft2.vcxproj \ + ../build/win32/vs10/pangoft2.vcxproj.filters + +# pangowin32.vcproj, pangowin32.vcxproj and pangowin32.vcxproj.filters are not automatically built, it is not being changed ../build/win32/vs9/pango.vcproj: $(top_srcdir)/build/win32/vs9/pango.vcprojin mini-fribidi/libmini-fribidi.sourcefiles -rm $@ @@ -685,6 +693,26 @@ dist-hook: \ done >libpango.sourcefiles $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pango.vcprojin >$@ +../build/win32/vs10/pango.vcxproj: $(top_srcdir)/build/win32/vs10/pango.vcxprojin mini-fribidi/libmini-fribidi.vs10.sourcefiles + -rm $@ + for F in $(libpango_1_0_la_SOURCES); do \ + case $$F in \ + *.c) echo ' ' \ + ;; \ + esac; \ + done >libpango.vs10.sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pango.vcxprojin >$@ + +../build/win32/vs10/pango.vcxproj.filters: $(top_srcdir)/build/win32/vs10/pango.vcxproj.filtersin mini-fribidi/libmini-fribidi.vs10.sourcefiles.filters + -rm $@ + for F in $(libpango_1_0_la_SOURCES); do \ + case $$F in \ + *.c) echo ' Source Files' \ + ;; \ + esac; \ + done >libpango.vs10.sourcefiles.filters + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pango.vcxproj.filtersin >$@ + ../build/win32/vs9/pangoft2.vcproj: $(top_srcdir)/build/win32/vs9/pangoft2.vcprojin opentype/libharfbuzz.sourcefiles -rm $@ for F in $(libpangoft2_1_0_la_SOURCES); do \ @@ -695,6 +723,26 @@ dist-hook: \ done >libpangoft2.sourcefiles $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangoft2.vcprojin >$@ +../build/win32/vs10/pangoft2.vcxproj: $(top_srcdir)/build/win32/vs10/pangoft2.vcxprojin opentype/libharfbuzz.vs10.sourcefiles + -rm $@ + for F in $(libpangoft2_1_0_la_SOURCES); do \ + case $$F in \ + *.c) echo ' ' \ + ;; \ + esac; \ + done >libpangoft2.vs10.sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangoft2.vcxprojin >$@ + +../build/win32/vs10/pangoft2.vcxproj.filters: $(top_srcdir)/build/win32/vs10/pangoft2.vcxproj.filtersin opentype/libharfbuzz.vs10.sourcefiles.filters + -rm $@ + for F in $(libpangoft2_1_0_la_SOURCES); do \ + case $$F in \ + *.c) echo ' Source Files' \ + ;; \ + esac; \ + done >libpangoft2.vs10.sourcefiles.filters + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangoft2.vcxproj.filtersin >$@ + ../build/win32/vs9/pangocairo.vcproj: $(top_srcdir)/build/win32/vs9/pangocairo.vcprojin # Backend-specific sources for the libpangocairo DLL are explicitly # listed in the vcprojin file @@ -707,4 +755,73 @@ dist-hook: \ done >libpangocairo.sourcefiles $(CPP) -P - <$(top_srcdir)/build/win32/vs9/pangocairo.vcprojin >$@ +../build/win32/vs10/pangocairo.vcxproj: $(top_srcdir)/build/win32/vs10/pangocairo.vcxprojin +# Backend-specific sources for the libpangocairo DLL are explicitly +# listed in the vcxprojin file +# I know it does not sound nice to have 2 pangocairo projects/filters sets due to FontConfig usage (or not), but VS2010 forces me to do that... + -rm $@ + for F in $(pangocairo_core_sources); do \ + case $$F in \ + *.c) echo ' ' \ + ;; \ + esac; \ + done >libpangocairo.vs10.sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangocairo.vcxprojin >$@ + +../build/win32/vs10/pangocairo.vcxproj.filters: $(top_srcdir)/build/win32/vs10/pangocairo.vcxproj.filtersin +# Backend-specific sources for the libpangocairo DLL are explicitly +# listed in the vcxproj.filtersin file + -rm $@ + for F in $(pangocairo_core_sources); do \ + case $$F in \ + *.c) echo ' Source Files' \ + ;; \ + esac; \ + done >libpangocairo.vs10.sourcefiles.filters + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangocairo.vcxproj.filtersin >$@ + +../build/win32/vs10/pangocairo_fc.vcxproj: $(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxprojin +# Backend-specific sources for the libpangocairo DLL are explicitly +# listed in the vcxprojin file + -rm $@ + for F in $(pangocairo_core_sources); do \ + case $$F in \ + *.c) echo ' ' \ + ;; \ + esac; \ + done >libpangocairo.vs10.sourcefiles + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxprojin >$@ + +../build/win32/vs10/pangocairo_fc.vcxproj.filters: $(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxproj.filtersin +# Backend-specific sources for the libpangocairo DLL are explicitly +# listed in the vcxproj.filtersin file + -rm $@ + for F in $(pangocairo_core_sources); do \ + case $$F in \ + *.c) echo ' Source Files' \ + ;; \ + esac; \ + done >libpangocairo.vs10.sourcefiles.filters + $(CPP) -P - <$(top_srcdir)/build/win32/vs10/pangocairo_fc.vcxproj.filtersin >$@ + +DISTCLEANFILES += \ + ../build/win32/vs9/pango.vcproj \ + ../build/win32/vs9/pangoft2.vcproj \ + ../build/win32/vs9/pangocairo.vcproj \ + ../build/win32/vs10/pango.vcxproj \ + ../build/win32/vs10/pango.vcxproj.filters \ + ../build/win32/vs10/pangocairo.vcxproj \ + ../build/win32/vs10/pangocairo.vcxproj.filters \ + ../build/win32/vs10/pangocairo_fc.vcxproj \ + ../build/win32/vs10/pangocairo_fc.vcxproj.filters \ + ../build/win32/vs10/pangoft2.vcxproj \ + ../build/win32/vs10/pangoft2.vcxproj.filters \ + libpangocairo.vs10.sourcefiles.filters \ + libpangocairo.vs10.sourcefiles \ + libpangoft2.vs10.sourcefiles.filters \ + libpangoft2.vs10.sourcefiles \ + libpango.vs10.sourcefiles \ + libpango.vs10.sourcefiles + + -include $(top_srcdir)/git.mk diff --git a/pango/mini-fribidi/Makefile.am b/pango/mini-fribidi/Makefile.am index a0baa6b..c73ccfb 100644 --- a/pango/mini-fribidi/Makefile.am +++ b/pango/mini-fribidi/Makefile.am @@ -30,7 +30,7 @@ EXTRA_DIST = \ fribidi_types.i -dist-hook: libmini-fribidi.sourcefiles +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 \ @@ -40,4 +40,22 @@ libmini-fribidi.sourcefiles: Makefile esac; \ done >libmini-fribidi.sourcefiles +libmini-fribidi.vs10.sourcefiles: Makefile + for F in $(libmini_fribidi_la_SOURCES); do \ + case $$F in \ + *.c) echo ' ' \ + ;; \ + 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 ' Source Files' \ + ;; \ + esac; \ + done >libmini-fribidi.vs10.sourcefiles.filters + +DISTCLEANFILES = libmini-fribidi.sourcefiles libmini-fribidi.vs10.sourcefiles libmini-fribidi.vs10.sourcefiles.filters + -include $(top_srcdir)/git.mk diff --git a/pango/opentype/Makefile.am b/pango/opentype/Makefile.am index 32330fb..7a051d1 100644 --- a/pango/opentype/Makefile.am +++ b/pango/opentype/Makefile.am @@ -56,7 +56,7 @@ main_LDADD = libharfbuzz.la $(GLIB_LIBS) EXTRA_DIST = README COPYING -dist-hook: libharfbuzz.sourcefiles +dist-hook: libharfbuzz.sourcefiles libharfbuzz.vs10.sourcefiles libharfbuzz.vs10.sourcefiles.filters libharfbuzz.sourcefiles: Makefile for F in $(libharfbuzz_la_SOURCES); do \ @@ -66,4 +66,22 @@ libharfbuzz.sourcefiles: Makefile esac; \ done >libharfbuzz.sourcefiles +libharfbuzz.vs10.sourcefiles: Makefile + for F in $(libharfbuzz_la_SOURCES); do \ + case $$F in \ + *.c|*.cc) echo ' ' \ + ;; \ + esac; \ + done >libharfbuzz.vs10.sourcefiles + +libharfbuzz.vs10.sourcefiles.filters: Makefile + for F in $(libharfbuzz_la_SOURCES); do \ + case $$F in \ + *.c|*.cc) echo ' Source Files' \ + ;; \ + esac; \ + done >libharfbuzz.vs10.sourcefiles.filters + +DISTCLEANFILES = libharfbuzz.sourcefiles libharfbuzz.vs10.sourcefiles libharfbuzz.vs10.sourcefiles.filters + -include $(top_srcdir)/git.mk -- 2.7.4