build: Check for EGL support in libepoxy on Windows

...EGL support needs to be explicitly enabled during the build of
libepoxy on Windows as it is not enabled by default on Windows.

With this, we can add an EGL renderer for Windows that make use of
Google's libANGLE, which is a library that translates OpenGL/ES calls
to Direct3D 9/11, which will provide better hardware compatibility
on Windows and would act as one of the foundations to resolve issue #105.
This commit is contained in:
Chun-wei Fan 2018-06-22 15:02:24 +08:00
parent 0b11e78064
commit 12a23162b3
2 changed files with 23 additions and 1 deletions

View File

@ -43,6 +43,12 @@ gdk_win32_public_headers = files([
install_headers(gdk_win32_public_headers, 'gdkwin32.h', subdir: 'gtk-4.0/gdk/win32/')
GDK_WIN32_EGL_CFLAGS = []
if win32_has_egl
GDK_WIN32_EGL_CFLAGS = ['-DGDK_WIN32_ENABLE_EGL']
endif
gdk_win32_deps = [ # FIXME
pangowin32_dep
]
@ -50,5 +56,5 @@ gdk_win32_deps = [ # FIXME
libgdk_win32 = static_library('gdk-win32',
gdk_win32_sources, gdkconfig, gdkenum_h,
include_directories: [confinc, gdkinc],
c_args: ['-DGTK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'],
c_args: ['-DGTK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'] + GDK_WIN32_EGL_CFLAGS,
dependencies: [gdk_deps, gdk_win32_deps])

View File

@ -607,6 +607,22 @@ 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 <epoxy/egl.h>
int main(int argc, char *argv[])
{
EGLDisplay disp = EGL_NO_DISPLAY;
return epoxy_egl_version (disp);
}
''',
dependencies : epoxy_dep,
name : 'libepoxy supports EGL on Windows'
)
endif
# Check for bind_textdomain_codeset, including -lintl if GLib brings it in by