--- /dev/null
+config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
+ bool
+ # ARM needs BLX, so v5t+, BE completely untested so disabled
+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4
+ default y if BR2_aarch64 || BR2_aarch64_be
+ default y if BR2_i386 || BR2_x86_64
+ # Disabled on MIPS big endian due to sigbus
+ default y if BR2_mipsel || BR2_mips64el
+ # Disabled on PowerPC pending runtime testing
+ # Disabled on SuperH because of segfault
+ depends on BR2_USE_MMU # libglib2
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
+
+config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS_JIT
+ bool
+ # ARM needs NEON for JIT.
+ default y if BR2_ARM_CPU_HAS_NEON
+ # AArch64 is supported upstream but not well tested on big-endian mode.
+ default y if BR2_aarch64
+ # i386 & x86_64 don't have any special requirements.
+ default y if BR2_i386
+ default y if BR2_x86_64
+ # JIT is known not to work on MIPS64.
+ # Plain MIPS32 (pre R2) is not well tested and likely broken, and R6
+ # is unsupported, see https://bugs.webkit.org/show_bug.cgi?id=191258
+ # The MIPS support is completely untested in big-endian mode.
+ default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R2
+ default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R5
+
+comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.8, host gcc >= 4.8"
+ depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
+ depends on !BR2_BINFMT_FLAT
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
+ || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
+ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_HOST_GCC_AT_LEAST_4_8
+
+comment "wpewebkit needs an OpenGL ES w/ EGL backend"
+ depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
+ depends on !BR2_BINFMT_FLAT
+ depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
+
+config BR2_PACKAGE_WPEWEBKIT
+ bool "wpewebkit"
+ depends on !BR2_STATIC_LIBS # wayland
+ depends on !BR2_BINFMT_FLAT # icu
+ depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu
+ depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu
+ depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu
+ depends on BR2_USE_WCHAR # icu, libsoup
+ depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy
+ depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy
+ depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
+ select BR2_PACKAGE_CAIRO
+ select BR2_PACKAGE_CAIRO_PNG
+ select BR2_PACKAGE_HARFBUZZ
+ select BR2_PACKAGE_ICU
+ select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_LIBEPOXY
+ select BR2_PACKAGE_LIBGCRYPT
+ select BR2_PACKAGE_LIBPNG
+ select BR2_PACKAGE_LIBSOUP
+ select BR2_PACKAGE_LIBTASN1
+ select BR2_PACKAGE_LIBXSLT
+ select BR2_PACKAGE_WAYLAND
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
+ select BR2_PACKAGE_WEBP
+ select BR2_PACKAGE_WEBP_DEMUX
+ select BR2_PACKAGE_WPEBACKEND_FDO
+ help
+ WPE (Web Platform for Embedded) port of the WebKit engine,
+ to allow embedders to create simple and performant systems
+ based on Web platform technologies.
+
+ https://wpewebkit.org/
+
+if BR2_PACKAGE_WPEWEBKIT
+
+config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA
+ bool "multimedia support"
+ select BR2_PACKAGE_GSTREAMER1
+ select BR2_PACKAGE_GST1_PLUGINS_BAD
+ select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
+ select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX
+ select BR2_PACKAGE_GST1_LIBAV
+ help
+ This option pulls in all of the required dependencies
+ to enable multimedia (video/audio) support.
+
+if BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA
+
+config BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL
+ bool "use gstreamer-gl"
+ default y
+ depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
+ select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
+ help
+ Use the GStreamer GL elements for handling video content.
+ This is recommended as it improves performance of video
+ playback. In some target configurations incorrect rendering
+ might be produced, and disabling this option may help.
+
+endif
+
+config BR2_PACKAGE_WPEWEBKIT_WEBDRIVER
+ bool "WebDriver support"
+ help
+ Enable support for WebDriver. This will build and install the
+ WebKitWebDriver program in the target.
+
+endif
--- /dev/null
+################################################################################
+#
+# wpewebkit
+#
+################################################################################
+
+WPEWEBKIT_VERSION = 2.22.3
+WPEWEBKIT_SITE = http://www.wpewebkit.org/releases
+WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz
+WPEWEBKIT_INSTALL_STAGING = YES
+WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause
+WPEWEBKIT_LICENSE_FILES = \
+ Source/WebCore/LICENSE-APPLE \
+ Source/WebCore/LICENSE-LGPL-2.1
+WPEWEBKIT_DEPENDENCIES = host-gperf host-python host-ruby \
+ harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \
+ libpng libxslt wayland-protocols webp wpebackend-fdo
+
+WPEWEBKIT_CONF_OPTS = \
+ -DPORT=WPE \
+ -DENABLE_API_TESTS=OFF \
+ -DENABLE_MINIBROWSER=OFF
+
+ifeq ($(BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS_JIT),y)
+WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=ON
+else
+WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y)
+WPEWEBKIT_CONF_OPTS += \
+ -DENABLE_VIDEO=ON \
+ -DENABLE_WEB_AUDIO=ON
+WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
+else
+WPEWEBKIT_CONF_OPTS += \
+ -DENABLE_VIDEO=OFF \
+ -DENABLE_WEB_AUDIO=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y)
+WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
+WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad
+else
+WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WPEWEBKIT_WEBDRIVER),y)
+WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=ON
+else
+WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WOFF2),y)
+WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON
+WPEWEBKIT_DEPENDENCIES += woff2
+else
+WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
+endif
+
+$(eval $(cmake-package))