[pango] Visual Studio builds: Support Visual Studio 2017



commit a0239aec27aa04a234ab6683994b304d197d7035
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Feb 15 13:25:59 2017 +0800

    Visual Studio builds: Support Visual Studio 2017
    
    This updates the autotools scripts to support Visual Studio 2017 builds, by copying
    the Visual Studio 2010 projects and updating items in there as necessary.
    
    Note the format of the toolset version changed, so we allow one to specify a
    custom toolset version string and hence use it if it is specified, otherwise
    the toolset version string is generated as it was before.
    
    Since Visual Studio 2017 aims to be compatible on the CRT level as Visual Studio
    2015, the 2017-compiled binaries should be usable without problems with 2015-compiled
    binaries.

 configure.ac            |    5 +++++
 win32/Makefile-newvs.am |   25 +++++++++++++++++--------
 win32/Makefile.am       |    3 ++-
 win32/vs11/Makefile.am  |    1 -
 win32/vs12/Makefile.am  |    1 -
 win32/vs14/Makefile.am  |    1 -
 win32/vs15/Makefile.am  |   29 +++++++++++++++++++++++++++++
 7 files changed, 53 insertions(+), 12 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index ed1a005..c6b67c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -594,6 +594,10 @@ AC_SUBST(PANGO_HIDDEN_VISIBILITY_CFLAGS)
 AC_HEADER_DIRENT
 AC_CHECK_HEADERS(unistd.h)
 
+# Check whether MSVC toolset is explicitly set
+AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
+AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
+
 # Honor aclocal flags
 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
 dnl ===========================================================================
@@ -653,6 +657,7 @@ win32/vs10/pango-version-paths.props
 win32/vs11/Makefile
 win32/vs12/Makefile
 win32/vs14/Makefile
+win32/vs15/Makefile
 pango.pc
 pangowin32.pc
 pangoft2.pc
diff --git a/win32/Makefile-newvs.am b/win32/Makefile-newvs.am
index ecdf3b5..3a91862 100644
--- a/win32/Makefile-newvs.am
+++ b/win32/Makefile-newvs.am
@@ -8,14 +8,23 @@
 # Author: Fan, Chun-wei
 # November 05, 2012
 
-# MSVC_BASE_VER: Baseline MSVC 201x version to copy/process project files from (10 for 2010, 11 for 2012, 12 
for 2013, 14 for 2015 and so on)
-# MSVC_BASE_VER_LONG: Long Version of baseline Visual Studio 201x version (2010, 2012, 2013, 14 and so on)
-# MSVC_VER_LONG: Long Version of Visual Studio (2012, 2013, 14 and so on)
-# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
-# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
+# MSVC_BASE_VER: Baseline MSVC 201x version to copy/process project files from (100 for 2010, 120 for 2013)
+# MSVC_BASE_VER_LONG: Long Version of baseline Visual Studio 201x version (2010, 2012, 2013, 14, 15)
+# MSVC_BASE_TOOLSET: Use if baseline MSVC toolset is not in the form v$(MSVC_BASE_VER)0, meaning 
v$(MSVC_BASE_TOOLSET)
+# MSVC_VER_LONG: Long Version of target Visual Studio (2012, 2013, 14 and so on)
+# MSVC_VER: Short Version of target Visual Studio (110 for 2012, 120 for 2013, 140 for 2015, 141 for 2017)
+# MSVC_TOOLSET: Use if target MSVC toolsett is not in the form v $(MSVC_VER)0, meaning v$(MSVC_TOOLSET)
+
+if MSVC_BASE_NO_TOOLSET_SET
+MSVC_BASE_TOOLSET = $(MSVC_BASE_VER)0
+endif
+
+if MSVC_NO_TOOLSET_SET
+MSVC_TOOLSET = $(MSVC_VER)0
+endif
 
 %.sln:
-       sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > 
$(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
+       sed 's/11\.00/12\.00/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > 
$(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
        sed 's/$(MSVC_BASE_VER_LONG)/$(MSVC_VER_LONG)/g' < $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp > 
$(top_builddir)/win32/vs$(MSVC_VER)/$@
        rm $(top_builddir)/win32/vs$(MSVC_VER)/$@.tmp
 
@@ -26,9 +35,9 @@
 
 %.vcxproj:
        if test -e $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@; then \
-               sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ > 
$(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+               sed 's/v$(MSVC_BASE_TOOLSET)/v$(MSVC_TOOLSET)/g' < $(top_srcdir)/win32/vs$(MSVC_BASE_VER)/$@ 
$(top_builddir)/win32/vs$(MSVC_VER)/$@; \
        else \
-               sed 's/v$(MSVC_BASE_VER)0/v$(MSVC_VER)0/g' < $(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > 
$(top_builddir)/win32/vs$(MSVC_VER)/$@; \
+               sed 's/v$(MSVC_BASE_TOOLSET)/v$(MSVC_TOOLSET)/g' < 
$(top_builddir)/win32/vs$(MSVC_BASE_VER)/$@ > $(top_builddir)/win32/vs$(MSVC_VER)/$@; \
        fi
 
 %.props: $(top_builddir)/win32/vs$(MSVC_BASE_VER)/Makefile
diff --git a/win32/Makefile.am b/win32/Makefile.am
index 9efb9c6..11e40dd 100644
--- a/win32/Makefile.am
+++ b/win32/Makefile.am
@@ -27,7 +27,8 @@ SUBDIRS =     \
        vs10    \
        vs11    \
        vs12    \
-       vs14
+       vs14    \
+       vs15
 
 EXTRA_DIST =   \
        unistd.h        \
diff --git a/win32/vs11/Makefile.am b/win32/vs11/Makefile.am
index bcbdc7f..e68e3ff 100644
--- a/win32/vs11/Makefile.am
+++ b/win32/vs11/Makefile.am
@@ -24,6 +24,5 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 11
 MSVC_VER_LONG = 2012
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs12/Makefile.am b/win32/vs12/Makefile.am
index d3f3a9b..8b0a752 100644
--- a/win32/vs12/Makefile.am
+++ b/win32/vs12/Makefile.am
@@ -24,6 +24,5 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 12
 MSVC_VER_LONG = 2013
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs14/Makefile.am b/win32/vs14/Makefile.am
index 9d48dd2..fd693f2 100644
--- a/win32/vs14/Makefile.am
+++ b/win32/vs14/Makefile.am
@@ -24,6 +24,5 @@ MSVC_BASE_VER = 10
 MSVC_BASE_VER_LONG = 2010
 MSVC_VER = 14
 MSVC_VER_LONG = 14
-MSVC_FORMAT_VER = 12
 
 include $(top_srcdir)/win32/Makefile-newvs.am
diff --git a/win32/vs15/Makefile.am b/win32/vs15/Makefile.am
new file mode 100644
index 0000000..85afd02
--- /dev/null
+++ b/win32/vs15/Makefile.am
@@ -0,0 +1,29 @@
+EXTRA_DIST =   \
+       pango.sln                               \
+       pango-build-defines.props               \
+       pango-ignore-fc.props                   \
+       pango-install-bin.props                 \
+       pango-install.props                     \
+       pango-prebuild.props                    \
+       pango-version-paths.props               \
+       pango.vcxproj                           \
+       pango.vcxproj.filters                   \
+       pangoft2.vcxproj                        \
+       pangoft2.vcxproj.filters                \
+       pangowin32.vcxproj                      \
+       pangowin32.vcxproj.filters              \
+       pangocairo.vcxproj                      \
+       pangocairo.vcxproj.filters              \
+       pango-install.vcxproj                   \
+       pango-install.vcxproj.filters           \
+       README.txt
+
+DISTCLEANFILES = $(EXTRA_DIST)
+
+MSVC_BASE_VER = 10
+MSVC_BASE_VER_LONG = 2010
+MSVC_VER = 15
+MSVC_VER_LONG = 15
+MSVC_TOOLSET = 141
+
+include $(top_srcdir)/win32/Makefile-newvs.am


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]