From 3c8934343ba8bf6e5f86d1795f9be07603c452a2 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 18 Apr 2018 13:28:04 -0700 Subject: [PATCH] meson: build wgl state tracker v4: - Handle enable gles properly - Add comments about what various #defines do v5: - key NO_EXPORTS on shared glapi instead of gles. Acked-by: Kristian H. Kristensen --- src/gallium/meson.build | 3 ++ src/gallium/state_trackers/wgl/meson.build | 57 ++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/gallium/state_trackers/wgl/meson.build diff --git a/src/gallium/meson.build b/src/gallium/meson.build index 193a1e0f1c6..6a4e5c946db 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -205,6 +205,9 @@ if with_gallium_st_nine subdir('state_trackers/nine') subdir('targets/d3dadapter9') endif +if with_platform_windows + subdir('state_trackers/wgl') +endif if with_tests subdir('targets/graw-null') if with_glx == 'gallium-xlib' diff --git a/src/gallium/state_trackers/wgl/meson.build b/src/gallium/state_trackers/wgl/meson.build new file mode 100644 index 00000000000..ce6e9883e00 --- /dev/null +++ b/src/gallium/state_trackers/wgl/meson.build @@ -0,0 +1,57 @@ +# Copyright © 2018 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +inc_wgl = include_directories('.') +_c_args_wgl = [] +if not with_shared_glapi + # prevent _glapi_* from being declared __declspec(dllimport) + _c_args_wgl += '-D_GLAPI_NO_EXPORTS' +endif + +libwgl = static_library( + 'wgl', + files( + 'stw_context.c', + 'stw_device.c', + 'stw_ext_context.c', + 'stw_ext_extensionsstring.c', + 'stw_ext_pbuffer.c', + 'stw_ext_pixelformat.c', + 'stw_ext_rendertexture.c', + 'stw_ext_swapinterval.c', + 'stw_framebuffer.c', + 'stw_getprocaddress.c', + 'stw_nopfuncs.c', + 'stw_nopfuncs.h', + 'stw_pixelformat.c', + 'stw_st.c', + 'stw_tls.c', + 'stw_wgl.c', + ), + c_args : [ + '-D_GDI32_', # prevent wgl* being declared __declspec(dllimport) + '-DBUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers + '-DWIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx + _c_args_wgl + ], + include_directories : [ + inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_mapi, inc_mesa, + ], +) -- 2.30.2