[Mesa-dev] [PATCH 1/3] configure: Eliminate MSVC2008 compatibility.

Jose Fonseca jfonseca at vmware.com
Thu Feb 11 13:02:07 UTC 2016


We no longer need to build any part of Mesa with Windows SDK 7.0.7600 or
MSVC 2008.  MSVC 2013 will be the oldest we support.

In practice this means people are now free to declare variables in the
middle of blocks, on the whole Mesa tree.

Care should still be taken with variable length arrays and void pointer
arithmetic.
---
 configure.ac                             | 8 +-------
 src/gallium/auxiliary/Makefile.am        | 4 ++--
 src/gallium/drivers/llvmpipe/Makefile.am | 4 ++--
 src/gallium/drivers/softpipe/Makefile.am | 2 +-
 src/gallium/drivers/trace/Makefile.am    | 2 +-
 src/util/Makefile.am                     | 2 +-
 6 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/configure.ac b/configure.ac
index b05f33d..5fd05ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -305,8 +305,7 @@ if test "x$GCC" = xyes; then
 
     # Flags to help ensure that certain portions of the code -- and only those
     # portions -- can be built with MSVC:
-    # - src/util, src/gallium/auxiliary, and src/gallium/drivers/llvmpipe needs
-    #   to build with Windows SDK 7.0.7600, which bundles MSVC 2008
+    # - src/util, src/gallium/auxiliary, rc/gallium/drivers/llvmpipe, and
     # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
     #   supports most of C99)
     # - the rest has no compiler compiler restrictions
@@ -323,9 +322,6 @@ if test "x$GCC" = xyes; then
 		    AC_MSG_RESULT([yes])],
 		    AC_MSG_RESULT([no]));
     CFLAGS="$save_CFLAGS"
-
-    MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement"
-    MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS"
 fi
 if test "x$GXX" = xyes; then
     CXXFLAGS="$CXXFLAGS -Wall"
@@ -353,8 +349,6 @@ fi
 
 AC_SUBST([MSVC2013_COMPAT_CFLAGS])
 AC_SUBST([MSVC2013_COMPAT_CXXFLAGS])
-AC_SUBST([MSVC2008_COMPAT_CFLAGS])
-AC_SUBST([MSVC2008_COMPAT_CXXFLAGS])
 
 dnl even if the compiler appears to support it, using visibility attributes isn't
 dnl going to do anything useful currently on cygwin apart from emit lots of warnings
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 0ac5c98..82c2869 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -8,11 +8,11 @@ AM_CFLAGS = \
 	-I$(top_srcdir)/src/gallium/auxiliary/util \
 	$(GALLIUM_CFLAGS) \
 	$(VISIBILITY_CFLAGS) \
-	$(MSVC2008_COMPAT_CFLAGS)
+	$(MSVC2013_COMPAT_CFLAGS)
 
 AM_CXXFLAGS = \
 	$(VISIBILITY_CXXFLAGS) \
-	$(MSVC2008_COMPAT_CXXFLAGS)
+	$(MSVC2013_COMPAT_CXXFLAGS)
 
 libgallium_nir_la_SOURCES = \
 	$(NIR_SOURCES)
diff --git a/src/gallium/drivers/llvmpipe/Makefile.am b/src/gallium/drivers/llvmpipe/Makefile.am
index 1d3853e..85ae0ae 100644
--- a/src/gallium/drivers/llvmpipe/Makefile.am
+++ b/src/gallium/drivers/llvmpipe/Makefile.am
@@ -26,11 +26,11 @@ include $(top_srcdir)/src/gallium/Automake.inc
 AM_CFLAGS = \
 	$(GALLIUM_DRIVER_CFLAGS) \
 	$(LLVM_CFLAGS) \
-	$(MSVC2008_COMPAT_CFLAGS)
+	$(MSVC2013_COMPAT_CFLAGS)
 AM_CXXFLAGS= \
 	$(GALLIUM_DRIVER_CXXFLAGS) \
 	$(LLVM_CXXFLAGS) \
-	$(MSVC2008_COMPAT_CXXFLAGS)
+	$(MSVC2013_COMPAT_CXXFLAGS)
 
 noinst_LTLIBRARIES = libllvmpipe.la
 
diff --git a/src/gallium/drivers/softpipe/Makefile.am b/src/gallium/drivers/softpipe/Makefile.am
index 05126a5..fd77edc 100644
--- a/src/gallium/drivers/softpipe/Makefile.am
+++ b/src/gallium/drivers/softpipe/Makefile.am
@@ -25,7 +25,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
 
 AM_CFLAGS = \
 	$(GALLIUM_DRIVER_CFLAGS) \
-	$(MSVC2008_COMPAT_CFLAGS)
+	$(MSVC2013_COMPAT_CFLAGS)
 
 noinst_LTLIBRARIES = libsoftpipe.la
 
diff --git a/src/gallium/drivers/trace/Makefile.am b/src/gallium/drivers/trace/Makefile.am
index 6a8a74a..5640192 100644
--- a/src/gallium/drivers/trace/Makefile.am
+++ b/src/gallium/drivers/trace/Makefile.am
@@ -3,7 +3,7 @@ include $(top_srcdir)/src/gallium/Automake.inc
 
 AM_CFLAGS = \
 	$(GALLIUM_DRIVER_CFLAGS) \
-	$(MSVC2008_COMPAT_CFLAGS)
+	$(MSVC2013_COMPAT_CFLAGS)
 
 noinst_LTLIBRARIES = libtrace.la
 
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index e05a2c5..0935891 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -38,7 +38,7 @@ libmesautil_la_CPPFLAGS = \
 	-I$(top_srcdir)/src/gallium/auxiliary \
 	$(SHA1_CFLAGS) \
 	$(VISIBILITY_CFLAGS) \
-	$(MSVC2008_COMPAT_CFLAGS)
+	$(MSVC2013_COMPAT_CFLAGS)
 
 libmesautil_la_SOURCES = \
 	$(MESA_UTIL_FILES) \
-- 
2.5.0



More information about the mesa-dev mailing list