From 2e17348600d50501f837d0ad5ef6570212672555 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 18 Apr 2018 13:22:35 -0700 Subject: [PATCH] meson: Add windows defines to glapi These are needed to control the export or symbols due to differences between the way windows and *nix handle symbol exports. Reviewed-by: Eric Anholt (v2) Acked-by: Kristian H. Kristensen v5: - key NO_EXPORT off of shared-glapi instead of gles --- src/mapi/es1api/meson.build | 10 +++++++++- src/mapi/es2api/meson.build | 10 +++++++++- src/mapi/glapi/meson.build | 13 ++++++++++++- src/mapi/shared-glapi/meson.build | 10 +++++++++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/mapi/es1api/meson.build b/src/mapi/es1api/meson.build index 150f62f46d1..79f37970790 100644 --- a/src/mapi/es1api/meson.build +++ b/src/mapi/es1api/meson.build @@ -27,11 +27,19 @@ es1_glapi_mapi_tmp_h = custom_target( capture : true, ) +_es1_c_args = [] +if with_platform_windows + _es1_c_args += ['-D_GDI32_', '-DBUILD_GL32'] +endif + libglesv1_cm = shared_library( 'GLESv1_CM' + get_option('gles-lib-suffix'), ['../entry.c', es1_glapi_mapi_tmp_h], c_args : [ - c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE', + c_msvc_compat_args, + c_vis_args, + _es1_c_args, + '-DMAPI_MODE_BRIDGE', '-DMAPI_ABI_HEADER="@0@"'.format(es1_glapi_mapi_tmp_h.full_path()), gcc_lto_quirk, ], diff --git a/src/mapi/es2api/meson.build b/src/mapi/es2api/meson.build index 97e4ad25de6..4be142e846d 100644 --- a/src/mapi/es2api/meson.build +++ b/src/mapi/es2api/meson.build @@ -27,11 +27,19 @@ es2_glapi_mapi_tmp_h = custom_target( capture : true, ) +_es2_c_args = [] +if with_platform_windows + _es2_c_args += ['-D_GDI32_', '-DBUILD_GL32'] +endif + libgles2 = shared_library( 'GLESv2' + get_option('gles-lib-suffix'), ['../entry.c', es2_glapi_mapi_tmp_h], c_args : [ - c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE', + c_msvc_compat_args, + c_vis_args, + _es2_c_args, + '-DMAPI_MODE_BRIDGE', '-DMAPI_ABI_HEADER="@0@"'.format(es2_glapi_mapi_tmp_h.full_path()), gcc_lto_quirk, ], diff --git a/src/mapi/glapi/meson.build b/src/mapi/glapi/meson.build index 817dd57241d..1b8b685f207 100644 --- a/src/mapi/glapi/meson.build +++ b/src/mapi/glapi/meson.build @@ -25,7 +25,7 @@ inc_glapi = include_directories('.') static_glapi_files = [] static_glapi_args = [] -if ['apple', 'windows'].contains(with_dri_platform) +if with_dri and ['apple', 'windows'].contains(with_dri_platform) static_glapi_files += [glapi_gentable_c, glapitable_h] endif @@ -46,8 +46,19 @@ if with_shared_glapi '-DMAPI_ABI_HEADER="@0@"'.format(glapi_mapi_tmp_h.full_path()), gcc_lto_quirk, ] + if with_platform_windows + static_glapi_args += ['-D_GDI32_', '-DBUILD_GL32'] + endif else static_glapi_args += '-DMAPI_MODE_UTIL' + if with_platform_windows + static_glapi_args += ['-D_GDI32_', '-DBUILD_GL32', '-DKHRONOS_DLL_EXPORTS'] + if with_shared_glapi + static_glapi_args += '-D_GLAPI_DLL_EXPORTS' + else + static_glapi_args += '-D_GLAPI_NO_EXPORTS' + endif + endif static_glapi_files += files( 'glapi_dispatch.c', 'glapi_entrypoint.c', diff --git a/src/mapi/shared-glapi/meson.build b/src/mapi/shared-glapi/meson.build index 1847e17383b..ea97e1b9437 100644 --- a/src/mapi/shared-glapi/meson.build +++ b/src/mapi/shared-glapi/meson.build @@ -36,11 +36,19 @@ shared_glapi_mapi_tmp_h = custom_target( capture : true, ) +_glapi_c_args = [] +if with_platform_windows + _glapi_c_args += ['-D_GLAPI_DLL_EXPORTS'] +endif + libglapi = shared_library( 'glapi', [files_mapi_glapi, files_mapi_util, shared_glapi_mapi_tmp_h], c_args : [ - c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_GLAPI', + _glapi_c_args, + c_msvc_compat_args, + c_vis_args, + '-DMAPI_MODE_GLAPI', '-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path()), gcc_lto_quirk, ], -- 2.30.2