[Mesa-dev] [PATCH v2 16/49] meson: Add windows defines to glapi
Dylan Baker
dylan at pnwbakers.com
Tue Jul 10 23:17:44 UTC 2018
These are needed to control the export or symbols due to differences
between the way windows and *nix handle symbol exports.
---
src/mapi/es1api/meson.build | 10 +++++++++-
src/mapi/es2api/meson.build | 10 +++++++++-
src/mapi/glapi/meson.build | 13 ++++++++++++-
src/mapi/shared-glapi/meson.build | 9 ++++++++-
4 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/src/mapi/es1api/meson.build b/src/mapi/es1api/meson.build
index 657dc2d9eff..dcf0aa57492 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',
['../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()),
],
link_args : [ld_args_gc_sections],
diff --git a/src/mapi/es2api/meson.build b/src/mapi/es2api/meson.build
index da5198ed6e8..abd633fbb6b 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',
['../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()),
],
link_args : [ld_args_gc_sections],
diff --git a/src/mapi/glapi/meson.build b/src/mapi/glapi/meson.build
index 2509e19eaa3..9ecc29ece31 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
@@ -45,8 +45,19 @@ if with_shared_glapi
'-DMAPI_MODE_BRIDGE',
'-DMAPI_ABI_HEADER="@0@"'.format(glapi_mapi_tmp_h.full_path()),
]
+ 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_gles1 or with_gles2
+ 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 c7d136ced2c..e1f68691b48 100644
--- a/src/mapi/shared-glapi/meson.build
+++ b/src/mapi/shared-glapi/meson.build
@@ -36,11 +36,18 @@ 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, '-DMAPI_MODE_GLAPI',
+ _glapi_c_args,
+ c_msvc_compat_args,
+ '-DMAPI_MODE_GLAPI',
'-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path()),
],
link_args : [ld_args_gc_sections],
--
2.18.0
More information about the mesa-dev
mailing list