From 4da82356bc71dd87e25041779b5fbe15da07e892 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 13 Mar 2019 15:32:14 +0800 Subject: [PATCH] meson: Enable GLES Windows builds via libANGLE Check whether the libepoxy library is built on Windows with support for GLES. If so, enable GLES/EGL support on Windows as well. --- gdk/win32/meson.build | 9 ++++++++- meson.build | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/gdk/win32/meson.build b/gdk/win32/meson.build index 343a9ff402..15043a9a1d 100644 --- a/gdk/win32/meson.build +++ b/gdk/win32/meson.build @@ -35,6 +35,13 @@ gdk_win32_public_headers = files( 'gdkwin32window.h', ) +GDK_WIN32_CFLAGS = ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'] + +if win32_has_egl + GDK_WIN32_CFLAGS += '-DGDK_WIN32_ENABLE_EGL' +endif + + install_headers(gdk_win32_public_headers, subdir: 'gtk-3.0/gdk/win32') install_headers('gdkwin32.h', subdir: 'gtk-3.0/gdk') @@ -44,5 +51,5 @@ gdk_win32_deps = [ # FIXME libgdk_win32 = static_library('gdk-win32', gdk_win32_sources, gdkconfig, gdkenum_h, include_directories: [confinc, gdkinc], - c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'], + c_args: GDK_WIN32_CFLAGS, dependencies: [gdk_deps, gdk_win32_deps]) diff --git a/meson.build b/meson.build index 67d386a74b..4b902f276e 100644 --- a/meson.build +++ b/meson.build @@ -584,6 +584,20 @@ if win32_enabled endif pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32'] backend_immodules += ['ime'] + +# Check whether libepoxy is built with EGL support on Windows + win32_has_egl = cc.links( + ''' + #include + + int main(int argc, char *argv[]) { + return epoxy_egl_version (EGL_NO_DISPLAY); + } + ''', + dependencies : epoxy_dep, + name : 'libepoxy supports EGL on Windows' + ) + endif # Check for bind_textdomain_codeset, including -lintl if GLib brings it in by