config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
	bool
	default y if BR2_aarch64 || BR2_arm || \
		BR2_i386 || BR2_x86_64 || \
		BR2_mips || BR2_mips64
	# -m32 flag is used for 32bit builds and host tools have
	# limited architecture support
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
	depends on !BR2_BINFMT_FLAT # qt5base-icu
	depends on BR2_USE_MMU # libglib2, qt5base-dbus

comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 7, threads, wchar, host gcc >= 7"
	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \
		!BR2_HOST_GCC_AT_LEAST_7 || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR

comment "qt5webengine needs an OpenGL and EGL-capable backend"
	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL

config BR2_PACKAGE_QT5WEBENGINE
	bool "qt5webengine"
	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # qt5base-icu
	depends on BR2_HOST_GCC_AT_LEAST_7 # qt5base-icu
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libvpx
	depends on BR2_USE_WCHAR # libglib2
	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
	depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
	depends on BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_HOST_NODEJS
	# v8 (a chromium 3rd-party) compiles its internal host-tools with the
	# same word size as the target. For 32-bits targets, it adds the -m32
	# flag (for 64-bits, it adds the -m64 flag).
	# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
	select BR2_PACKAGE_LCMS2
	select BR2_PACKAGE_LIBEVENT
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBNSS
	select BR2_PACKAGE_LIBVPX
	select BR2_PACKAGE_LIBXKBCOMMON
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_LIBXSLT
	select BR2_PACKAGE_MINIZIP
	select BR2_PACKAGE_OPUS
	select BR2_PACKAGE_SNAPPY
	select BR2_PACKAGE_WEBP
	select BR2_PACKAGE_WEBP_DEMUX
	select BR2_PACKAGE_WEBP_MUX
	select BR2_PACKAGE_QT5BASE_DBUS
	select BR2_PACKAGE_QT5BASE_EGLFS
	select BR2_PACKAGE_QT5BASE_FONTCONFIG
	select BR2_PACKAGE_QT5BASE_HARFBUZZ
	select BR2_PACKAGE_QT5BASE_JPEG
	select BR2_PACKAGE_QT5BASE_ICU
	select BR2_PACKAGE_QT5BASE_GUI
	select BR2_PACKAGE_QT5BASE_PNG
	select BR2_PACKAGE_QT5BASE_WIDGETS
	select BR2_PACKAGE_QT5DECLARATIVE
	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
	select BR2_PACKAGE_QT5QUICKCONTROLS
	select BR2_PACKAGE_QT5QUICKCONTROLS2
	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
	select BR2_PACKAGE_QT5WEBCHANNEL
	select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM
	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
	select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
	help
	  The Qt WebEngine module provides a web browser engine that
	  makes it easy to embed content from the World Wide Web into
	  your Qt application.

	  Qt WebEngine provides C++ classes and QML types for rendering
	  HTML, XHTML, and SVG documents, styled using Cascading Style
	  Sheets (CSS) and scripted with JavaScript. HTML documents can
	  be made fully editable by the user through the use of the
	  contenteditable attribute on HTML elements.

	  https://doc.qt.io/qt-5/qtwebengine-index.html

if BR2_PACKAGE_QT5WEBENGINE

config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
	bool "proprietary codecs"
	help
	  Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format,
	  which includes required proprietary audio and video codecs,
	  such as H.264 and MPEG layer-3 (MP3).

config BR2_PACKAGE_QT5WEBENGINE_ALSA
	bool "alsa"
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_MIXER
	select BR2_PACKAGE_ALSA_LIB_RAWMIDI
	select BR2_PACKAGE_ALSA_LIB_HWDEP
	select BR2_PACKAGE_ALSA_LIB_SEQ
	help
	  Enable ALSA support.

endif
