[Mesa-dev] [PATCH] scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds.

Brian Paul brianp at vmware.com
Thu Mar 14 12:00:36 PDT 2013


On 03/14/2013 11:41 AM, jfonseca at vmware.com wrote:
> 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']

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


More information about the mesa-dev mailing list