diff --git a/package/webkit/Config.in b/package/webkit/Config.in index 21da2b2392..c86eb94b83 100644 --- a/package/webkit/Config.in +++ b/package/webkit/Config.in @@ -31,6 +31,8 @@ config BR2_PACKAGE_WEBKIT select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBP select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_HAS_LIBGL help WebKit is an open source, standards compliant web browser engine. diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk index 21b535ffe1..6b04ccd26e 100644 --- a/package/webkit/webkit.mk +++ b/package/webkit/webkit.mk @@ -11,6 +11,10 @@ WEBKIT_INSTALL_STAGING = YES WEBKIT_DEPENDENCIES = host-ruby host-flex host-bison host-gperf enchant harfbuzz \ icu jpeg libcurl libgail libsecret libsoup libxml2 libxslt libgtk2 sqlite webp +WEBKIT_DEPENDENCIES += \ + $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \ + $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage) + # webkit-disable-tests.patch changes configure.ac therefore autoreconf required WEBKIT_AUTORECONF = YES WEBKIT_AUTORECONF_OPT = -I $(@D)/Source/autotools @@ -48,4 +52,21 @@ WEBKIT_CONF_OPT += \ WEBKIT_CONF_OPT += --with-target=x11 WEBKIT_DEPENDENCIES += xlib_libXt +ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy) +WEBKIT_CONF_OPT += --enable-gles2 +WEBKIT_DEPENDENCIES += libegl libgles +else +WEBKIT_CONF_OPT += --disable-gles2 +endif + +# gles/egl support is prefered over opengl by webkit configure +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +WEBKIT_CONF_OPT += --with-acceleration-backend=opengl +WEBKIT_DEPENDENCIES += libgl +else +# OpenGL/glx is auto-detected due to the presence of gl.h/glx.h, which is not +# enough, so disable glx and the use of the OpenGL acceleration backend here +WEBKIT_CONF_OPT += --disable-glx --with-acceleration-backend=none +endif + $(eval $(autotools-package))