Mesa (master): scons: Ensure inttypes.h is always pre-included on MSVC.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sun Mar 22 08:23:37 UTC 2015


Module: Mesa
Branch: master
Commit: 15c5595bb144d8018ebd922c6914772958cbf2b2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15c5595bb144d8018ebd922c6914772958cbf2b2

Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Fri Mar 20 06:53:09 2015 +0000

scons: Ensure inttypes.h is always pre-included on MSVC.

It's a bit hackish couldn't find another solution.  See code comment
for details.   The warning is useful, so universally disabling doesn't
sound a good idea.

Fixes

   warning C4005: 'xxx' : macro redefinition

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 scons/gallium.py |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scons/gallium.py b/scons/gallium.py
index 7050412..b4df145 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -642,6 +642,13 @@ def generate(env):
             # disable all MSVC extensions.
             '-DYY_USE_CONST=',
         ])
+        # Flex relies on __STDC_VERSION__>=199901L to decide when to include
+        # C99 inttypes.h.  We always have inttypes.h available with MSVC
+        # (either the one bundled with MSVC 2013, or the one we bundle
+        # ourselves), but we can't just define __STDC_VERSION__ without
+        # breaking stuff, as MSVC doesn't fully support C99.  There's also no
+        # way to premptively include stdint.
+        env.Append(CCFLAGS = ['-FIinttypes.h'])
     if host_platform.system() == 'Windows':
         # Prefer winflexbison binaries, as not only they are easier to install
         # (no additional dependencies), but also better Windows support.




More information about the mesa-commit mailing list