1################################################################################ 2# 3# webkitgtk 4# 5################################################################################ 6 7WEBKITGTK_VERSION = 2.32.4 8WEBKITGTK_SITE = https://www.webkitgtk.org/releases 9WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz 10WEBKITGTK_INSTALL_STAGING = YES 11WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause 12WEBKITGTK_LICENSE_FILES = \ 13 Source/WebCore/LICENSE-APPLE \ 14 Source/WebCore/LICENSE-LGPL-2.1 15WEBKITGTK_CPE_ID_VENDOR = webkitgtk 16WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf \ 17 enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ 18 libtasn1 libxml2 libxslt openjpeg sqlite webp woff2 19WEBKITGTK_CONF_OPTS = \ 20 -DENABLE_API_TESTS=OFF \ 21 -DENABLE_GAMEPAD=OFF \ 22 -DENABLE_GEOLOCATION=OFF \ 23 -DENABLE_GTKDOC=OFF \ 24 -DENABLE_INTROSPECTION=OFF \ 25 -DENABLE_MINIBROWSER=ON \ 26 -DENABLE_SPELLCHECK=ON \ 27 -DPORT=GTK \ 28 -DSILENCE_CROSS_COMPILATION_NOTICES=ON \ 29 -DUSE_LIBNOTIFY=OFF \ 30 -DUSE_LIBHYPHEN=OFF \ 31 -DUSE_OPENJPEG=ON \ 32 -DUSE_WOFF2=ON \ 33 -DUSE_WPE_RENDERER=OFF 34 35ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) 36WEBKITGTK_CONF_OPTS += \ 37 -DENABLE_BUBBLEWRAP_SANDBOX=ON \ 38 -DBWRAP_EXECUTABLE=/usr/bin/bwrap \ 39 -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy 40WEBKITGTK_DEPENDENCIES += libseccomp 41else 42WEBKITGTK_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF 43endif 44 45ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y) 46WEBKITGTK_CONF_OPTS += \ 47 -DENABLE_VIDEO=ON \ 48 -DENABLE_WEB_AUDIO=ON 49WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base 50else 51WEBKITGTK_CONF_OPTS += \ 52 -DENABLE_VIDEO=OFF \ 53 -DENABLE_WEB_AUDIO=OFF 54endif 55 56ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y) 57WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=ON 58else 59WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF 60endif 61 62# Only one target platform can be built, assume X11 > Wayland 63 64# GTK3-X11 target gives OpenGL from newer libgtk3 versions 65# Consider this better than EGL + maybe GLESv2 since both can't be built 66# 2D CANVAS acceleration requires OpenGL proper with cairo-gl 67ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) 68WEBKITGTK_CONF_OPTS += \ 69 -DENABLE_ACCELERATED_2D_CANVAS=ON \ 70 -DENABLE_GLES2=OFF \ 71 -DENABLE_GRAPHICS_CONTEXT_GL=ON \ 72 -DENABLE_X11_TARGET=ON 73WEBKITGTK_DEPENDENCIES += libgl \ 74 xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt 75# It can use libgtk2 for npapi plugins 76ifeq ($(BR2_PACKAGE_LIBGTK2),y) 77WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON 78WEBKITGTK_DEPENDENCIES += libgtk2 79else 80WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF 81endif 82else # !X11 83# GTK3-BROADWAY/WAYLAND needs at least EGL 84WEBKITGTK_DEPENDENCIES += libegl 85# GLESv2 support is optional though 86ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) 87WEBKITGTK_CONF_OPTS += \ 88 -DENABLE_GLES2=ON \ 89 -DENABLE_GRAPHICS_CONTEXT_GL=ON 90WEBKITGTK_DEPENDENCIES += libgles 91else 92# Disable general OpenGL (shading) if there's no GLESv2 93WEBKITGTK_CONF_OPTS += \ 94 -DENABLE_GLES2=OFF \ 95 -DENABLE_GRAPHICS_CONTEXT_GL=OFF 96endif 97# We must explicitly state the wayland target 98ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) 99WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON 100endif 101endif 102 103ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y) 104WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON 105else 106WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF 107endif 108 109ifeq ($(BR2_INIT_SYSTEMD),y) 110WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=ON 111WEBKITGTK_DEPENDENCIES += systemd 112else 113WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=OFF 114endif 115 116# JIT is not supported for MIPS r6, but the WebKit build system does not 117# have a check for these processors. The same goes for ARMv5 and ARMv6. 118# Disable JIT forcibly here and use the CLoop interpreter instead. 119# 120# Also, we have to disable the sampling profiler, which does NOT work 121# with ENABLE_C_LOOP. 122# 123# Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258 124# https://bugs.webkit.org/show_bug.cgi?id=172765 125# 126ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) 127WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF 128endif 129 130$(eval $(cmake-package)) 131