summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2015-02-26 16:46:48 +0000
committerJose Fonseca <jfonseca@vmware.com>2015-03-03 09:25:11 +0000
commit80c5bd7ef0319d14cd0362a763d9d15e9ba2c946 (patch)
tree0e0203c502bf84033f33ce50eb07c3a589201e94 /src
parent3d4d77a5dc7bc9f60d7845ff1d8d5b23f988232a (diff)
configure: Leverage gcc warn options to enable safe use of C99 features where possible.
The main objective of this change is to enable Linux developers to use more of C99 throughout Mesa, with confidence that the portions that need to be built with MSVC -- and only those portions --, stay portable. This is achieved by using the appropriate -Werror= options only on the places they need to be used. Unfortunately we still need MSVC 2008 on a few portions of the code (namely llvmpipe and its dependencies). I hope to eventually eliminate this so that we can use C99 everywhere, but there are technical/logistic challenges (specifically, newer Windows SDKs no longer bundle MSVC, instead require a full installation of Visual Studio, and that has hindered adoption of newer MSVC versions on our build processes.) Thankfully we have more directy control over our OpenGL driver, which is why we're now able to migrate to MSVC 2013 for most of the tree. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src')
-rw-r--r--src/egl/main/Makefile.am1
-rw-r--r--src/gallium/auxiliary/Makefile.am7
-rw-r--r--src/gallium/drivers/llvmpipe/Makefile.am6
-rw-r--r--src/gallium/state_trackers/egl/Makefile.am3
-rw-r--r--src/gallium/targets/egl-static/Makefile.am3
-rw-r--r--src/glsl/Makefile.am8
-rw-r--r--src/loader/Makefile.am1
-rw-r--r--src/mapi/Makefile.am4
-rw-r--r--src/mesa/Makefile.am10
-rw-r--r--src/util/Makefile.am3
10 files changed, 34 insertions, 12 deletions
diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
index d21d8a9eb5..a4db21016e 100644
--- a/src/egl/main/Makefile.am
+++ b/src/egl/main/Makefile.am
@@ -26,6 +26,7 @@ AM_CFLAGS = \
-I$(top_srcdir)/src/gbm/main \
$(DEFINES) \
$(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS) \
$(EGL_CFLAGS) \
-D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) \
-D_EGL_DRIVER_SEARCH_DIR=\"$(libdir)/egl\" \
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 4b6205797e..27a8b3fe42 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -12,9 +12,12 @@ noinst_LTLIBRARIES = libgallium.la
AM_CFLAGS = \
-I$(top_srcdir)/src/gallium/auxiliary/util \
$(GALLIUM_CFLAGS) \
- $(VISIBILITY_CFLAGS)
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2008_COMPAT_CXXFLAGS)
-AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
+AM_CXXFLAGS = \
+ $(VISIBILITY_CXXFLAGS) \
+ $(MSVC2008_COMPAT_CXXFLAGS)
libgallium_la_SOURCES = \
$(C_SOURCES) \
diff --git a/src/gallium/drivers/llvmpipe/Makefile.am b/src/gallium/drivers/llvmpipe/Makefile.am
index 0bd4282632..1d3853e41a 100644
--- a/src/gallium/drivers/llvmpipe/Makefile.am
+++ b/src/gallium/drivers/llvmpipe/Makefile.am
@@ -25,10 +25,12 @@ include $(top_srcdir)/src/gallium/Automake.inc
AM_CFLAGS = \
$(GALLIUM_DRIVER_CFLAGS) \
- $(LLVM_CFLAGS)
+ $(LLVM_CFLAGS) \
+ $(MSVC2008_COMPAT_CFLAGS)
AM_CXXFLAGS= \
$(GALLIUM_DRIVER_CXXFLAGS) \
- $(LLVM_CXXFLAGS)
+ $(LLVM_CXXFLAGS) \
+ $(MSVC2008_COMPAT_CXXFLAGS)
noinst_LTLIBRARIES = libllvmpipe.la
diff --git a/src/gallium/state_trackers/egl/Makefile.am b/src/gallium/state_trackers/egl/Makefile.am
index 31546a778c..f13fcb2ccb 100644
--- a/src/gallium/state_trackers/egl/Makefile.am
+++ b/src/gallium/state_trackers/egl/Makefile.am
@@ -27,7 +27,8 @@ include $(top_srcdir)/src/gallium/Automake.inc
AM_CFLAGS = \
$(GALLIUM_CFLAGS) \
- $(VISIBILITY_CFLAGS)
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
AM_CPPFLAGS = \
-I$(top_srcdir)/src/egl/main \
diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am
index 0056276469..653fab1510 100644
--- a/src/gallium/targets/egl-static/Makefile.am
+++ b/src/gallium/targets/egl-static/Makefile.am
@@ -31,7 +31,8 @@
include $(top_srcdir)/src/gallium/Automake.inc
AM_CFLAGS = \
- $(GALLIUM_TARGET_CFLAGS)
+ $(GALLIUM_TARGET_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
AM_CPPFLAGS = \
-I$(top_srcdir)/src/gallium/state_trackers/egl \
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
index 5a0a643daf..b466a3b5c5 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -33,8 +33,12 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/gtest/include \
-I$(top_builddir)/src/glsl/nir \
$(DEFINES)
-AM_CFLAGS = $(VISIBILITY_CFLAGS)
-AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
+AM_CFLAGS = \
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
+AM_CXXFLAGS = \
+ $(VISIBILITY_CXXFLAGS) \
+ $(MSVC2013_COMPAT_CXXFLAGS)
EXTRA_DIST = tests glcpp/tests README TODO glcpp/README \
glsl_lexer.ll \
diff --git a/src/loader/Makefile.am b/src/loader/Makefile.am
index 36ddba82bd..3d32279ea2 100644
--- a/src/loader/Makefile.am
+++ b/src/loader/Makefile.am
@@ -30,6 +30,7 @@ libloader_la_CPPFLAGS = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src \
$(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS) \
$(LIBUDEV_CFLAGS)
libloader_la_SOURCES = $(LOADER_C_FILES)
diff --git a/src/mapi/Makefile.am b/src/mapi/Makefile.am
index 6794682919..b0a6c8ca2d 100644
--- a/src/mapi/Makefile.am
+++ b/src/mapi/Makefile.am
@@ -39,7 +39,9 @@ EXTRA_DIST = \
glapi/SConscript \
shared-glapi/SConscript
-AM_CFLAGS = $(PTHREAD_CFLAGS)
+AM_CFLAGS = \
+ $(PTHREAD_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
AM_CPPFLAGS = \
$(DEFINES) \
$(SELINUX_CFLAGS) \
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index b6cb8f1117..5e9a82098f 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -136,8 +136,14 @@ noinst_LTLIBRARIES += libmesagallium.la
endif
AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS)
-AM_CFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CFLAGS)
-AM_CXXFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CXXFLAGS)
+AM_CFLAGS = \
+ $(LLVM_CFLAGS) \
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
+AM_CXXFLAGS = \
+ $(LLVM_CFLAGS) \
+ $(VISIBILITY_CXXFLAGS) \
+ $(MSVC2013_COMPAT_CXXFLAGS)
ARCH_LIBS =
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 9af233059b..29b66e70e9 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -34,7 +34,8 @@ libmesautil_la_CPPFLAGS = \
-I$(top_srcdir)/src/gallium/include \
-I$(top_srcdir)/src/gallium/auxiliary \
$(SHA1_CFLAGS) \
- $(VISIBILITY_CFLAGS)
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2008_COMPAT_CFLAGS)
libmesautil_la_SOURCES = \
$(MESA_UTIL_FILES) \