summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-10-18 15:11:39 -0700
committerDylan Baker <dylan@pnwbakers.com>2017-10-20 16:46:48 -0700
commit035ec7a2bb2d5e413ac945b8f012185a0e187d5e (patch)
treecfdcc4402a0769e0346efe1f2c0abadc670af47e
parent108d257a16859898f5ce02f4759c5c58f9b8c050 (diff)
meson: Add support for EGL glvnd
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Tested-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
-rw-r--r--src/egl/meson.build46
1 files changed, 44 insertions, 2 deletions
diff --git a/src/egl/meson.build b/src/egl/meson.build
index ade6810bf91..8ea8a5bbb69 100644
--- a/src/egl/meson.build
+++ b/src/egl/meson.build
@@ -70,6 +70,34 @@ linux_dmabuf_unstable_v1_client_protocol_h = custom_target(
command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'],
)
+g_egldispatchstubs_c = custom_target(
+ 'g_egldispatchstubs.c',
+ input : [
+ 'generate/gen_egl_dispatch.py', 'generate/eglFunctionList.py',
+ 'generate/egl.xml', 'generate/egl_other.xml'
+ ],
+ output : 'g_egldispatchstubs.c',
+ command : [
+ prog_python2, '@INPUT0@', 'source', '@INPUT1@', '@INPUT2@', '@INPUT3@'
+ ],
+ depend_files : files('generate/genCommon.py'),
+ capture : true,
+)
+
+g_egldispatchstubs_h = custom_target(
+ 'g_egldispatchstubs.h',
+ input : [
+ 'generate/gen_egl_dispatch.py', 'generate/eglFunctionList.py',
+ 'generate/egl.xml', 'generate/egl_other.xml'
+ ],
+ output : 'g_egldispatchstubs.h',
+ command : [
+ prog_python2, '@INPUT0@', 'header', '@INPUT1@', '@INPUT2@', '@INPUT3@'
+ ],
+ depend_files : files('generate/genCommon.py'),
+ capture : true,
+)
+
if with_platform_x11
files_egl += files('drivers/dri2/platform_x11.c')
if with_dri3
@@ -107,8 +135,22 @@ if cc.has_function('mincore')
c_args_for_egl += '-DHAVE_MINCORE'
endif
+if not with_glvnd
+ egl_lib_name = 'EGL'
+ egl_lib_version = '1.0.0'
+else
+ egl_lib_name = 'EGL_mesa'
+ egl_lib_version = '0'
+ files_egl += [g_egldispatchstubs_h, g_egldispatchstubs_c]
+ files_egl += files('main/eglglvnd.c', 'main/egldispatchstubs.c')
+ install_data(
+ 'main/50_mesa.json',
+ install_dir : join_paths(get_option('datadir'), 'glvnd', 'egl_vendor.d')
+ )
+endif
+
libegl = shared_library(
- 'EGL',
+ egl_lib_name,
files_egl,
c_args : [
c_vis_args,
@@ -125,7 +167,7 @@ libegl = shared_library(
link_args : [ld_args_bsymbolic, ld_args_gc_sections],
dependencies : [deps_for_egl, dep_dl, dep_libdrm, dep_clock, dep_thread],
install : true,
- version : '1.0.0',
+ version : egl_lib_version,
)
pkg.generate(