[Mesa-dev] [PATCH] scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds.
jfonseca at vmware.com
jfonseca at vmware.com
Thu Mar 14 10:41:47 PDT 2013
From: José Fonseca <jfonseca at vmware.com>
scons/llvm.py defines inline globally to workaround issues with LLVM C
binding headers, so the only way to is to avoid
aggravating xkeycheck.h errors is to set _ALLOW_KEYWORD_MACROS.
This fixes MSVC 2012 build with LLVM.
---
include/c99_compat.h | 8 +++-----
scons/gallium.py | 1 +
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/include/c99_compat.h b/include/c99_compat.h
index 3a9f502..429c601 100644
--- a/include/c99_compat.h
+++ b/include/c99_compat.h
@@ -37,12 +37,10 @@
* Visual Studio 2012 will complain if we define the `inline` keyword, but
* actually it only supports the keyword on C++.
*
- * We could skip this check by defining _ALLOW_KEYWORD_MACROS, but there is
- * probably value in checking this for other keywords. So simply include
- * the checking before we define it below.
+ * To avoid this the _ALLOW_KEYWORD_MACROS must be set.
*/
-# if _MSC_VER >= 1700
-# include <xkeycheck.h>
+# if (_MSC_VER >= 1700) && !defined(_ALLOW_KEYWORD_MACROS)
+# define _ALLOW_KEYWORD_MACROS
# endif
/*
diff --git a/scons/gallium.py b/scons/gallium.py
index 4b51b6e..4d3de82 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -289,6 +289,7 @@ def generate(env):
'_CRT_SECURE_NO_DEPRECATE',
'_SCL_SECURE_NO_WARNINGS',
'_SCL_SECURE_NO_DEPRECATE',
+ '_ALLOW_KEYWORD_MACROS',
]
if env['build'] in ('debug', 'checked'):
cppdefines += ['_DEBUG']
--
1.7.9.5
More information about the mesa-dev
mailing list