config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
	bool
	# ARM needs BLX, so v5t+
	default y if (BR2_arm || BR2_armeb) && !BR2_ARM_CPU_ARMV4
	default y if BR2_i386 || BR2_mips || BR2_mipsel || \
		BR2_sparc || BR2_x86_64
	depends on BR2_USE_MMU # libgail -> pango -> libglib2
	depends on BR2_DEPRECATED_SINCE_2015_08

# disabled on powerpc due to bug https://bugs.webkit.org/show_bug.cgi?id=113638

config BR2_PACKAGE_WEBKIT
	bool "webkit"
	depends on BR2_DEPRECATED_SINCE_2015_08
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_USE_WCHAR # enchant -> libglib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2; icu
	depends on BR2_PACKAGE_LIBGTK2
	depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
	depends on !BR2_BINFMT_FLAT # icu
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
	select BR2_PACKAGE_CAIRO
	select BR2_PACKAGE_CAIRO_PNG
	select BR2_PACKAGE_ENCHANT
	select BR2_PACKAGE_HARFBUZZ
	select BR2_PACKAGE_ICU
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBCURL
	select BR2_PACKAGE_LIBGAIL
	select BR2_PACKAGE_LIBSECRET
	select BR2_PACKAGE_LIBSOUP
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_LIBXSLT
	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.

	  Note that WebKit does not build with a toolchain using the
	  old linuxthreads library.

	  http://webkit.org/

comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
	depends on BR2_DEPRECATED_SINCE_2015_08
	depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU
