1config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
2	bool
3	default y if BR2_aarch64 || BR2_arm || \
4		BR2_i386 || BR2_x86_64 || \
5		BR2_mips || BR2_mips64
6	# -m32 flag is used for 32bit builds and host tools have
7	# limited architecture support
8	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
9	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
10	depends on !BR2_BINFMT_FLAT # qt5base-icu
11	depends on BR2_USE_MMU # libglib2, qt5base-dbus
12	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # re2
13
14comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 8, host gcc >= 4.9, dynamic library, threads, wchar"
15	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
16	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \
17		!BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
18		!BR2_HOST_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \
19		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
20
21comment "qt5webengine needs an OpenGL and EGL-capable backend"
22	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
23	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
24
25config BR2_PACKAGE_QT5WEBENGINE
26	bool "qt5webengine"
27	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
28	depends on !BR2_STATIC_LIBS # re2
29	depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo
30	depends on BR2_HOST_GCC_AT_LEAST_4_9 # qt5base-icu
31	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # re2
32	depends on BR2_TOOLCHAIN_HAS_THREADS # ffmpeg, libglib2, libvpx, qt5base-dbus
33	depends on BR2_USE_WCHAR # libglib2
34	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
35	depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
36	depends on BR2_PACKAGE_HAS_UDEV
37	select BR2_PACKAGE_HOST_NODEJS
38	# v8 (a chromium 3rd-party) compiles its internal host-tools with the
39	# same word size as the target. For 32-bits targets, it adds the -m32
40	# flag (for 64-bits, it adds the -m64 flag).
41	# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
42	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
43	select BR2_PACKAGE_FFMPEG
44	select BR2_PACKAGE_LCMS2
45	select BR2_PACKAGE_LIBEVENT
46	select BR2_PACKAGE_LIBGLIB2
47	select BR2_PACKAGE_LIBNSS
48	select BR2_PACKAGE_LIBVPX
49	select BR2_PACKAGE_LIBXKBCOMMON
50	select BR2_PACKAGE_LIBXML2
51	select BR2_PACKAGE_LIBXSLT
52	select BR2_PACKAGE_MINIZIP
53	select BR2_PACKAGE_OPUS
54	select BR2_PACKAGE_RE2
55	select BR2_PACKAGE_SNAPPY
56	select BR2_PACKAGE_WEBP
57	select BR2_PACKAGE_WEBP_DEMUX
58	select BR2_PACKAGE_WEBP_MUX
59	select BR2_PACKAGE_QT5BASE_DBUS
60	select BR2_PACKAGE_QT5BASE_EGLFS
61	select BR2_PACKAGE_QT5BASE_FONTCONFIG
62	select BR2_PACKAGE_QT5BASE_HARFBUZZ
63	select BR2_PACKAGE_QT5BASE_JPEG
64	select BR2_PACKAGE_QT5BASE_ICU
65	select BR2_PACKAGE_QT5BASE_GUI
66	select BR2_PACKAGE_QT5BASE_PNG
67	select BR2_PACKAGE_QT5BASE_WIDGETS
68	select BR2_PACKAGE_QT5DECLARATIVE
69	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
70	select BR2_PACKAGE_QT5QUICKCONTROLS
71	select BR2_PACKAGE_QT5QUICKCONTROLS2
72	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
73	select BR2_PACKAGE_QT5WEBCHANNEL
74	select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM
75	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
76	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
77	select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
78	select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB
79	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
80	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
81	select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
82	help
83	  The Qt WebEngine module provides a web browser engine that
84	  makes it easy to embed content from the World Wide Web into
85	  your Qt application.
86
87	  Qt WebEngine provides C++ classes and QML types for rendering
88	  HTML, XHTML, and SVG documents, styled using Cascading Style
89	  Sheets (CSS) and scripted with JavaScript. HTML documents can
90	  be made fully editable by the user through the use of the
91	  contenteditable attribute on HTML elements.
92
93	  https://doc.qt.io/qt-5/qtwebengine-index.html
94
95if BR2_PACKAGE_QT5WEBENGINE
96
97config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
98	bool "proprietary codecs"
99	help
100	  Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format,
101	  which includes required proprietary audio and video codecs,
102	  such as H.264 and MPEG layer-3 (MP3).
103
104config BR2_PACKAGE_QT5WEBENGINE_ALSA
105	bool "alsa"
106	select BR2_PACKAGE_ALSA_LIB
107	select BR2_PACKAGE_ALSA_LIB_MIXER
108	select BR2_PACKAGE_ALSA_LIB_RAWMIDI
109	select BR2_PACKAGE_ALSA_LIB_HWDEP
110	select BR2_PACKAGE_ALSA_LIB_SEQ
111	help
112	  Enable ALSA support.
113
114endif
115