[Mesa-dev] [PATCH 30/48] meson: for incluse of inttypes.h for glcpp with msvc
Dylan Baker
dylan at pnwbakers.com
Mon Jun 11 22:55:57 UTC 2018
Because we provide a copy if MSVC doesn't, and we need it to make flex
do what we want.
---
src/compiler/glsl/glcpp/meson.build | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/glcpp/meson.build b/src/compiler/glsl/glcpp/meson.build
index 09d44ddd687..80f51a3e48e 100644
--- a/src/compiler/glsl/glcpp/meson.build
+++ b/src/compiler/glsl/glcpp/meson.build
@@ -35,13 +35,23 @@ glcpp_lex = custom_target(
command : [prog_flex, '-o', '@OUTPUT@', '@INPUT@'],
)
+_extra_args = []
+if cpp.get_id() == 'msvc'
+ # 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.
+ _extra_args += '-FIinttypes.h'
+endif
+
libglcpp = static_library(
'glcpp',
[glcpp_lex, glcpp_parse, files('glcpp.h', 'pp.c')],
link_with : libmesa_util,
include_directories : [inc_common],
- c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args],
- cpp_args : [cpp_vis_args, cpp_msvc_compat_args],
+ c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args, _extra_args],
+ cpp_args : [cpp_vis_args, cpp_msvc_compat_args, _extra_args],
build_by_default : false,
)
--
2.17.1
More information about the mesa-dev
mailing list