xref: /OK3568_Linux_fs/buildroot/package/webkitgtk/webkitgtk.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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